Linux 计算机安装后,在我们不断的使用过程中,因为添加、删除软件和上网冲浪、调试程序等行为,硬盘中会产生各种各样的垃圾文件,而随着这些垃圾文件的不断膨胀,它们不仅会平白吞噬掉我们宝贵的硬盘空间,更会拖累机器的运行速度,影响我们的工作效率。本文介绍一下给 Linux 系统减肥的方法和工具的使用技巧,本文使用的 Linux 发行版本是 Ubuntu 12.04 。本文介绍的工具包括:Activity Log Manager、BleachBit、find、fdupes、Geeqie、GConf Cleaner,这些工具都是开源工具,Linux 用户可以通过下载编译源代码在其他流行的 Linux 版本(如 Redhat、SUSE 等)上使用。
回页首
许多 bin 格式的软件在安装时,首先要把自身的安装文件解压缩到一个临时目录(一般为/tmp 目录)然后再进行安装。如果软件设计有疏忽或者系统有问题,当安装结束后,这些临时文件就会变得并不“临时”,成为硬盘里的一堆垃圾,很多时候它们以*.tmp 的面孔出现。
和安装过程一样,在软件的运行过程中通常也会产生一些临时交换文件,有些软件运行过后遗留下来的垃圾甚至多达数百兆,比如 SSH 服务器和客户端连接过程中时产生的文件。还有虚拟机运行时产生的文件。另外我们删除一个账户之后,还会存在一些无用垃圾文件及目录。
我们在上网的时候,浏览器总是将网页文件下载到本地机器上,这些缓存文件不但占用了宝贵的磁盘空间,还常常会把我们的个人隐私公之于众。
比如一些应用软件自带的帮助和系统手册页等。既然食之无味索性也将它们视作垃圾文件的一种表现。占用空间甚大,更会严重拖累系统和一些图形处理软件的运行速度。另外还有一些损坏的桌面文件,它包括损坏的应用程序菜单按钮和文件关联。
如果 Linux 用户安装使用 GIMP 或者 Geeqie 等图形编辑工具,在这些软件都有图片预览功能,在保存了图片的文件夹下会产生一个名为“Thumbs.db”的文件,这个文件会随着图片文件的增加而膨胀。还有就是.DS_Store 文件,DS_Store 文件是用来存储这个文件夹的显示属性的:比如文件图标的摆放位置。删除以后的副作用就是这些信息的失去。另外还有使用 apt 或者 YUM 软件包安装过程中生成的缓存文件。
回页首
这里我们使用到的主要命令是 find 。举个例子: 我们删除一个账户之后,还会存在一些无用垃圾文件及目录,我们要找出属于这个用户的垃圾东西,使用 find / -user 用户名 :就可以找到根目录下属于这个用户的相关文件 ,使用命令:
#find ./ -nouser |xargs rm –rf
当我们在系统下运行某个程序出错的时候,系统会自动将残留在内存中的数据存成 core 文件,久而久之,系统中遗留下来的 core 会越来越多,就像灰尘一样散落在系统的每一个角落里很是烦人。这个时候,我们就可以应用 find 命令加上—exec 参数来清理它们。使用命令:
# find / -name core -print -exec rm -rf {} /;
另外 Linux 提供了众多语言的手册页(man)比如 Ubuntu 的 手册页位于/usr/share/man 目录下 ,可以使用命令删除多余语言的手册页保留中英文即可。
# cd /usr/share/man # find ./ -maxdepth 1 -type d | tail -n +2 | grep -E -v '(en|zh|man).*' | / while read d; do rm -rf $d; done
说明:关键字是(en|zh|man) ,您可以根据自己的情况修改。
fdupes 是一个命令行工具,它会查找和删除指定目录的重复文件,它通过文件的大小和 MD5 值进行比较 。一个字节一个字节进行对比。 首先安装这个工具
# apt-get install fdupes
在 /etc 目录查找重复文件 ,使用如下命令:
#fdupes /etc
可以与 Linux 命令组合使用,删除文件 :
#fdupes -r -f . | grep -v ^$ | tee duplicate.txt cat duplicate.txt | / while read file; do rm -v "$file"; done
另外也可以与 sed 命令组合使用,删除文件 :
# fdupes -r -n -S /tmp | sed -r “s/^/#rm /”/” | sed -r “s/$//”/” >duplicate-files.sh
清理旧版本的软件缓存
# apt-get autoclean
清理所有软件缓存:
#apt-get clean
删除系统不再使用的孤立软件
这三个命令主要清理升级缓存以及无用包的。
现在的硬盘容量是越来越大,出于备份的考虑,很多朋友会采取“宁滥勿缺”的原则保存图片,这就可能出现文件重复的情况,造成文件搜索的效率低下。要在海量的存储空间中找出重复的文档,并不是一件容易的工作。其实借助著名的图像浏览工具 Geeqie 可以很轻松地找出系统中的重复和相似图像文件。这些文件相比文本文件更大,时间长了会占用很多硬盘空间。使用上面介绍的 fdupes 工具就不行,因为 fdupes 工具只能删除完全相同 (md5sum 相同) 的重复文件, 但若要剔除 "相似" 的图片文件, 则可使用 geeqie 工具。首先安装这个工具:
# apt-get install gqview
下面运行这个工具,在要搜索的目录上按鼠标右键, 选择 "Find duplicates recursive..."见图 1 。
图 1.选择 "Find duplicates recursive..."
选择左下角的 "Compare by:" 下拉菜单可选择比对方式 Similarity (custom)找出相似度 99% 以上的图片,另外可以勾选 "Thumbnails" 可显示缩略图见图 2
图 2.找出相似度 99% 以上的图片
下面在被选取的项目上按鼠标右键, 点选 "Delete" 即可删除所有被选取的图片, 删除前会有一个的确认界面以免误删。说明 99%是图片相似度的缺省值,用户可以通过如下方式修改参数:在 Edit → Preferences → Preferences... → Behavior → Miscellaneous: Custom similarity threshold 见图 3 。
图 3.修改参数
回页首
BleachBit 是一款开源免费的系统清理工具,功能类似 Windows 平台的 CCleaner。BleachBit 能够删除隐藏的垃圾文件,以及简单的保护你的隐私。擦除缓存,删除 cookies 文件,清除互联网浏览历史,删除未使用的本地化碎片日志,删除临时文件,是一款非常实用的跨平台的系统清理工具。BleachBit 提供有 rpm 和 deb 二进制包,适用于 Fedora/CentOS/RHEL、Debian/Ubuntu 等 Linux 发行版。其它 Linux 用户可以选择 BleachBit 的源码包(下载地址:http://bleachbit.sourceforge.net/download.php )。使用 BleachBit,你可以清理系统中的缓存、历史、临时文件、cookies 等不需要的东西,这样可以释放你的磁盘空间。当前,BleachBit 能够清理 Beagle、Firefox、Epiphany、Flash、OpenOffice.org 、KDE、 GIMP、Java 编程工具、vim、Gedit 编辑器等 70 多种软件所产生的垃圾文件。还有系统运行时生成的“Thumbs.db”的文件和使用 apt 或者 YUM 软件包安装过程中生成的缓存文件以及剪切板里面的历史文件信息等。
首先安装软件:
#apt-get install bleachbit
安装之后系统工具菜单里就会多出两个工具:bleachbit 和 bleachbit as root。对于 root 用户使用第 2 个,软件第一次运行,弹出“首选项窗口”,见图 4。
图 4.BleachBit 设置界面
简单说明一下设置界面:包括定制文件和文件夹,驱动器列表 ,语言,白名单(免于清理的)设置,以及是否开机启动 BleachBit 等一些选项。
下面看看工作界面见图 5。
图 5.BleachBit 工作界面
BleachBit 软件功能单一因此使用起来也方便。从图 5 里我能看到。 软件的左边罗列出了能够清理的各种垃圾,点击“预览“按钮,就会分析出垃圾文件的明细和大小。 勾选好软件按 clean(清除)按钮即可。
Chrome 浏览器可以清理的文件主要包括:
首先查看可清理的 Chrome 浏览器文件见图 6 。
图 6.查看 Chrome 浏览器可清理的系统垃圾
选中欲清理的项目后,点击“预览“按钮即可执行对该类项目内所含垃圾文件的扫描操作,扫描过程非常快速,扫描过程完毕,用户将看到检测到的垃圾文件列表及其统计信息,下面用户只需鼠标点击“清理”按钮即可轻松清除这些已经被检测到的垃圾文件。
上面笔者选择执行的是对 Chrome 浏览器的扫描清理任务,当然可以选择全部垃圾列表中的所有项目,用户只需逐一勾选扫描项目选择激活项即可。
上网冲浪,用账号登录系统,包括使用一些编辑软件都会在系统里留下蛛丝马迹,这些残留信息中包含个人信息,如果被不法分子利用,就会造成隐私泄露,下面介绍的工具是 Activity Log Manager,它是配置在 Zeitgeist 活动日志中记录的内容的 ,使用它可以有效保护隐私。首先安装这个工具:
#apt-get install activity-log-manager
Activity Log Manager 的中文名称是活动日志管理器,安装完成后出现在附件菜单中。它的使用方法也比较简单。最直接的就是设置停止记录的功能,然后删除所有历史文件见图 7 。
图 7.删除所有历史文件
当然用户也可以进行有区别的设置,可以根据具体情况设置哪些应用程序和文件可以保留历史文件那些不保留。下面通过“文件”界面进行设置见图 8
图 8.设置哪些应用程序和文件可以保留历史文件那些不保留
这里笔者选择“电子表格、文本、即时消息”三个事关隐私的选项。另外对于一些特殊的应用程序用户还可以自己添加到活动日志管理器中,见图 9
图 9.把应用程序用户添加到活动日志管理器
GConf 是一个用于存储 GNOME 应用程序选项设置的系统。如果该系统充斥着大量无用键值,那么将使 GConf 臃肿不堪。这对应用程序的启动速度和性能都是有影响的。为了解决这个问题,你可以使用 GConf Cleaner 来对其进行清理。Gconf-Cleaner 是一款类似于 Windows 注册表清理器的工具。它会检查 Gconf 数据库(即 GNOME 配置数据库)并移除无用及过时的项目。
首先安装这个工具:
#apt-get install gconf-cleaner
然后从终端执行 gconf-cleaner 启动 GConf Cleaner 程序。这个程序具有执行向导,只需按步骤操作即可。 向导初始画面,点击 Forward 会进入分析过程。图 10 是分析结果,它提供具体数据,并可保存。再次点击 Forward 则开始清理过程。
图 10.分析结果
图 11 是以与 Linux 命令组合使用 清理完成的界面。