3.2. 软件

3.2.1. 安装和去除软件

此模块用于支持在您的计算机上安装、卸载和更新软件。在 Linux 中,软件是以包的形式供用户使用的。通常情况下,包中包含一个程序所需的所有内容:程序本身、配置文件和所有文档。通常还提供一个包含程序源文件的包。这些源文件不是运行程序所需要的,但您可能需要安装这些源文件来编译程序的自定义版本。

某些包依赖于其他包。这意味着这些包中的软件只有在其他包已安装的情况下才能正常工作。此外,某些包只有在其它包已安装的情况下才能进行安装,原因可能是安装例程需要某些特定工具。因此必须以正确顺序安装这样的包。还有某些包具有相同或类似的功能。如果这些包使用相同的系统资源,就不应同时安装它们(包冲突)。在两个或多个包之间可能会存在依赖性或发生冲突,而且有时会非常复杂。为了实现顺畅交互,我们可能会需要特定的包版本,这会使得事情变得更为复杂。

安装、卸装和更新软件时必须考虑所有这些因素。YaST 为此提供了非常有效的工具:软件安装模块,通常称为包管理器。在启动包管理器时,它会检查系统并显示已安装的包。如果选择安装其它的包,包管理器会自动检查依赖性并选择所需要的任何其它包(解决依赖性)。如果选择了存在冲突的包,包管理器会指出存在冲突并提供解决此问题的建议(解决冲突)。如果其它已安装的包所需要的包被标记为要进行删除,包管理器就会发出一个警报,提供详细信息和可选解决方案。

除了这些纯技术方面外,包管理器还为 SUSE Linux 中的各种包提供了一个结构清晰的概述。这些包按主题来排列,并通过适当的过滤器来限制这些组的显示。

3.2.1.1. 包管理器

要使用包管理器更改您的系统上的软件选择,请在 YaST 控制中心中选择软件。包管理器的对话窗口如 图 3.2 “YaST 包管理器” 所示。此模块包含各种框架。通过单击并移动各区域的分隔边界可修改框架大小。以下部分描述这些框架的内容及其用途。

图 3.2. YaST 包管理器

YaST 包管理器

3.2.1.2. 过滤器窗口

为了按类别排列包并限制所显示的包的数目,包管理器提供了多种过滤方法。过滤器窗口位于菜单栏下的模块左框架中。它显示当前过滤方法的设置。框架顶部的过滤器选择菜单确定下面显示的内容。从过滤器菜单中的可用过滤器列表选择希望使用的过滤器。

选择过滤器

在启动时,选择过滤器处于活动状态。这个过滤器根据用途(如多媒体或办公应用程序)对程序包进行分组。在过滤器选择框下将列出多组选择过滤器。这时将预先选择系统上已安装的包。单击行开头的状态框可切换选择的状态标志。通过鼠标右击选择和使用上下文菜单来直接选择状态。右侧的包列表概览显示包含在当前选择中的包,使您可选择和取消选择各个包。

包组过滤器

包组过滤器为各种包提供了一个更侧重技术方面的概述,适合熟悉 SUSE Linux 的包结构的用户使用。这个过滤器按照主题(如应用程序、开发和硬件)在左侧以树结构对程序包进行排序。将分支展开得越深入,选择就越具体,在右侧包列表窗口中显示的包就越少。

此外,这个过滤器允许您不进行分类而按字母顺序来显示所有包。要执行此操作,请选择包组树底部的 按字母顺序列出全部。SUSE Linux 包含大量的包,可能需要一些时间来显示这个长列表。

搜索功能

搜索功能是查找特定包最简单的方法。在指定多个搜索条件时,可能会过多地限制了过滤器,以致于在包列表窗口常常只显示一个包。输入搜索字符串,然后使用复选框来确定搜索该字符串的位置(即是在名称、说明还是包依赖性中)。高级用户可以使用通配符和常规表达式来定义特殊的搜索模式,以及在提供所需字段中搜索包依赖性。例如,可以使用此功能来确定哪个包中包含某个特定库。

[Tip]快速搜索

除了搜索过滤器外,包管理器的所有列表都具有快速搜索功能。只需输入一个字母,光标就会移动到列表中名称以此字母开头的第一个包。光标必须位于列表中(通过单击列表)。

语言

对于 SUSE Linux 中的某些包,提供了语言特定的包,例如程序的用户界面的翻译的文本、文档和字体。此过滤器在左框架中显示 SUSE Linux 支持的所有语言的列表。如果选择列出的语言之一,则右框架显示此语言可用的所有包。在这些包之中,将自动标记应用于当前软件选择的所有包以进行安装。

[Note]注意

因为语言特定的包可能依赖于其它包,所以包管理器将选择安装其它包。

安装摘要

