保持系统的完整性
这部分将详细描述更新和优化 Linux 系统的下一个逻辑步骤:更新已安装的软件包(需使用分发版被发布后发布的勘误表和错误修正)和删除所有已安装的但没用的软件包。虽然这里讨论的细节仅和 Red Hat 有关,但是所有的分发版都有类似的软件包管理和更新机制。请访问供应商的站点了解更多信息。
更新和挑选 Linux 软件包的过程包括两个不同的任务:
删除所有不再需要的软件包
使用勘误表、错误修正和所需的改进功能来更新所有的剩余的软件包。
显然,您无需更新将被删除的软件包,所以您先完成哪一步并不重要。
使用勘误表和错误修正的原因是很明显的。系统的完整性和可靠性直接和所安装的程序成正比。删除所有没用的软件包的原因已被提及 — 没有理由把从不使用的程序塞进系统,也没有理由运行没人需要的服务,因为这将消耗系统资源。
Red Hat 的安装、维护和管理程序的系统被称为 Red Hat 软件包管理器(Red Hat Package Manager,RPM)。一旦您掌握了一些基本命令,您就能容易地使用它(Linux 中还有一些图形界面的前端工具;但是在本教程中,我们只讲命令行工具,因为所有的分发版中都有命令行工具)。
第一步是确定系统中实际已安装的软件包。在 RPM 数据库中查询(query,[q])所有已安装的软件包的命令是:
[tom@thor tom] # rpm -qa
结果列表将飞快地滚动,所以更好的办法是把查询的结果重定向到文本文件,您可以在文本编辑器中打开这个文件,也可以把这个文件打印出来,以供参考。
[tom@thor tom] # rpm -qa > package-list
挑选没用的软件包将详细讲述如何删除不必要的软件包。
当您获得在 Red Hat 软件包管理器中生成的软件包列表后,剩余的步骤就变得很清楚。每次选择一个将被删除的软件包,使用以下命令把它从系统中删除。请注意,为了删除或安装软件包,您在登录时使用的用户名必须是 root:
[root@thor root] # rpm -e package-name
与删除不必要的软件包相对的是添加所需的软件包,这些软件包并不被包括在 Red Hat 的缺省软件包组中。一个很好的例子是 Lynx 文本浏览器,在命令行和 GUI 桌面之间,有的管理员更喜欢前者,对于他们来说,Lynx 是必不可少的。
安装软件包的方法(或者从 Red Hat CD,或者从其它来源,例如 rpmfind.net,请参阅参考资料)同样很简单。如果您使用 Red Hat CD 作为软件包的来源,那么请按照以下过程来安装:
[root@thor root] # mount /dev/cdrom
[root@thor root] # cd /mnt/cdrom/RedHat/RPMS
[root@thor root] # rpm -ivh package-name
当然,来自外面的 RPM 必须先被,然后使用上面的 rpm -ivh ... 命令来安装。如果您想查看 rpm 的全部选项的列表,请在命令提示符后输入 man rpm 。
当您已删除没用的软件包后,下一步是上网,请访问 Red Hat 勘误表页面,在可用的更新列表中搜索。从技术上说,有三个不同的更新页面:性警告页面、错误修正页面和改进页面。它们之间的区别在于更新的重要性或级别。性警告方面的更新直接影响到程序能否安全地运行;安全性更新页面是必须经常访问的页面,对于使用直接连接到因特网的系统的用户来说更是如此。错误修正页面 — 如其名称所示 — 包括纠正程序“错误”的软件包更新。最后,改进页面有一个软件包列表,这些软件包在程序被改进后已经被更新过。请根据您的分发版的版本选择正确的勘误表页面,因为有的更新只适用于某个发布版。
您还记得在 Red Hat 软件包管理器中讲过的 rpm -qa 列表吗?现在是生成新的列表的时候了,生成后您就可以比较勘误表上的软件包和已安装的软件包,了解勘误表上的哪些软件包更新。
下一步,我们将学习如何升级软件包。
当您完所需的软件包后(请参阅更新已安装的软件包),请输入:
[root@thor root] # rpm -Uvh package-name
来安装这些软件包。请注意,通过提供不带版本信息的软件包名称,您可以“成组地”安装相关软件包。例如,许多程序有一个核心软件包、一个客户机软件包和一个软件包(LDAP、Samba 等)。安装所有所需的 Samba 软件包的命令是 rpm -Uvh samba 。请注意,在勘误表上单击软件包后将出现软件包页面,这个页面包括这个更新的说明、所有相关的依赖性和完整的安装说明。
下一步,我们将学习如何完成各种日常维护工作:关闭所有非必需的服务、清除用户和组文件、关闭一些虚拟控制台和 X-Window 的一些相关配置。
【责编:admin】
--------------------next---------------------