作为IT工程师,我理解保持Linux系统清洁高效的重要性。以下是一套全面的Linux系统清理和优化方案:
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove
sudo yum clean all
# 或
sudo dnf clean all
# 查看已安装内核
dpkg --list | grep linux-image
# 删除旧内核(保留当前和上一个版本)
sudo apt-get purge linux-image-X.X.X-XX-generic
创建一键清理脚本 cleanup.sh
:
#!/bin/bash
# 清理包管理器缓存
if [ -f /etc/debian_version ]; then
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove -y
elif [ -f /etc/redhat-release ]; then
sudo yum clean all
fi
# 清理日志文件(保留最近7天)
sudo find /var/log -type f -mtime +7 -delete
# 清理临时文件
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
# 清理用户缓存
sudo find /home -type d -name '.cache' -exec rm -rf {} \;
# 清理缩略图缓存
sudo find /home -type d -name '.thumbnails' -exec rm -rf {} \;
# 清理旧内核(Ubuntu/Debian)
if [ -f /etc/debian_version ]; then
sudo apt-get purge $(dpkg -l | awk '/^ii linux-image-*/ && !/'"$(uname -r | sed 's/-generic//')"'/ {print $2}' | grep -v $(uname -r | sed 's/-generic//'))
fi
# 清理系统日志(journalctl)
if command -v journalctl &> /dev/null; then
sudo journalctl --vacuum-time=7d
fi
echo "系统清理完成!"
赋予执行权限:
chmod +x cleanup.sh
df -h
sudo du -ahx / | sort -rh | head -20
- ncdu
:终端磁盘使用分析器
sudo apt install ncdu
ncdu /
sudo systemctl list-unit-files --type=service | grep enabled
# 禁用服务示例
sudo systemctl disable <service-name>
# 查看当前swappiness值
cat /proc/sys/vm/swappiness
# 临时设置为更合理的值(推荐10)
sudo sysctl vm.swappiness=10
# 永久设置
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
# 检查文件系统错误
sudo fsck -f /dev/sdX
# 优化ext4文件系统
sudo tune2fs -o journal_data_writeback /dev/sdX
# 编辑crontab
crontab -e
# 添加每周清理任务
0 3 * * 0 /path/to/cleanup.sh
/etc/logrotate.conf
配置文件,确保日志轮转设置合理。ls
或 -dry-run
选项预览将被删除的文件通过以上方法,你可以有效地清理和优化Linux系统,保持其高效运行。建议定期执行这些维护任务,特别是在系统更新或安装/卸载大量软件后。