清理 Debian/Ubuntu 储存空间

读过 Tsung 分享的 「Debian/Ubuntu Linux 空间释放-清除没用的档案」 一文,笔者也来分享一下自己清理作业系统环境的方法。

笔者是 Debian GNU/Linux 的长年使用者。Debian 使用者有个坏习惯-不主动定时清理系统。因为 Debian 系统实在太稳定,装好之后终年难得重灌,久而久之系统就会留下占用空间的废弃档案。这些档案除了使用者个人资料外,不外乎快取、历史记录、设定等等。此外还有曾经安装的软体,编译软体时所装的开发函式库等等。这里分享几个常用的清理档案方法。

Personal data

首先是个人档案。你有许多目录,需要先找出占用最多磁碟空间的目录。这时候你可以透过指令列用 du 来看 disk usage。常用的参数如下:

du --max-depth=1 -x | sort -n

这个指令的意思是查询当下目录所占用的大小,并依照由小到大的顺序排列,-x 的意思是只查询一个档案系统,方便你找出单一档案系统中最大的目录。你也可以用 -h 让 du 列出。

如果你不是 geek,我推荐使用 Baobao 。它具备图形化操作界面,并提供派图呈现磁碟占用比例,很容易抓出占用最多空间的目录或档案。另外笔者也建议 KDE 使用者用 Filelight 。


▲ 图1 图像来源:Disk Usage Analyzer by Fabio Marzocca 

依照笔者的使用经验,占用最多空间的档案往往是电子邮件,因为电子邮件中常常附夹了简报档、文件等等。如果已经归档结案,我通常会把夹档删掉,只留下邮件本文存档。若你使用的邮件收发软体是 Evolution,笔者推荐使用笔者写的外挂程式 evolution-remove-attachments ,来整理及备份电子邮件。

apt-tools cache

从最简单的系统安装设定开始,系统就已经装了许多你用不著的档案。第一个常见的就是各国语系的说明文件与翻译,绝大多数使用者不会去看其他语言的说明文件,像是我从来没读过法文、甚至日文、韩文的 man pages ,也不会使用这些语系的使用界面。而大部分软体因为国际化的关系,往往装了数国翻译,如果是 OpenOffice、GNOME 或 KDE 这些大型软体计划,占用的空间还不少呢。这时,推荐使用者安装 localepurge 来移除不需要的语系。第一次安装 localepurge 时,系统会问你要保留哪些语系,回答过一次后,未来每次透过 apt/aptitude 安装套件时,它都会自动清理一次。

下载后的 deb 安装档常常也占用很大空间,特别是 OpenOffice、Xorg、kernel 等等。如果你常常升级系统,不知不觉系统就会存下很多暂存的 deb 安装档。这时,你可以用 apt-get 来清除它们。

# apt-get autoclean
# apt-get clean

其中 autoclean 是清掉旧版的 deb,系统会保留一份最新版本安装档。我个人都使用 autoclean指令,以免发生意外的时候,没有最新版本的 deb 档可以重新安装。一般使用者可以直接以clean 清除快取。

apt-tools dependency

使用 Linux 时,或多或少会自己编译一些软体,需要编译软体时,就会需要相关的开发函式库。但常常装完砍掉后,这些相关的开发函式库还留在系统中变成软体孤儿。

你除了应该尽量用 apt-get autoremove 或 aptitude 外,也可以用 deborphan 来找软体孤儿。最常见(也很危险)的用法如下:

# aptitude remove $(deborphan --nice-mode --guess-all)

这样 deborphan 会推估所有系统中不需要的程式,并全部移除。你也可以用以下指令找出最占用空间的套件:

$ deborphan -a -n|sort -n

懒惰的话,你也可以装 GtkOrphan,以图形化界面管理。


▲ 图2 使用 GtkOrphan 图形化管理硬碟空间。

BleachBit (CCleaner for Linux)

虽然新的 Linux 软体,已经逐渐使用 .local、.cache、.config 等目录设定方式,但是还是有许多软体会把快取存在 .config 或自己的目录中,像是 .gnome2、.firefox 等。结果是使用者很难找到快取档案。若使用 UbuntuOne、Dropbox 等等云端备份工具,常常连不重要的快取都一起备份了,费时费钱。

上述指令或工具,看似十分繁复,而且只能管理系统档案。从 Windows 跳船过来的使用者一定会想,是否有类似 CCleaner 的工具,用手指点一点,就可以把垃圾档案清干净?

那么,笔者建议你使用同时具有 Windows 及 Linux 版本的 BleachBit 。BleachBit 设计了一套相当有弹性的设定描述语言— CleanerML,支援许多常见软体的清除功能,非常类似 CCleaner,可以自动侦测可清除的软体列表,接著只要点选需清除的档案类型,BleachBit 就会自动删除并计算所腾出空间。没有 X 图形界面时,也可以用 bleachbit_cli 指令列。


▲ 图3

References

如果你很 Geek,可以参考 Ubuntu Wiki 上的 Reducing Disk Footprint ,上面分享了许多缩减系统大小的技巧。

另外 Ubuntu 计划要削减安装光碟容量大小,未来新版 Ubuntu 11.04 Natty 将会采用,也会影响系统安装后占用记忆体的量。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章