Board logo

标题: 给 Linux 系统“减肥”-1 [打印本页]

作者: look_w    时间: 2018-6-18 12:35     标题: 给 Linux 系统“减肥”-1

前言Linux    计算机安装后,在我们不断的使用过程中,因为添加、删除软件和上网冲浪、调试程序等行为,硬盘中会产生各种各样的垃圾文件,而随着这些垃圾文件的不断膨胀,它们不仅会平白吞噬掉我们宝贵的硬盘空间,更会拖累机器的运行速度,影响我们的工作效率。本文介绍一下给    Linux 系统减肥的方法和工具的使用技巧,本文使用的 Linux 发行版本是 Ubuntu 12.04 。本文介绍的工具包括:Activity Log    Manager、BleachBit、find、fdupes、Geeqie、GConf Cleaner,这些工具都是开源工具,Linux 用户可以通过下载编译源代码在其他流行的 Linux 版本(如 Redhat、SUSE 等)上使用。
Linux 下哪些文件属于垃圾文件许多 bin 格式的软件在安装时,首先要把自身的安装文件解压缩到一个临时目录(一般为/tmp 目录)然后再进行安装。如果软件设计有疏忽或者系统有问题,当安装结束后,这些临时文件就会变得并不“临时”,成为硬盘里的一堆垃圾,很多时候它们以*.tmp 的面孔出现。
和安装过程一样,在软件的运行过程中通常也会产生一些临时交换文件,有些软件运行过后遗留下来的垃圾甚至多达数百兆,比如 SSH 服务器和客户端连接过程中时产生的文件。还有虚拟机运行时产生的文件。另外我们删除一个账户之后,还会存在一些无用垃圾文件及目录。
我们在上网的时候,浏览器总是将网页文件下载到本地机器上,这些缓存文件不但占用了宝贵的磁盘空间,还常常会把我们的个人隐私公之于众。
比如一些应用软件自带的帮助和系统手册页等。既然食之无味索性也将它们视作垃圾文件的一种表现。占用空间甚大,更会严重拖累系统和一些图形处理软件的运行速度。另外还有一些损坏的桌面文件,它包括损坏的应用程序菜单按钮和文件关联。
如果 Linux 用户安装使用 GIMP 或者 Geeqie    等图形编辑工具,在这些软件都有图片预览功能,在保存了图片的文件夹下会产生一个名为“Thumbs.db”的文件,这个文件会随着图片文件的增加而膨胀。还有就是.DS_Store    文件,DS_Store 文件是用来存储这个文件夹的显示属性的:比如文件图标的摆放位置。删除以后的副作用就是这些信息的失去。另外还有使用 apt 或者 YUM 软件包安装过程中生成的缓存文件。
使用 Linux 命令删除垃圾文件删除用户后遗留下的垃圾文件这里我们使用到的主要命令是 find 。举个例子: 我们删除一个账户之后,还会存在一些无用垃圾文件及目录,我们要找出属于这个用户的垃圾东西,使用 find / -user 用户名 :就可以找到根目录下属于这个用户的相关文件 ,使用命令:
1
#find ./ -nouser  |xargs rm –rf




core 文件当我们在系统下运行某个程序出错的时候,系统会自动将残留在内存中的数据存成 core 文件,久而久之,系统中遗留下来的 core 会越来越多,就像灰尘一样散落在系统的每一个角落里很是烦人。这个时候,我们就可以应用 find 命令加上—exec 参数来清理它们。使用命令:
1
# find / -name core -print -exec rm -rf {} \;




多余的手册页另外 Linux 提供了众多语言的手册页(man)比如 Ubuntu 的 手册页位于/usr/share/man 目录下 ,可以使用命令删除多余语言的手册页保留中英文即可。
1
2
3
# 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 工具删除指定目录下重复文件
fdupes 是一个命令行工具,它会查找和删除指定目录的重复文件,它通过文件的大小和 MD5 值进行比较 。一个字节一个字节进行对比。 首先安装这个工具
1
# apt-get install fdupes




在 /etc 目录查找重复文件 ,使用如下命令:
1
#fdupes /etc




可以与 Linux 命令组合使用,删除文件 :
1
2
#fdupes -r -f . | grep -v ^$ | tee duplicate.txt cat duplicate.txt | \
    while read file; do rm -v "$file"; done




另外也可以与 sed 命令组合使用,删除文件 :
1
# fdupes -r -n -S /tmp | sed -r “s/^/#rm \”/” | sed -r “s/$/\”/” >duplicate-files.sh




删除缓存文件清理旧版本的软件缓存
1
# apt-get autoclean




清理所有软件缓存:
1
#apt-get clean











欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0