Armbian|Debian清理系统垃圾常用命令

在使用Armbian等Linux系统的时候,经常会出现系统空间不足的问题,以下是常用的清理命令。

1、查看系统占用

df -h

2、开始清理

1. 删除残余的配置文件

删除软件包可以用两条命令
sudo apt-get remove <package-name>

sudo apt-get purge <package-name>
remove将会删除软件包,但会保留配置文件.purge会将软件包以及配置文件都删除.

找出系统上哪些软件包留下了残余的配置文件

dpkg --list | grep "^rc"

删除残余配置文件

dpkg --list | grep "^rc" | cut -d " " -f 3

删除残余配置文件

dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge

如果你只想删除某个软件包的配置文件,那么可以使用下面的命令

sudo dpkg --purge <package-name>

2. 删除没有用的deb软件安装包

sudo apt-get install 命令安装软件包后,apt-get下载的deb安装包会保留在系统上.所以如果你经常安装软件,那么这些deb安装包会占据大量的空间.这些安装包在/var/cache/apt/archives目录下。在软件安装完成后,这些deb安装包就没什么用了。对于硬盘容量有限的服务器来说apt-get clean命令可以腾出很多空间。你可以输入下面的命令来查看/var/chace/apt/archives目录下deb安装包的总大小
du -sh /var/cache/apt/archives
要删除这些deb包,只需要运行下面两个命令就行了.
sudo apt-get clean
sudo apt-get autoclean

3. 删除孤儿软件包

有时候,你用apt-get安装一个软件包时会自动安装其他的依赖.当你删除掉这个软件包时,这些依赖也就没有用处了.这些没有用的依赖包叫做孤儿软件包,可以用下面的命令删除
sudo apt-get autoremove

不过apt-get autoremove只会删除经apt-get自动安装的依赖包,而你自己手动安装的依赖包则不会被删除,这时我们可以用deborphan来彻底删除.
sudo apt-get install deborphan

列出孤儿软件包

deborphan

将它们删除

deborphan | xargs sudo apt-get purge -y

4. 删除过时的软件包

所谓过时(obsolete)的软件包是指/etc/apt/sources.list源文件中没有任何一个软件源提供这个软件的deb安装包.也就是说这个软件包在软件源里找不到了,不被支持了.这可能是因为下面几个原因:

  • 上游开发者不维护这个软件,又没有人来接管这个软件的开发.所以Debian/Ubuntu的软件包维护人员决定将这个软件从软件源中删除.
  • 这个软件成了孤儿,同时用户很少.所以它就从软件源里消失了.
  • 这个软件有了一个新的名字,维护人员给它起了一个新的名字并保留旧软件包.
    因为这些过时的软件不会有安全更新了,而且搞不好会在软件升级过程中引来麻烦,所以我们需要将它们删除,首先找出哪些软件包是过时的
    sudo aptitude search ?obsolete

将它删除

sudo apt-get purge <package-name>

你也可以使用下面的命令将所有过时的软件包一下清除
sudo aptitude purge ~o
不过需要注意的是,有些软件包虽然在软件源里找不到,但它并不是过时的软件包.比如你自己下载安装的ubuntu-tweak.ubuntu-tweak需要你从官网下载deb安装包,但不提供软件源.用上面这条命令会将这类软件包也删除.所以我建议使用apt-get purge,自己选择需要删除的软件包.

5. 清理日志文件

日志文件会变得越来越大,我们可以用ncdu工具来查看大日志文件,

sudo apt-get install ncdu

sudo ncdu /var/log

清理日志

sudo dd if=/dev/null of=/var/log/shadowsocks.log

以上内容引用自:懦米虫