常用应用:
数据库安装及运行操作 参阅 安装mariadb数据库
安装Cloudreve 参阅:NAS运行常用管理命令
Frps/frpc客户端管理命令 参阅:NAS运行常用管理命令 Frp内网穿透使用
CHFS客户端管理命令 参阅: Chfs安装运行
安装Cloudreve 参阅:NAS运行常用管理命令
安装nextcloud 参阅: 安装nextcloud
安装openmediavault (仅限debian) 参阅:安装openmediavault
安装samba服务 参阅:samba服务器安装配置
安装Godns服务 参阅:GoDNS安装配置
常用命令:
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
#清理系统垃圾:(按需要安装 sudo apt-get install aptitude )
sudo apt install curl
sudo apt install unzip
sudo find /var/log/ -type f -mtime +1 -exec rm -f {} \;
sudo find /var/log -mtime +1 -name "*.log" -exec rm -rf {} \;
screen -S update
#恢复后台窗口
screen -r update
退出指定会话 screen -X -S + session id quit
screen -X -S session_id quit
#大内存专用,关闭swap分区:
swapoff -a
常用磁盘操作命令:
软件包安装卸载操作命令:
#安装软件包:文件目录操作:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
echo "1" > /proc/sys/net/ipv4/ip_forward
sysctl -p
#设置硬盘休眠
修改/etc/hdparm.conf
文件内容末尾加上下面的配置 (请修改为自己的目录)
/dev/disk/by-id/usb-ST1000LM_024_HN-M101MBB_0000000000000033-0:0 {
acoustic_management = 127
apm = 192
spindown_time = 120
write_cache = on
}
然后执行
sudo /usr/lib/pm-utils/power.d/95hdparm-apm resume
重启后生效
在5分没使用硬盘的情况下, 硬盘会自动休眠
ps :
/dev/disk/by-id/* 自己去看下这个目录下自己的文件名
spindown_time 60 计算参考
0 = disabled
1..240 = multiples of 5 seconds (5 seconds to 20 minutes)
241..251 = 1..11 x 30 mins
252 = 21 mins
253 = vendor defined (8..12 hours)
254 = reserved
255 = 21 mins + 15 secs
write_cache 写缓存自己决定是否要开启,可以使用off
方法二
本文介绍如何自动关闭机械盘节电。
我们使用的命令是hdparm。详细说明可在命令行中执行
man hdparm
-S参数可以设置磁盘进入待命状态 (Standby/Spindown)的超时时间。该值用以确定磁盘在处于无活动状态多长时间后关闭旋转电机。
-B为磁盘的电源管理参数。它的取值用于平衡磁盘的性能与电耗。当取值大于127(除255)时磁盘将不会断电。取值255意味着关闭电源管理功能。为了让磁盘能自动断电,我们将该值取127.
这里-S取值设定逻辑比较奇怪,本处列出部分常见取值供选:30 = 2 min 30 sec
60 = 5 minutes
120 = 10 minutes
180 = 15 minutes
241 = 30 minutes
242 = 1 hour
243 = 1.5 hours
244 = 2 hours
2.使硬盘立马进入省电状态
hdparm -Y /dev/sda
策略可以是编辑定时任务列表
sudo vi /etc/crontab
加入如下一行(10分钟一次使硬盘进入休眠状态)
*/10 * * * * root hdparm -Y /dev/sda
3.检查硬盘当前省电状态
sudo hdparm -C /dev/sda
修改/etc/hdparm.conf
文件内容末尾加上下面的配置 (请修改为自己的目录)
/dev/disk/by-id/usb-ST1000LM_024_HN-M101MBB_0000000000000033-0:0 {
acoustic_management = 127
apm = 192
spindown_time = 120
write_cache = on
}
然后执行
sudo /usr/lib/pm-utils/power.d/95hdparm-apm resume
重启后生效
在5分没使用硬盘的情况下, 硬盘会自动休眠
ps :
/dev/disk/by-id/* 自己去看下这个目录下自己的文件名
spindown_time 60 计算参考
0 = disabled
1..240 = multiples of 5 seconds (5 seconds to 20 minutes)
241..251 = 1..11 x 30 mins
252 = 21 mins
253 = vendor defined (8..12 hours)
254 = reserved
255 = 21 mins + 15 secs
write_cache 写缓存自己决定是否要开启,可以使用off
方法二
本文介绍如何自动关闭机械盘节电。
我们使用的命令是hdparm。详细说明可在命令行中执行
man hdparm
-S参数可以设置磁盘进入待命状态 (Standby/Spindown)的超时时间。该值用以确定磁盘在处于无活动状态多长时间后关闭旋转电机。
-B为磁盘的电源管理参数。它的取值用于平衡磁盘的性能与电耗。当取值大于127(除255)时磁盘将不会断电。取值255意味着关闭电源管理功能。为了让磁盘能自动断电,我们将该值取127.
这里-S取值设定逻辑比较奇怪,
60 = 5 minutes
120 = 10 minutes
180 = 15 minutes
241 = 30 minutes
242 = 1 hour
243 = 1.5 hours
244 = 2 hours
2.使硬盘立马进入省电状态
hdparm -Y /dev/sda
策略可以是编辑定时任务列表
sudo vi /etc/crontab
加入如下一行(10分钟一次使硬盘进入休眠状态)
*/10 * * * * root hdparm -Y /dev/sda
3.检查硬盘当前省电状态
sudo hdparm -C /dev/sda
优先物理内存使用
vim /etc/sysctl.conf
-添加:
vm.swappiness=0
-到末行,需要重启生效。
#安装armbian到EMMC
写入:./install.sh
完成后断电拔下SD卡,插入电源重启。
#实现系统重启后自动挂载该分区vi /etc/fstab方式一:#/dev/sdb1(磁盘分区) /data1(挂载目录) ext4(文件格式)defaults 0 0/dev/mapper/nas--vg-buckups /media/imgs ext4 defaults 1 2#卸载命令为:umount /dev/mapper/nas--vg-buckups方式二:#实现系统重启后自动挂载该分区,UUID方式挂载,示例:使用 ls -l /dev/disk/by-uuid/ 命令,可以查看各个分区对应的uuid先查看硬盘设备的UUID,示例:/dev/vdablkid /dev/sda#回显/dev/sda: UUID="93d8f11a-0823-46e2-bde4-0b545de7a180" TYPE="ext4"vi /etc/fstab#UUID=93d8f11a-0823-46e2-bde4-0b545de7a180(磁盘分区) /media/Data(挂载目录) ext4(文件格式)defaults 0 0UUID=93d8f11a-0823-46e2-bde4-0b545de7a180 /media/Data ext4 defaults 0 2
#在开机状态下新增磁盘
执行下面的命令刷新SCSI设备
echo "- - -" > /sys/class/scsi_host/host0/scan
硬盘工作状态查看:对于Debian,Ubuntu系统:apt install smartmontools比如说我的硬盘挂载在/dev/sda,使用如下命令查看:smartctl --all /dev/sda1 发现并没有读到我们想要的信息,需要把SMART 打开,使用如下命令:smartctl -s on --all /dev/sda可以使用管道直接看到上电使用时间:smartctl -s on --all /dev/sda | grep Power_On_Hours结果如下:9 Power_On_Hours 0x0032 094 094 000 Old_age Always - 2648最后一个数字2648表示用了2648小时了。如果你读取用USB连接的移动硬盘时,很可能会出现错误,那么可以使用如下命令:smartctl -d sat --all /dev/sda
写入:./install.sh
完成后断电拔下SD卡,插入电源重启。
执行下面的命令刷新SCSI设备
echo "- - -" > /sys/class/scsi_host/host0/scan
安装1Panel管理面板服务
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
listen = /run/php/php8.1-fpm.sock 改为 listen = 127.0.0.1:9000
编辑OpenResty中网站配置文件: location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}
root /www/sites/rc.x0x.cn/index;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
#把请求转给此IP地址处理
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /opt/1panel/apps/openresty/TCP/www/sites/rc.x0x.cn/index$fastcgi_script_name; #红色部分表示在php所在主机的那个位置找请求文件改为存放php文件目录的地方。
include fastcgi_params;
}
apt install php-fpm php-json php-cgi php-cli php-mbstring ethtool python3-dialog acl xfsprogs jfsutils ntfs-3g sdparm postfix bsd-mailx cpufrequtils smartmontools uuid nfs-kernel-server proftpd-basic sshpass samba samba-common-bin rsync avahi-daemon libnss-mdns beep php-bcmath gdisk rrdtool collectd anacron cron-apt quota php-xml quotatool lvm2 watchdog libjson-perl liblocale-po-perl proftpd-mod-vroot libjavascript-minifier-xs-perl xmlstarlet socat rrdcached nginx wpasupplicant btrfs-progs samba-vfs-modules python3-pyudev python3-natsort jq chrony python3-netifaces python3-lxml salt-minion php-yaml python-click python3-click
备份:
tar -P -cvpzf /media/backup.tgz --exclude=/media/backup.tgz --exclude=/media/* --exclude=/boot --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/dev --exclude=/tmp --exclude=/var/log/* --exclude=/root/.bash_history /
还原:
恢复前清理准备
cd /
rm -rf /tmp/root/*
rm -rf /usr/*
rm -rf /home/useradmin/*
rm -rf /var/*
rm -rf /sbin/*
正式还原命令
tar -P -xpzvf /media/backup.tgz -C /
新建备份目录示例
sudo mkdir /run//backup
删除备份文件示例
rm /run/backup.tgz
移动文件示例
mv /home/backup.tgz /run/backup/
最后讲一下第三条命令的注意事项,(总结他人输入失误的命令提取而来)
1、tar的用法:tar -参数 创建的文档 被压缩的目录或文档
由于被压缩的是根目录,很容易忽略掉 ”/“
2、exclude前面是两个连字符”--“,不是破折号也不是下划线,
3、exclude后面是”=“ ,用”-“符号又是其他意思
4、exclude后面接的是文档或者目录,如果要表示某个目录下面的全部文件,就用“*"符号,例子:--exclude=/home/* 如果写成--exclude=/home/ 就错了
5、最后,请在enter之前检查一遍命令是否有输入失误。
恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:
mkdir dev lost+found media mnt proc run sys tmp
或
mkdir proc && mkdir lost+found && mkdir mnt && mkdir sys && mkdir media && mkdir dev && mkdir /tmp && mkdir /var/log/
自动挂载USB设备
记录使用udev自动挂载SD卡和U盘的方法。方法适用于各种linux带udev的系统。
usb挂载,sd卡挂载,udev使用,debian udev自动挂载,ubuntu自动挂载,嵌入式自动挂载,arm自动挂载,开发板自动挂载
一、添加udev规则
确认你系统有udev,然后,创建自动挂载的udev规则文件,具体规则参照上面的链接,位置: /etc/udev/rules.d/
cd /etc/udev/rules.d/
sudo touch 11-add-usb.rules
sudo touch 11-add-remove.rules
上面的规则,一个是自动挂着的规则,里面包含自动挂载usb和自动挂载sd卡的规则。命名方式要注意:
我们只需要创建了rules文件就好了,只要命名规则对了,udev会自动生效。
udev 是按照规则文件的字母顺序来解析各规则文件的,并根据匹配上的规则创建对应的设备文件或链接。所以,解析的顺序很重要,为了使自定义的规则生效,可以把规则写入较前的规则文件中,例如20-names.rules
二、SD卡自动挂载
在上述的规则文件11-add-usb.rules中,加入如下内容,就是如何挂着的方法,有严格的规则,详细 百度/必应/谷歌/ 一下“udev规则”,这里不叙述。
ACTION=="add",GOTO="farsight", KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/etc/mount-sd.sh %k", LABEL="farsight"
这个意思是如果发现sd卡插入,那么运行/etc/mount-sd.sh这个脚本!这个脚本后面还带一个参数 %K,这个%k就是linux内核发现的新的设备名字。
三、U盘自动挂载
接着, 还是11-add-usb.rules, 继续在下一行,或者隔一行,加入如下内容:
ACTION=="add",GOTO="farsight",KERNEL=="sd[a-z][0-9]",RUN+="/etc/mount-usb.sh %k",LABEL="farsight"
这个意思是如果发现USB卡插入,那么运行/etc/mount-usb.sh这个脚本!这个脚本后面还带一个参数 %K,这个%k就是linux内核发现的新的设备名字。
最后,整个/etc/udev/rules/11-add-usb.rules:
ACTION=="add",GOTO="farsight", KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/etc/mount-sd.sh %k", LABEL="farsight"
ACTION=="add",GOTO="farsight",KERNEL=="sd[a-z][0-9]",RUN+="/etc/mount-usb.sh %k",LABEL="farsight"
四、卸载SD卡
在上述的规则文件11-add-remove.rules(这个是移除u盘和sd卡的规则,上面是加载的规则,不一样)中,加入如下内容:
ACTION=="remove",GOTO="farsight", SUBSYSTEM=="block",GOTO="farsight", KERNEL=="mmcblk[0-9]p[0-9]",RUN+="/etc/umount-sd.sh", LABEL="farsight"
五、卸载U盘
接着上一步,在同一个文件里面,隔行,继续加入如下内容:
ACTION=="remove",GOTO="farsight",SUBSYSTEM=="block",GOTO="farsight",KERNEL=="sd[a-z][0-9]",RUN+="/etc/umount-usb.sh",LABEL="farsight"
最后,整个/etc/udev/rules/11-add-remove.rules文件如下:
CTION=="remove",GOTO="farsight", SUBSYSTEM=="block",GOTO="farsight", KERNEL=="mmcblk[0-9]p[0-9]",RUN+="/etc/umount-sd.sh", LABEL="farsight"
ACTION=="remove",GOTO="farsight",SUBSYSTEM=="block",GOTO="farsight",KERNEL=="sd[a-z][0-9]",RUN+="/etc/umount-usb.sh",LABEL="farsight"
六、创建挂载的目录
mkdir /mnt/sd -p
mkdir /mnt/usb -p
上面两个目录的路径和命名,要根据你自己的需要求来创建。我这里是随便写的。
七、添加脚本
—->创建脚本 /etc/mount-sd.sh, 这个脚本对应上面的udev规则里面的脚本,是一个专门用于挂载sd卡的脚本,创建后,填入如下内容并保存:
#!/bin/sh
/bin/mount -t vfat /dev/$1 /mnt/sd
sync
保存后,记得添加可执行权限: chmod +x /etc/mount-sd.sh
—-> 创建脚本 /etc/umount-sd.sh, 这个脚本对应上面的udev规则里面的脚本,是一个专门用于umount sd卡的脚本,创建后,填入如下内容并保存:
#!/bin/sh
sync
umount /mnt/sd
保存后,记得添加可执行权限: chmod +x /etc/umount-sd.sh
—-> 创建脚本 /etc/mount-usb.sh, 这个脚本对应上面的udev规则里面的脚本,是一个专门用于挂载usb的脚本,创建后,填入如下内容并保存:
#!/bin/sh
mount -t vfat /dev/$1 /mnt/usb
sync
为此文件添加可执行权限,切记。
chmod +x /etc/mount-usb.sh
—-> 创建脚本 /etc/umount-usb.sh, 这个脚本对应上面的udev规则里面的脚本,是一个专门用于umount usb的脚本,创建后,填入如下内容并保存:
#!/bin/sh
sync
umount /mnt/usb
为此文件添加可执行权限,切记。
chmod +x /etc/umount-usb.sh
八、完成,重启设备/电脑,
插入usb或者sd卡,对应的usb和sd卡,会自动挂载在/mnt/usb 和 /mnt/sd中!
记录使用udev自动挂载SD卡和U盘的方法。方法适用于各种linux带udev的系统。
usb挂载,sd卡挂载,udev使用,debian udev自动挂载,ubuntu自动挂载,嵌入式自动挂载,arm自动挂载,开发板自动挂载
一、添加udev规则
确认你系统有udev,然后,创建自动挂载的udev规则文件,具体规则参照上面的链接,位置: /etc/udev/rules.d/
cd /etc/udev/rules.d/
sudo touch 11-add-usb.rules
sudo touch 11-add-remove.rules
上面的规则,一个是自动挂着的规则,里面包含自动挂载usb和自动挂载sd卡的规则。命名方式要注意:
我们只需要创建了rules文件就好了,只要命名规则对了,udev会自动生效。
udev 是按照规则文件的字母顺序来解析各规则文件的,并根据匹配上的规则创建对应的设备文件或链接。所以,解析的顺序很重要,为了使自定义的规则生效,可以把规则写入较前的规则文件中,例如20-names.rules
二、SD卡自动挂载
在上述的规则文件11-add-usb.rules中,加入如下内容,就是如何挂着的方法,有严格的规则,详细 百度/必应/谷歌/ 一下“udev规则”,这里不叙述。
ACTION=="add",GOTO="farsight", KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/etc/mount-sd.sh %k", LABEL="farsight"
这个意思是如果发现sd卡插入,那么运行/etc/mount-sd.sh这个脚本!这个脚本后面还带一个参数 %K,这个%k就是linux内核发现的新的设备名字。
三、U盘自动挂载
接着, 还是11-add-usb.rules, 继续在下一行,或者隔一行,加入如下内容:
ACTION=="add",GOTO="farsight",KERNEL=="sd[a-z][0-9]",RUN+="/etc/mount-usb.sh %k",LABEL="farsight"
这个意思是如果发现USB卡插入,那么运行/etc/mount-usb.sh这个脚本!这个脚本后面还带一个参数 %K,这个%k就是linux内核发现的新的设备名字。
最后,整个/etc/udev/rules/11-add-usb.rules:
ACTION=="add",GOTO="farsight", KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/etc/mount-sd.sh %k", LABEL="farsight"
ACTION=="add",GOTO="farsight",KERNEL=="sd[a-z][0-9]",RUN+="/etc/mount-usb.sh %k",LABEL="farsight"
四、卸载SD卡
在上述的规则文件11-add-remove.rules(这个是移除u盘和sd卡的规则,上面是加载的规则,不一样)中,加入如下内容:
ACTION=="remove",GOTO="farsight", SUBSYSTEM=="block",GOTO="farsight", KERNEL=="mmcblk[0-9]p[0-9]",RUN+="/etc/umount-sd.sh", LABEL="farsight"
五、卸载U盘
接着上一步,在同一个文件里面,隔行,继续加入如下内容:
ACTION=="remove",GOTO="farsight",SUBSYSTEM=="block",GOTO="farsight",KERNEL=="sd[a-z][0-9]",RUN+="/etc/umount-usb.sh",LABEL="farsight"
最后,整个/etc/udev/rules/11-add-remove.rules文件如下:
CTION=="remove",GOTO="farsight", SUBSYSTEM=="block",GOTO="farsight", KERNEL=="mmcblk[0-9]p[0-9]",RUN+="/etc/umount-sd.sh", LABEL="farsight"
ACTION=="remove",GOTO="farsight",SUBSYSTEM=="block",GOTO="farsight",KERNEL=="sd[a-z][0-9]",RUN+="/etc/umount-usb.sh",LABEL="farsight"
六、创建挂载的目录
mkdir /mnt/sd -p
mkdir /mnt/usb -p
上面两个目录的路径和命名,要根据你自己的需要求来创建。我这里是随便写的。
七、添加脚本
—->创建脚本 /etc/mount-sd.sh, 这个脚本对应上面的udev规则里面的脚本,是一个专门用于挂载sd卡的脚本,创建后,填入如下内容并保存:
#!/bin/sh
/bin/mount -t vfat /dev/$1 /mnt/sd
sync
保存后,记得添加可执行权限: chmod +x /etc/mount-sd.sh
—-> 创建脚本 /etc/umount-sd.sh, 这个脚本对应上面的udev规则里面的脚本,是一个专门用于umount sd卡的脚本,创建后,填入如下内容并保存:
#!/bin/sh
sync
umount /mnt/sd
保存后,记得添加可执行权限: chmod +x /etc/umount-sd.sh
—-> 创建脚本 /etc/mount-usb.sh, 这个脚本对应上面的udev规则里面的脚本,是一个专门用于挂载usb的脚本,创建后,填入如下内容并保存:
#!/bin/sh
mount -t vfat /dev/$1 /mnt/usb
sync
为此文件添加可执行权限,切记。
chmod +x /etc/mount-usb.sh
—-> 创建脚本 /etc/umount-usb.sh, 这个脚本对应上面的udev规则里面的脚本,是一个专门用于umount usb的脚本,创建后,填入如下内容并保存:
#!/bin/sh
sync
umount /mnt/usb
为此文件添加可执行权限,切记。
chmod +x /etc/umount-usb.sh
八、完成,重启设备/电脑,
插入usb或者sd卡,对应的usb和sd卡,会自动挂载在/mnt/usb 和 /mnt/sd中!
DD系统
bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/scdlyh/dd/master/InstallNET.sh') -u 22.04 -v 64 -p pasSw0rd -a -firmware
Usage:
或
bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') -u 22.04 -v 64 -p pasSw0rd -a -firmware
bash InstallNET.sh
-d/ --debian [dist-name]
-u/ --ubuntu [dist-name]
-c/ --centos [dist-version]
-v/ --ver [32/i386|64/amd64]
-p
--ip-addr/--ip-gate/--ip-mask
-apt/-yum/--mirror
-dd/--image
-a/-m
# dist-name: 发行版本代号
# dist-version: 发行版本号
# -p: 自定义密码
# -apt/-yum/--mirror : 使用定义镜像
# -a/-m : 询问是否能进入VNC自行操作. -a 为不提示(一般用于全自动安装), -m 为提示.