在选择要安装、更新或删除的包后,可使用过滤器选择来查看安装摘要。它将显示当您单击接受时会如何影响包。使用左侧的复选框来过滤要在包列表窗口中显示的包。例如,要查看已经安装了哪些包,请启动包管理器并取消除保持之外的所有复选框。

可以按常规方式更改包列表窗口中的包状态。但是,相应的包可能就不再满足搜索条件。要从列表中去除这样的包,请使用更新列表来更新列表。

3.2.1.3. 包列表窗口

前面已经提到,在包列表窗口右侧将显示各个包的列表。此列表的内容由当前选择的过滤器确定。例如,如果选择了选择过滤器,则包列表窗口将显示当前选择的所有包。

在包管理器中,每个包都有一个状态,它决定着要对包执行的操作,如“安装”或“删除”。此状态通过位于行开头的状态框中的一个符号来显示。要切换某项目的状态,请右击此项目,然后从打开的菜单中单击或选择所需状态。根据当前情况,可能不能选择某些状态标志。例如,不能将尚未安装的包设置为“删除”。请使用帮助+符号来查看可用状态标志。

包管理器提供以下包状态标志:

不安装

尚未安装且将不会安装此包。

安装

尚未安装但将会安装此包。

保持

已经安装此包,而且将不会更改它。

更新

已经安装此包,而且将用安装媒体上的版本来替换它。

删除

已经安装此包,而且将删除它。

禁忌—请不要安装

没有安装而且以后也永远不会安装此包。它将被视为不存在于任何安装媒体上。如果将会自动选择包来解决依赖性,则“禁忌”设置可防止此情况发生。但这样可能会导致必须手工解决某些不一致(依赖性检查)。因此,“禁忌”主要供专家用户使用。

受保护

已安装此包,而且不应修改它。计算机会为第三方包(没有 SUSE 签名的包)自动指派此状态,以防止安装介质上的更高版本将其覆盖。这样可能会导致必须手工解决某些包冲突。

自动安装

由于另一个包的需要,已自动选择此包来进行安装(解决包依赖性)。要取消选择此类包,则可能必须选择状态“禁忌”。

自动更新

已经安装此包。但由于另一个包需要此包的较新版本,系统将自动更新已安装版本。

自动删除

已经安装此包,但现存的包冲突要求删除此包。例如,在当前包已经被另一个包替换时就可能会发生这种情况。

自动安装(选择后)

由于此包是预定义的选择(如“多媒体”或“开发”)的一部分,已自动选择它来进行安装。

自动更新(选择后)

已经安装了此包,但安装媒体上存在此包的一个较新版本。此包是预定义的选择(如选择进行更新的“多媒体”或“开发”)的一部分,它被选定来进行更新,并且将自动更新。

自动删除(选择后)

已经安装此包,但预定义的选择(如“多媒体”或“开发”)要求删除此包。这种情况不会经常发生。

此外,您可以确定是否安装包的源文件。这些信息可补充当前包状态,而且不能用鼠标进行切换或从上下文菜单直接选择。可以使用包行末尾的复选框来选择源包。也可在下面访问此选项。

安装源

同时安装源代码。

不安装源

不安装源代码。

包列表窗口中各个包所用的字体颜色提供了附加信息。安装媒体上存在有较新版本的已安装包显示为蓝色。版本号高于安装媒体上的版本的已安装包显示为红色。但是,因为包的版本编号不总是线性的,这些信息可能会不完整,但足以指出有问题的包。如有必要,可在信息窗口中检查版本号。

3.2.1.4. 信息窗口

右下方框架中的选项卡提供了有关所选包的信息。所选包的说明自动处于活动状态。请单击其他选项卡来查看技术数据(包大小、组等)、此包所依赖的其他包的列表或版本信息。

3.2.1.5. 资源窗口

在选择软件期间,模块左下方的资源窗口会显示所有已装入文件系统的未来用途。每次选择后,带颜色的条形图都会增长。只要它保持为绿色,就表明仍有足够的空间。随着不断接近磁盘空间上限,条柱的颜色会逐渐变为红色。如果选择安装的包过多,就会显示一个警报。

3.2.1.6. 菜单栏

利用位于窗口左上部的菜单栏可以访问上述大多数功能,该菜单栏包含以下 4 个菜单:

文件

选择文件+导出将所有已安装包的列表保存在一个文本文件中。如果希望以后或在其他系统上复制某个特定的安装范围,建议您这样做。可以使用导入来导入以这种方式生成的文件,同时生成与保存时相同的包选择。在这两种情况下,都要定义文件的位置或接受建议。

如果要退出包管理器而不将更改保存到包选择,请单击退出—放弃更改。要保存更改,请单击退出—保存更改。这样将应用所有的更改并终止程序。

