Linux的实用技巧——服务器根目录所有权取消后修复、SSH的互信与安全配置、Java应用的在线诊断https://coffeemilk.blog.csdn.net/article/details/156359335
Linux服务器的后悔药实践操作https://coffeemilk.blog.csdn.net/article/details/156147184?spm=1001.2014.3001.5502
一、红帽系7及其以下版本安装回收站
1.0、Linux的回收站trash-cli简介
trash-cli是一个命令行回收站工具,并且符合 FreeDesktop.org 的垃圾trash规范。它能够存储每一个垃圾文件的名字、原始路径、删除日期和权限。
功能:trash-cli 允许您从命令行执行各种与垃圾箱相关的操作(如:将文件或目录移到垃圾箱、列出垃圾箱中的项目、从垃圾箱中恢复项目以及清空垃圾箱)。
1.1、下载安装配置python3
#下载安装垃圾回收站【trash-cli】 #1-查看python版本(若不是Python3则需升级) python --version #2-安装python3版本所需的环境 yum groups mark install "Development Tools" yum groups mark convert "Development Tools" yum -y groupinstall "Development tools" yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel zlib1g-dev zlib* kernel-devel #3-下载python3的安装包进行安装 wget https://www.python.org/ftp/python/3.14.2/Python-3.14.2.tgz -c -P /data cd /data tar -zxvf Python-3.14.2.tgz cd Python-3.14.2/ #创建安装python3的安装目录,方便统一管理 mkdir -p /usr/local/python3 #预编译指定python3的安装路径,这样不但管理方便,且可以提高pythonpython10%-20%代码运行速度(若不指定的,则在安装过程中可能软件所需要的文件复制到其他不同目录,删除与复制python软件都不方便) ./configure --prefix=/usr/local/python3 --enable-optimizations #正式编译安装python(等待3分钟左右,若最后结尾没有报错信息则表示编译安装完成,否则需要根据报错信息解决,若需要重新编译则需要先清空原有编译内容【make clean】) make && make install #4-创建软链接(可以直接使用python3与pip3命令) ll /usr/local/python3/bin ln -s /usr/local/python3/bin/python3.14 /usr/local/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/local//bin/pip3 #5-查看python3与pip3的版本型 python3 -V pip3 -V #6-配置python的环境 vi /etc/profile #【/etc/profile】文件末尾添加的Python环境内容如下 export PATH="$PATH:/usr/local/python3/bin" #7-让配置的python环境生效 source /etc/profile注意:若在最后显示“make[1]: *** [Python/frozen_modules/abc.h] 段错误 (core dumped)
make[1]: 离开目录“/data/Python-3.14.2”
make: *** [profile-opt] 错误 2”错误很可能是profile-opt优化构建目标、编译依赖缺失、内存不足或源码 / 编译器兼容问题。解决方法如下:
#解决“make: *** [profile-opt] 错误”方法 #1-清空预编译等配置,恢复源码包初始状态(删除 configure 生成的所有文件) make distclean #2-指定预编译的安装路径 ./configure --prefix=/usr/local/python3 #3-正式编译安装python(等待3分钟左右,若最后结尾没有报错信息则表示编译安装完成,否则需要根据报错信息解决) make && make install #4-创建软链接(可以直接使用python3与pip3命令) ll /usr/local/python3/bin ln -s /usr/local/python3/bin/python3.14 /usr/local/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/local//bin/pip3 #5-查看python3与pip3的版本型 python3 -V pip3 -V #6-配置python的环境 vi /etc/profile #【/etc/profile】文件末尾添加的Python环境内容如下 export PATH="$PATH:/usr/local/python3/bin" #7-让配置的python环境生效 source /etc/profile1.2、配置pip3的源
由于pip3默认的源是国外的,导致在国内下载就十分缓慢,因此我们需要针对pip的源做一个配置修改为国内的源(如:华为云pypi、阿里云pypi源)。
#永久配置pip安装源 #1-在当前用户目录下新建【.pip】文件夹 mkdir -p ~/.pip #2-进入当前用户的【.pip】文件夹新建文件【pip.conf】之后配置国内对应的pip镜像网站地址 vi ~/.pip/pip.conf #【~/.pip/pip.conf】文件的完整内容如下: [global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com#临时使用(终端一旦关闭就没有了) #1-临时使用阿里云的pip源 pip3 install numpy -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com #2-临时使用豆瓣的pip源 pip3 install numpy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com1.3、安装回收站
#安装回收站 pip3 install trash-cli二、红帽系8及其以上版本在线安装回收站
#红帽系9及其以上版本在线安装回收站 #1-先安装epel源 yum install epel-release -y #2-在线安装回收站 yum install trash-cli -y三、回收站tarsh-cli的用法与配置
3.1、配置用户删除文件时就使用回收站
#配置在指定用户下删除文件时使用回收站配置 #如:只给root用户配置删除文件时使用回收站(将【/root/.bashrc】文件中的【alias rm='rm -i'】修改为【alias rm='trash-put'】后保存退出) vi /root/.bashrc #让修改的配置生效 source /root/.bashrc#配置全局用户都在删除文件时使用回收站(在【/etc/bashrc】文件末尾添加【alias rm='trash-put'】后保存退出) vi /etc/bashrc #让修改的配置生效 source /etc/bashrc3.2、配置回收站的全局参数(可选)
trash-cli会按从高到低的优先级依次查找config.ini文件,找到第一个有效文件后即停止查找。环境变量指定路径 > 用户级默认路径(~/.config/trash-cli/config.ini) > 系统级默认路径(/etc/trash-cli/config.ini)
#配置trash-cli回收站的配置 #1-配置trash-cli回收站的全局默认配置【最低优先级】 mkdir -p /etc/trash-cli vi /etc/trash-cli/config.ini #2-配置trash-cli回收站的用户级默认路径(最常用)【最高优先级】 mkdir -p ~/.config/trash-cli vi ~/.config/trash-cli/config.ini #【config.ini】文件内容 #设置垃圾文件存储的根目录(全局生效,所有用户的垃圾文件都会存放在此) XDG_DATA_HOME=/var/.mytrash #设置垃圾文件的保留时间(单位:天),超过该时间自动清理(默认无过期时间) TRASH_EXPIRE_DAYS=30 #是否开启删除确认提示(yes=开启,no=关闭,默认开启) TRASH_CONFIRMATION=no #是否显示删除文件的详细日志(yes=显示,no=隐藏,默认隐藏) TRASH_VERBOSE=yes #允许跨设备删除挂载设备上的文件 allow_cross_device = true #4-创建统一垃圾桶目录并配置权限 mkdir -p /var/.mytrash #通过用户组控制(更安全,适合指定用户组共享) #4.1-创建垃圾桶专用用户组 sudo groupadd trash-users #4.2-将需要使用垃圾桶的用户添加到该组(示例:添加 coffeemilk、testuser333,可批量添加) usermod -aG trash-users coffeemilk usermod -aG trash-users testuser333 #4.3-配置目录所属组为 trash-users,并赋予组读写执行权限 chown root:trash-users /var/.mytrash chmod 2775 /var/.mytrash #让修改的配置生效(或退出终端后重新进入) source /etc/profile3.3、回收站trash-cli的命令与用法
| 序号 | 回收站tarsh-cli的命令 | 说明 |
| 1 | trash-put (别名是:trash) | 安全删除文件或目录到回收站,保留文件原属性(权限、修改时间等)(适用于替代rm命令,防止误删)。 注意:回收站的默认目录是【 ~/.local/share/Trash】 常用参数如下: ①【--trash-dir 路径】指定自定义回收站的路径(覆盖默认/环境变量配置)。 ②【--force】强制删除指定文件或目录,无需手动确认。 ③【--verbose】详细输出删除过程(显示原路径、目标回收站路径、文件大小等) |
| 2 | trash-list | 列出回收站中所有被删除的文件 常用参数如下: ①【--trash-dir 路径】指定要查询的自定义回收站路径。 ②【--verbose】详细输出删除过程(显示原路径、目标回收站路径、文件大小等)。 |
| 3 | trash-restore | 从回收站中恢复指定文件或目录 常用参数如下: ①【--trash-dir 路径】指定要恢复的自定义回收站路径。 |
| 4 | trash-rm | 从回收站中永久删除指定文件 常用参数如下: ①【--trash-dir 路径】指定要永久的自定义回收站路径。 |
| 5 | trash-empty | 批量清空回收站中的所有或过期文件(可以指定天数来清除超过该天数的垃圾箱内容) 常用参数: ①【--trash-dir 路径】指定要清空的自定义回收站路径。 ②【--days n天】仅清空 N 天前被删除的文件。 |