Linux下的垃圾清理
在Windows下,很多用户都会考虑清理系统垃圾这个问题。除了一堆软件管家提供的垃圾清理功能外,Windows自己也提供了磁盘清理小工具。那么,在Linux下,垃圾清理工作要如何完成呢?
一、需不需要清理
不知道是不是我的习惯问题,在Linux下面,我对系统垃圾问题关注的格外少。也许是不影响操作效率导致的吧。所以,到底需不需要清理垃圾就要看个人的使用情况了。至于我唯一能想到的清理时机,就是磁盘空间不足的时候了……
1、查看占用情况
但是通常来讲,Linux对垃圾的控制还是很不错的,所以即使是磁盘空间不足,更大的可能性也只是装的东西太多了。为了判断到底是不是垃圾占用了太多的空间,可以来分析一波分区的占用情况。
Linux下,这个操作十分简单。只需要通过命令sudo du -h --max-depth=1 [路径]
来查看。比如查看根挂载点的占用情况,只需要通过sudo du -h --max-depth=1 /
即可。不过到底是不是垃圾导致的空间占满,这就需要看到底是哪些文件夹占用了很大的空间了。所以这里简单介绍一下根挂载点下一些关键的文件夹。
- etc:配置文件目录
- boot:引导目录
- opt:第三方软件的一个安装位置
- root:root的家——没错,root的家目录并不是
/home/root/
- tmp:临时文件
- usr:存储了所有命令、程序库、文档以及诸如帮助文档等其他文件
- var:存储运行时不断变化的文件
- proc:存储了所有的虚文件(如CPU、分区、内存等)。这个应该是最能体现一切皆文件精髓的文件夹
这下面还有一些其他的文件夹,就不一一介绍了,通过文件夹名称都能理解存储的内容是什么。
在上面的文件夹中,usr以及usr的部分子目录(如share等)也会以隐藏目录的形式出现在用户的家目录下面。这其实只是全局和用户的区别而已,功能是相同的。
而在上述的文件夹中,有两个文件夹是比较特殊的:
- tmp:其中的文件通常会自动清理
- proc:其挂载在内存中,永远不会被保留。因为它只是描述了这台电脑在当前时间节点拥有的所有属性
2、何时需要清理
所以,可以发现,能出现垃圾文件的文件夹只可能是tmp或者var。所以,如果这两个文件夹有较高的空间占用,那么就意味着你可能需要进行磁盘整理了。
但,为什么说是可能呢?因为var大不一定就是垃圾多。具体可以浏览一下var这个文件夹。
这个文件夹的名称都比较简单明了,便不再过多解释了。不过总的来讲,你不能一股脑的把var里的内容全都删掉就对了。
二、如何清理
1、手工清理
其实,不只是var,其他文件夹我也不建议直接删除掉——即使其他文件夹确实也可能出现垃圾文件。因此通过下面步骤进行一下瘦身是最保险的。
首先,清除无用的依赖。
很多时候,由于依赖更新等各种原因,部分包会变成孤包——我的意思是那些谁也不再需要它的孤儿们。因此先对这部分进行一下清理。
apt系列很容易,直接使用autoremove
参数即可。
pacman系列虽然也可以一句话解决,不过为了方便记忆,这里将其拆分为两个简单句。
首先:pacman -Qdt
即可列出作为依赖安装的但现在已经没有人再依赖它的包
然后:正常删除这些包即可
其次,清理软件包缓存。
这个缓存指的是安装软件时保留在系统的安装包。有些桌面或商店会自动清理,所以这部分的占用大的很大,小的几乎没有。
apt系列,使用clean
参数完成清理。
pacman系列,使用paccache -r
完成清理(需安装pacman-contrib
)
之后,考虑清理日志。
如果你的/var/log
占用了比较大的空间,可能是有些程序的日志文件太大了。看看最大的,删掉就好了。
2、软件清理
如此做完,如果空间没有特别明显的改观,或者不想这么麻烦,那么就直接使用软件进行垃圾清理吧。
使用软件还有一个好处:用户家目录下面的垃圾文件保存的位置没有根目录那么规律,很多都在以软件名为名称的隐藏文件夹下的某个子文件夹中。所以通过软件清理避免了手工进入这些文件夹进行删除操作。
使用的软件叫做BleachBit
。安装好后启动,勾选想要清理的内容,点击清空等待完成即可。
其中,有一些勾选是比较有危险性的。正如Windows下面软件管家的垃圾清理一样,你可以阅读每一项的说明,然后自己决定到底清理哪些。如果仍然不确定,可以在勾选之后点击预览,待分析完成后便可以浏览将要删除哪些文件,以确保不会进行危险的动作。
没有错,从软件清理来看,你并没有必要了解我前面的那一大堆东西,只需要装好软件,然后让它自己分析删除即可。前面的那一大堆,只是让你体会一下一款垃圾清理软件都在干什么——Windows下的垃圾清理软件也是一样的。