如何让你的 Linux 系统干净整洁

简介:

如何让你的 Linux 系统干净整洁

Linux的最大优点之一就是,使用一段时间后,它照样很稳定。Linux面临的最大挑战就是,将它安装起来,并找到并配置你完成工作所需要的软件。一旦你完成了这项任务,它几乎就会顺利运行起来。至于系统维护方面,倒没有太多的东西需要担心。另一方面,Windows是我所说的一款“肮脏”的系统,原因在于它在运行过程中,会生成大量的额外数据,留在硬盘上。众所周知,一段时间后,随着这类数据不断积累,Windows的运行速度自然会慢下来,这时Windows用户要么安装软件,清理掉所有这些垃圾数据;要么定期重装系统,好让启动速度让人觉得焕然一新。实际上,有整个产业致力于销售面向Windows的“清理工具”。其中一些软件其实就是“披着羊皮”的恶意软件,不过有许多还是相当有用。当然,关键在于弄清楚哪个才是真正优秀的工具。

如果你使用Linux,那么可能会很庆幸自己没必要处理这类烦心事,不过也别高兴得太早了。虽然Linux不像Windows那么肮脏,但它确实多少得益于偶尔进行的清理工作。Linux在运行过程中也会生成数据,具体有日志、缓存数据和临时文件。这些额外数据通常并不影响系统的性能。想要清理掉这些数据的主要原因是,收回占用的硬盘空间。如果你在运行固态硬盘(SSD),这可能是你在乎的方面,因为固态硬盘的容量往往不如我们习惯使用的传统硬盘,所以我们要密切关注占用的空间,直到大容量固态硬盘的价格降下来一点。下面不妨介绍为清理Linux系统可以采取的几个要点。

清除旧内核

警告!在清除与Linux内核有关的任何东西时,要极其小心!清除错软件包很有可能会导致你的计算机瘫痪,或者完全沦为垃圾!我们可是警告过你了!

每个Linux发行版处理内核管理的方式不一样。有些拥有出色的GUI工具,让你可以选择运行什么内核,比如OpenSUSELinux MintManjaro。而另一些发行版很少或从不更新内核,将手动更新这项任务完全交给了用户。内核相当重要,拥有经过更新的内核是你确保系统安全、远离病毒和黑客的主要手段之一。我在这里会着重介绍Ubuntu,不过鼓励你深入研究一番内核,了解你使用的那个发行版如何处理内核的更新。

Ubuntu将内核连同系统上的其他一切一块更新,并留下旧内核。内核更新偶尔会导致问题,所以最好保留旧内核。那样万一需要的话,可以恢复到旧内核。问题在于,Ubuntu完全将旧内核留在那里;一段时间后,最后你的系统上安装了一大堆旧内核。内核及相关文件占用大量空间,多达数百MB。因而,清除旧内核可以释放好多空间。

在Ubuntu下管理内核的最佳工具是新立得软件包管理器(Synaptic Package Manager)。要是它还没有安装到你的系统上,现在就安装。在你打开该管理器之前,先打开终端,执行这个命令:


  
  
  1. uname -

你应该会看到类似这样的输出结果:


  
  
  1. 3.16.0-38-generic 

这是目前运行的内核的版本号,需要把它记下来,因为我们想要确保没有对这个内核或随带的任何文件做任何操作。

由于我们知道了运行什么样的版本,接下来可以打开该管理器,看看有没有任何旧内核在占用空间。想找到内核,只要往搜索框中输入“linux-image”,然后按已安装版本对列表进行排序。为此,你可以点击软件包列表的标题。即使你只安装了一个版本的内核,也会看到与它一块安装的一大堆文件列了出来。你没必要将它们逐个清理掉,高亮选中主内核映像软件包,并将它标记为从右击菜单中完全清除,就可以让系统清除与之相关的一切文件。务必要反复核查版本号,确保没有清除当前版本。要是你按已安装的软件包对列表进行排序,最新的运行中内核应该会出现在列表的最上面。现在可以标记所有的旧内核,不过在你点击“应用”按钮之前,还需要寻找另一个软件包。

清空搜索栏,现在搜索一下“linux-headers”。要是它们已安装,你应该会获得一份列表,上面列出了与安装在系统上的内核有关的所有已安装的Linux标题文件。版本号伴随内核,所以务必要确保你没有清除当前版本的标题文件。实际上,标题文件对于计算机的日常操作而言并非必要,但是如果你想从源代码编译程序或驱动程序,有标题文件在是好事。它们并不占用太多的空间,所以我总是将运行中内核的标题文件留在系统上。

使用BleachBit

有一些确实很出色的Linux版程序可以自动检查系统,清除额外文件。我总是使用的一个程序就是BleachBit。它的历史并不短,几乎每一个Linux发行版上都有它。我用它来清除系统上的任何异常文件还没有遇到过任何问题。BleachBit很轻巧,却提供了一些相当强大的功能特性。我们在此只介绍很基本的功能,不过需要花点时间才能深入了解它的本领,你完全会觉得一些高级功能很有用。

一旦你安装好了BleachBit,就会在仪表板或应用程序菜单中看到与它对应的两个条目。一个让你可以以根用户来运行它,另一个以你本人来运行它。以你本人来运行会清除与你帐户有关的文件,而以根用户来运行会清除缓存软件包和系统日志之类的数据。BleachBit还让你可以清空可能安装在系统上的Web浏览器、电子邮件客户程序以及插件的缓存内容。这里选择时要小心,因为它会清除掉你的所有已保存密码和设置;如果你想清空一切,这也许没什么,但如果你使用别人的帐户来运行它,可能会让用户不高兴。我发现,保持其他设置不变,仅仅清空Web浏览器里面的缓存就能收回大量的空间。