菜单中的项目始终与包列表窗口中当前选择的包相关。虽然会显示所有的状态标志,但您只能选择当前包可用的状态标志。使用复选框来指定是否安装包的源文件。单击所有包状态标志列表可打开一个子菜单,列出所有的包状态标志。但是,这些标志不仅影响当前包,而且影响此列表中的所有包。

其他

其他菜单提供了用于处理包依赖性和冲突的选项。如果已手动选择了要安装的包,请单击显示自动包更改来查看包管理器已自动选择用于解决依赖性的包列表。如果仍存在未解决的包冲突,则会显示警报并给出建议解决方案。

如果将包冲突设置为忽略,则会将此信息永久地保存在系统中。否则在每次启动包管理器时,都必须将相同的包设置为忽略。要取消忽略依赖性,请单击重设置被忽略的依赖性冲突

帮助

帮助+概述概要介绍了包管理器的功能。符号下详细介绍了各种包标志。如果倾向于不使用鼠标来操作程序,请单击来查看键盘快捷方式列表。

3.2.1.7. 依赖性检查

检查依赖性自动检查位于信息窗口下。如果单击检查依赖性,包管理器将检查当前包选择是否会造成任何未解决的包依赖性或冲突。如果出现未解决的依赖性,将自动选择所需的其他包。如果出现包冲突,包管理器将打开一个对话框来显示这些冲突,并给出解决问题的多种选择。

如果激活自动检查,包状态的任何更改均会触发自动检查。这是一个很有用的功能,因为这样将永久地监视包选择的一致性。但这一进程会消耗资源并可能使包管理器运行速度下降。因此在默认情况下不激活自动检查。无论哪种情况,在单击接受来确认您的选择时,均会执行一致性检查。

在以下示例中,可能无法同时安装 sendmailpostfix图 3.3 “包管理器的冲突管理” 显示了冲突讯息,提示您作出决定。已经安装了 postfix。因此,您可以选择不安装 sendmail、去除 postfix 或冒险同时安装二者并忽略冲突。

[Warning]处理包冲突

在处理包冲突时,建议您接受 YaST 的建议,因为不这样的话,您的系统的稳定性和功能就可能会受到现有冲突的影响。

图 3.3. 包管理器的冲突管理

包管理器的冲突管理

3.2.2. 更改安装源

YaST 可管理多个安装源。它使您可根据不同的安装或更新目的来选择它们。当此模块启动时,会显示先前注册的所有安装源的列表。从 CD 进行正常安装后,仅列出安装 CD。单击添加将其他安装源包含在此列表中。与 CD 和 DVD 等可移动媒体一样,也可以添加如 NFS 和 FTP 服务器等网络安装源。甚至可以选择本地硬盘上的目录作为安装媒体。请查看详细的 YaST 帮助文本以获取更多详细信息。

所有已注册安装源在列表的第一列都有一个激活状态。单击激活或取消来激活或取消相应的安装源。在安装软件包或更新程序期间,YaST 会从已激活安装源列表中选择一个适当的项。选择关闭退出此模块时,当前设置将被保存并应用到配置模块安装和去除软件系统更新

3.2.3. YaST 联机更新

YaST 联机更新 (YOU) 使您可安装重要的更新程序和改进程序。这些增补程序可从 SUSE FTP 服务器和多个镜像服务器下载。

安装源下选择多个服务器之一。当您选择服务器时,就会将其 URL 复制到输入字段,在其中可对它进行编辑。也可以采用 file:/my/path/my/path 格式指定本地 URL。使用新建服务器可用其他服务器扩展现有列表。单击编辑服务器来修改当前所选服务器的设置。

在启动此模块时,手工选择增补程序处于活动状态,用于选择要获取的增补程序。要应用所有可用的建议和安全增补程序,请取消此选项。但是,根据网络连接的带宽和要传送的数据量,下载时间可能会很长。

如果激活再次下载所有增补程序,就会从服务器下载所有可用的增补程序、可安装包和说明。如果不激活它(默认),则仅检索您的系统上尚未安装的增补程序。

此外,也可以自动更新系统。单击配置完全自动更新,可配置定期自动查找并应用更新程序的进程。此过程完全是自动完成的。系统必须能够在安排的时间连接到更新服务器。

要执行更新,请单击下一步。对于手动更新而言,这将装载所有可用增补程序的列表并启动包管理器,如第 3.2.1 节 “安装和去除软件”中所述。在包管理器中,YOU 增补程序过滤器会被激活,使您可选择要安装的更新程序。在启动时,如果在系统上已安装了相关的包,就会预先选择可用的安全性增补程序和建议增补程序。应接受此建议。

在完成选择后,在包管理器中单击接受。然后从服务器下载所选的全部更新程序并将其安装在您的计算机上。根据连接速度和硬件性能,这可能会需要较长时间。所有错误都被显示在一个窗口中。如果需要,可跳过有问题的包。在安装前,某些增补程序会打开一个显示详细信息的窗口。

