Linux 清理空间

清理内核

  1. 确认当前内核和备用内核

    uname -a
    uname -r
    
  2. 清理多余的内核

    运行以下命令,清理非当前内核和非备用内核的旧内核:

    sudo apt-get purge $(dpkg --list | grep 'linux-image' | awk '{print $2}' | grep -v '6.8.0-49-generic' | grep -v '6.8.0-48-generic')
    

    这条命令的作用:

    • grep 'linux-image':筛选出所有内核包。
    • grep -v '6.8.0-49-generic':排除当前使用的内核。
    • grep -v '6.8.0-48-generic':排除备用内核。

    为了确保系统的稳定性和安全性,在清理多余内核时,应该 保留当前使用的内核和一个备用内核。备用内核可以帮助你在遇到升级或当前内核出现问题时切换到可用的环境。

状态解释

dpkg --list 的输出中,rcii 是表示软件包状态的缩写,具体含义如下:

  1. rc

    • 含义:该包的配置文件(c)仍然存在,但包本身(r,已被移除)已经卸载。
    • 常见原因:执行过 apt-get remove,只删除了软件包,未清理配置文件。
    • 处理建议:可以使用 apt-get purge 删除这些残留的配置文件。
  2. ii

    • 含义:该包已经被正确安装(i),并且配置完成(i)。
    • 状态:当前处于正常工作状态,无需清理。
  3. 如何清理 rc 状态的包

    sudo apt-get purge $(dpkg --list | grep '^rc' | awk '{print $2}')
    

自动清理无用依赖和缓存

sudo apt-get autoremove --purge -y
sudo apt-get autoclean

自动清理脚本

以下是一个自动清理的脚本:

#!/bin/bash
echo "开始清理系统垃圾文件..."
sudo apt-get autoremove -y
sudo apt-get clean
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
sudo journalctl --vacuum-size=100M
echo "清理完成!"

保存为 clean.sh,并赋予执行权限:

chmod +x clean.sh
sudo ./clean.sh

四下皆无人