以根用户运行BleachBit让你可以使用APT清理命令,清空你系统上的缓存软件包和更新版。你可以在终端中使用clean、auto clean和auto remove命令,不过在这里全为你做好了。说到终端,BleachBit在这里也可以使用。你可以执行“bleachbit”命令,它就会以你用GUI配置的预设值来运行。这很好,因为它意味着你可以制作一个Bash脚本,自动清理系统。

对硬盘进行碎片整理

已经说过好多次:运行Linux的优点之一就是,从来没必要对硬盘进行碎片整理。其实,并非完全如此。大多数普通用户从来没必要为文件碎片整理而操心,因为碎片现象不会严重到影响旋转硬盘性能的地步。ext4文件系统非常擅长以一种并不进行碎片整理的方式来存储文件。不像Windows上使用的NTFS文件系统,ext4将数据分散在整个硬盘上,将类似的文件归为一类,以便不用碎片整理,就为文件的增长留出了大量空间。这意味着,你在硬盘上只要有大量的闲置空间,可能根本不需要进行碎片整理。我的系统运行了两三年,检查硬盘后,发现碎片整理分数为“0”,这表明根本不需要碎片整理。

既然如此,我为何还要费心告诉各位进行碎片整理呢?在一些情况下,你可能需要考虑碎片整理,比如如果你的硬盘开始塞满。已占用空间超过80%的任何ext4旋转硬盘往往会开始对文件进行碎片整理,因为系统将文件分开来,确保空间增加会开始变得更难。引起文件碎片整理的另一种情形是,如果你有一大批非常庞大的文件。如果用户处理大量视频制作、处理大型数据库或虚拟机,最后就会面临一大堆非常庞大的文件。一段时间后,这些文件的碎片现象会变得非常严重,运行碎片整理完全会显著改善硬盘性能。

打开终端,执行这个命令,看看你的系统是否需要碎片整理:


  
  
  1. sudo e4defrag / -

输入密码,程序会迅速分析你的文件系统。如果你有好多文件,这个过程可能需要1分钟,所以耐心点。你应该会看到类似这样的输出结果:


  
  
  1. now/best size/ext  
  2. 1. /var/log/syslog 3/1 4 KB  
  3. 2. /var/log/samba/log.nmbd 2/1 4 KB  
  4. 3. /var/log/boot.log 2/1 4 KB  
  5. 4. /var/log/auth.log 3/1 5 KB  
  6. 5. /var/log/ConsoleKit/history 3/1 10 KB  
  7.  
  8. Total/best extents 128413/128382  
  9. Average size per extent 41 KB  
  10. Fragmentation score 0  
  11. [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]  
  12. This directory (/) does not need defragmentation.  
  13. Done. 

我们关注的主要参数是碎片整理分数。它在这里是0,所以我们没必要为硬盘碎片整理而操心。如果你的主文件夹不在其自己的分区,那么你确实应该将/换成/home,还要检查那里的碎片整理状态。如果你想运行碎片整理程序,只要执行不带-c参数的命令:


  
  
  1. sudo e4defrag / 

然后,它会检查文件系统,对需要碎片整理的文件进行碎片整理。在这个过程中,会有大量的输出结果滚动显示。要是你系统上有好多文件,这个过程很漫长,所以你可以在晚上上床前让碎片整理程序开始运行,完毕后关闭系统。为此,你可以执行类似这样的命令:


  
  
  1. sudo e4defrag / && sudo e4defrag /home && sudo shutdown -h now 

如今我通常采取的做法是,在完成安装新系统、将所有文件倒过来之后,运行碎片整理工具。之后,我会偶尔检查一下状态,我发现此后碎片整理分数基本上保持在0。

值得一提的是,你根本没必要对固态硬盘进行碎片整理。事实上,在固态硬盘上执行上述命令通常会弹出一个消息,显示不允许这种操作。只使用固态硬盘的那些人完全可以不用看这一节。

最后说一句:在Linux中对硬盘进行碎片整理后,别指望性能会有大幅提升,因为即使硬盘上有一些碎片文件,ext4也其实擅长于快速运行。切记:ext4在设计当初就考虑到了高输入/输出文件服务器,它非常高效。即使要处理笔记本电脑或台式机,它也不会“气喘吁吁”。

别过分追求干净!

一些计算机用户在确保系统干净、在最高性能下运行到了无以复加的地步。牢记一点:许多Linux系统在根本没有采取上述措施的情况下运行了好多年。Linux根本不会像Windows或Mac那样慢下来,哪怕长时间使用后也是如此。你想要清空文件的主要原因是,收回硬盘空间,或者控制完全系统备份的大小。如果你与别人一样喜欢一直试用不同的发行版,很可能最后根本不需要采取任何上述措施,就因为你在频繁地重装。不过,知道有这样一些工具总归是件好事。

本文来自云栖社区合作伙伴“Linux中国”,原文发表于2013-04-02.

相关文章
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
77 3
|
1月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
69 2
|
4天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
29 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
27天前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
115 48
|
19小时前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
79 62
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
44 5
linux系统服务二!
|
1天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
10 0
|
24天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
17 3
|
29天前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
49 4
|
27天前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
29 1