在下载和安装更新程序时,可以在日志窗口中跟踪所有操作。在成功安装所有增补程序后,单击关闭退出 YOU。如果在安装后不需要这些更新程序文件,请选择更新后去除源包,这样就可以在更新后删除它们。最后执行 SUSEconfig 来根据需要调整系统配置。

3.2.4. 增补程序 CD 更新

此选项将从 CD 而非 FTP 服务器安装增补程序。其优势在于使用 CD 可以更快地进行更新。插入增补程序 CD 后,将扫描 CD 上的所有增补程序并将其显示在对话框中。然后可以从增补程序列表中选择要安装的包。如果不存在增补程序 CD,模块就会发出一条错误讯息。这时应插入增补程序 CD,然后重启动此模块。

3.2.5. 系统更新

此模块用于更新您的系统上已安装的版本。在操作期间,只能更新应用程序软件,而不能更新 SUSE Linux 基础系统。要更新基础系统,请从安装媒体(如 CD)引导计算机。在 YaST 中选择安装方式时,应选择更新现有系统而非全新安装

更新系统的过程与全新安装类似。最初,YaST 会检查系统,确定适当的更新策略,并将结果显示在建议对话框中。单击更改或各个项以更改任意细节。

3.2.5.1. 更新选项

设置您的系统的更新方法。有两个选项可用。

通过安装新软件更新

要将整个系统更新到最新软件版本,请选择一个预先定义的选择。这些选择与安装过程提供的选择相同。它们可确保安装先前不存在的包。

仅更新已安装的包

此选项仅更新系统上已存在的包。将不会安装任何新功能。

此外,可以使用删除过时的包来去除新版本中不存在的包。默认情况下将预先选择此选项,以避免过时的包无谓地占用硬盘空间。

3.2.5.2. 包

单击来启动包管理器并选择或取消选择要更新的各个包。应使用一致性检查来解决任何包冲突。第 3.2.1 节 “安装和去除软件”中详细介绍了包管理器的使用。

3.2.5.3. 备份

在更新期间,某些包的配置文件可能会被替换为新版本的包的配置文件。因为您可能会修改当前系统中的某些文件,包管理器通常会保留被替换文件的备份副本。利用此对话框可确定这些备份的范围。

[Important]备份的范围

这里的备份不包括软件。它只包括配置文件。

3.2.5.4. 语言

此处会列出系统上当前安装的主要和其它语言。可通过在显示的配置中单击语言或单击更改+语言来更改语言。您可以选择调整键盘布局和时区以适应使用该主要语言的地区。有关语言选择的更多信息,请参见第 3.7.11 节 “语言选择”

3.2.5.5. 有关更新的重要信息

系统更新是一个非常复杂的过程。对于每个程序包,YaST 必须先检查计算机上安装的版本,然后确定需要执行的操作以正确地将旧版本替换成新版本。YaST 还会尝试采用已安装的包的所有个人设置。有些配置可能会产生问题,原因是旧的配置无法正确地处理新程序版本,或在不同配置之间出现意外的不一致。

现有的版本越旧,要更新的包的配置与标准配置的差别就越大,更新时就越可能会出现问题。有时无法正确采用旧的配置。在这种情况下就必须进行全新配置。在启动更新之前,应保存现有配置。

3.2.6. 安装到 XEN 的目录

此 YaST 模块允许您将包安装到 XEN 的目录中。Xen 是用于 x86 兼容计算机的虚拟机监视器 (VMM),它使您能够在单个物理系统上安全而又高效地运行多个虚拟机(每个虚拟机都带有自己的操作系统)。YaST 允许您确定放置根目录的位置、命名目录的方式和希望安装的系统和软件类型。选择了此模块后,YaST 会确定系统设置并列出默认目录、安装说明和要安装的软件。可以通过单击更改来编辑。必须通过单击接受来确认所有更改。在完成所有更改之后,单击下一步直到通知安装完成。单击完成来退出对话框。有关 XEN 的详细信息,请参见第 37 章 使用 Xen 来实现虚拟化 (↑参考)

3.2.7. 媒体检查

如果在使用 SUSE Linux 安装媒体时遇到任何问题,您可以使用此模块检查 CD 或 DVD。在特殊情况下,某些设备在读取特定媒体时会出现问题。“自制的”媒体更容易发生此情况。要检查 SUSE Linux CD 或 DVD 是否有错误,只要将该媒体插入驱动器中并运行此模块即可。单击启动,YaST 将检查媒体的 MD5 校验和。这可能要花几分钟时间。如果检测到有任何错误,则不应使用此媒体进行安装。

图 3.4. 检查媒体

检查媒体