跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / 管理指南 / 常用任务 / 安装或去除软件
适用范围 SUSE Linux Enterprise Server 15 SP6

8 安装或去除软件

使用 YaST 的软件管理模块,您可以搜索、安装和去除软件包。安装软件包时,YaST 将自动解析所有依赖项。要安装未存放在安装媒体中的软件包,可以添加软件储存库和 YaST 来管理它们。您还可以使用更新小程序管理软件更新,让系统保持最新状态。

YaST 软件管理器让您可以管理系统上的储存库。此 YaST 模块有两个版本:一个是 X Window 的图形版本,另一个是搭配命令行使用的基于文本的版本。下文会介绍图形变体 — 有关基于文本的 YaST 的细节,请参见第 4 章 “文本模式下的 YaST

注意
注意:确认和检查更改

安装、更新或去除软件包时,只有在单击接受应用之后,才会应用软件管理器中的所有更改。YaST 有一个包含所有操作的列表,允许您在将更改应用于系统前对更改进行复查和修改。

8.1 术语定义

要了解如何在 SUSE Linux Enterprise Server 中安装和去除软件,必须理解以下术语。

储存库

包含软件包和有关这些软件包的更多信息(软件包元数据)的本地或远程目录。

(储存库)别名/储存库名称

储存库的简短名称(在 Zypper 中称为 Alias,在 YaST 中称为储存库名称)。该别名可以由用户在添加储存库时选择且必须唯一。

储存库描述文件

每个储存库都提供描述储存库内容(软件包名称、版本等)的文件。这些储存库描述文件将下载到 YaST 使用的本地缓存中。

产品

表示整个产品,例如 SUSE® Linux Enterprise Server

软件集

软件集是一组专用于某种用途的可安装软件包。例如,Laptop 软件集包含移动计算环境中所需的所有软件包。软件集定义软件包依赖项(比如必需的软件包或推荐的软件包),并预选择了标记为安装的软件包。这可确保在安装此软件集后某种用途所需的最重要的软件包在系统上可用。如有必要,您可以手动选择或取消选择某个软件集中的软件包。

软件包

软件包是 rpm 格式的压缩文件,包含特定程序的文件。

补丁

补丁由一个或多个软件包组成,可通过增量 RPM 应用。它也可能带来尚未安装的软件包的依赖项。

可解决

用于产品、模式、软件包或补丁的一个常用术语。最常见的可解决类型为软件包或补丁。

增量 RPM

增量 RPM 仅包含某个软件包的两个已定义版本之间的有区别二进制文件,因此其下载大小最小。安装前,需要在本地计算机上重构建完整 rpm 软件包。

软件包依赖项

一些软件包依赖于其他软件包,例如共享库。换句话说,一个软件包可能会 require 其他软件包,如果必需的软件包不可用,便无法安装软件包。除了必须满足的依赖关系(软件包要求)之外,某些软件包还会 recommend 其他软件包。这些推荐的软件包仅在可用时才安装,否则系统将忽略它们,不过仍会安装推荐它们的软件包。

8.2 注册已安装的系统

如果您在安装期间跳过了注册,或者想重新注册系统,随时都可以注册系统。使用 YaST 模块产品注册或命令行工具 SUSEConnect

8.2.1 使用 YaST 注册

要注册系统,请启动 YaST,并依次切换到软件产品注册

系统默认会在 SUSE Customer Center 中注册。如果您的组织提供了本地注册服务器,您可以从自动检测到的服务器列表中选择一个服务器,或手动提供 URL。

8.2.2 使用 SUSEConnect 注册

要从命令行注册,请使用命令

> sudo SUSEConnect -r REGISTRATION_CODE -e EMAIL_ADDRESS

REGISTRATION_CODE 替换为与 SUSE Linux Enterprise Server 副本一同收到的注册码。将 EMAIL_ADDRESS 替换为与您或贵组织管理订阅时所用 SUSE 帐户关联的电子邮件地址。

要使用本地注册服务器注册,还需提供该服务器的 URL:

> sudo SUSEConnect -r REGISTRATION_CODE -e EMAIL_ADDRESS --url "URL"

8.3 使用 YaST 软件管理器

YaST 控制中心选择软件 › 软件管理可以启动软件管理器。

YaST software manager screen

8.3.2 安装和去除软件包或软件集

一些软件包依赖于其他软件包,例如共享库。一些软件包不能与其他软件包在系统中共存。如果可行,YaST 会自动解决这些依赖项或冲突。如果您的选择导致无法自动解决的依赖项冲突,则需要按照第 8.3.4 节 “软件包依赖项”中所述手动解决冲突。

注意
注意:软件包的去除

去除软件包时,默认情况下 YaST 仅去除所选的软件包。如果希望 YaST 还去除在去除指定软件包后变为不需要的所有其他软件包,请从主菜单中选择选项 › 删除软件包时清理

  1. 按照第 8.3.1 节 “搜索软件”中所述搜索软件包。

  2. 右窗格中会列出找到的软件包。要安装或删除某个软件包,可以右键单击它并选择安装删除。如果相关选项不可用,可以检查软件包名称前的符号指示的软件包状态 — 按 ShiftF1 可获取帮助。

    提示
    提示:对列出的所有软件包应用操作

    要对右窗格中列出的所有软件包应用某项操作,请转到主菜单,并从软件包 › 此列表中的全部内容中选择操作。

  3. 要安装某个模式,可以右键单击模式名称并选择安装

  4. 无法去除软件集。但可以选择软件集中要去除的软件包,并将它们标记为待去除。

  5. 要选择更多的软件包,请重复上述步骤。

  6. 在应用您的更改前,可以通过单击视图 › 安装摘要对它们进行检查或修改。默认会列出所有将更改状态的软件包。

  7. 要还原某个软件包的状态,可以右键单击该软件包并选择以下任一项:保留(如果已安排要删除或更新软件包),或不安装(如果已安排要安装软件包)。要放弃所有更改并退出软件管理器,请单击取消放弃

  8. 完成后,单击接受应用您的更改。

  9. 如果 YaST 找到其他依赖项,会显示要安装、更新或去除的相关软件包的列表。单击继续接受它们。

    安装、更新或去除所有选定软件包后,YaST 软件管理器会自动关闭。

注意
注意:安装源软件包

目前无法通过 YaST 软件管理器安装源软件包。为了实现该目的,可以使用命令行工具 zypper。有关详细信息,请访问 第 9.1.3.5 节 “安装或下载源软件包”

8.3.3 更新软件包

除了更新单个软件包外,还可以从某个储存库更改所有安装的软件包或所有软件包。大批量更新软件包时,通常需要注意以下几个方面:

  • 提供软件包的储存库的优先级,

  • 软件包的体系结构(例如 AMD64/Intel 64),

  • 软件包的版本号,

  • 软件包的供应商。

哪个方面对选择候选更新软件包最重要,取决于您选择的相应更新选项。

  1. 要将所有安装的软件包更新到最新版本,请从主菜单中选择软件包 › 所有软件包 › 如有较新版本可用则更新

    系统会根据以下策略在所有储存库中检查有无可用的候选更新软件包:YaST 会先尝试将搜索范围限制在与已安装软件包的体系结构和供应商相同的软件包。如果找到结果,将根据以下过程选择最佳候选更新软件包。但是,如果找不到具有相同供应商的可比较软件包,则将搜索范围扩大到具有相同体系结构的所有软件包。如果还是找不到可比较软件包,将考虑所有软件包,并根据以下准则选择最佳候选更新软件包:

    1. 储存库优先级:使用优先级最高的储存库中的软件包。

    2. 如果这种选择的结果得出多个软件包,请选择体系结构最佳的软件包(最佳选择:与已安装软件包的体系结构匹配)。

    如果所选的软件包的版本号比已安装软件包的高,将用所选的候选更新软件包更新并替换已安装软件包。

    此选项会试图避免更改已安装软件包的体系结构和供应商,但在某些情况下,会容许此类更改。

    注意
    注意:无条件更新

    如果选择的是软件包 › 所有软件包 › 无条件更新,则会应用相同的准则,但会无条件安装找到的任何候选软件包。因此,选择此选项可能会使某些软件包降级。

  2. 确保用于大批量更新的软件包来自特定安装源:

    1. 请按照第 8.3.1 节 “搜索软件”中所述选择要从中更新的安装源。

    2. 在窗口的右侧,单击将系统软件包切换为此储存库中的版本。此操作明确允许 YaST 在替换软件包时更改软件包供应商。

      单击接受后,所有已安装的软件包都将替换为来自此储存库的软件包(如果可用)。这样会导致供应商和体系结构变更,甚至会使某些软件包降级。

    3. 要避免这种情况,请单击取消将系统软件包切换为此储存库中的版本。只有在单击接受按钮后才能取消。

  3. 在应用您的更改前,可以通过单击视图 › 安装摘要对它们进行检查或修改。默认情况下,会列出所有将更改状态的软件包。

  4. 如果所有选项都按照您的喜好设置完毕,请单击接受确认您的更改以启动大批量更新。

8.3.4 软件包依赖项

大多数软件包都依赖于其他软件包。例如,如果软件包使用了某个共享库,则它依赖于提供该库的软件包。一些软件包无法共存,否则会产生冲突(例如,邮件传送代理 sendmail 与 postfix 之中,您只能安装一个)。安装或删除软件时,软件管理器会确保不留下任何未解决的依赖项或冲突,以保证系统完整性。

当依赖项或冲突只有一种解决方法时,将会自动解决依赖项或冲突。存在多种解决方法总是会导致需要手动解决的冲突。如果解决冲突涉及到更改供应商或体系结构,则它也需要手动解决。在软件管理器中单击接受应用更改时,会显示由自动解析程序触发的所有操作的概述,需要您确认。

默认情况下,会自动检查依赖项。每次更改软件包的状态时(例如,将某个软件包标记为供安装或删除),都会执行检查。通常它很有用,但在手动解决依赖项冲突时会令人厌烦。要禁用此功能,请转到主菜单,然后停用依赖项 ›  自动检查。通过依赖项 › 立即检查手动执行依赖项检查。在单击接受来确认您的选择时,总是会执行一致性检查。

要查看软件包的依赖项,可以单击右键并选择显示解析程序信息。此时会打开显示依赖项的图。已安装的软件包显示在绿框中。

注意
注意:手动解决软件包冲突

除非有经验,否则在处理软件包冲突时请遵循 YaST 所做的建议,不然可能无法解决它们。请注意,您所做的每个更改都可能会触发其他冲突,因此最终很容易导致冲突数量不断上升。发生这种情况时,请取消软件管理器,放弃所有更改并重新开始。

软件管理器的冲突管理
图 8.1︰ 软件管理器的冲突管理

8.3.5 处理软件包建议

除了具有运行程序所需的硬依赖项(例如特定的库)以外,软件包还可能具有弱依赖项(例如,增加额外的功能或翻译)。这些弱依赖项称为软件包推荐。

安装新软件包时,默认情况下仍会安装推荐的软件包。更新现有软件包时,不会自动安装缺少的推荐软件包。要更改此设置,请在 /etc/sysconfig/yast2 中设置 PKGMGR_RECOMMENDED="yes"。要安装已安装包的所有缺失推荐组件,请启动 YaST ›  软件管理器,然后选择额外 ›  安装所有匹配的推荐包

要在安装新软件包时不安装推荐的软件包,请在 YaST 软件管理器中停用依赖项 › 安装推荐的软件包。如果使用命令行工具 Zypper 来安装软件包,请使用选项 --no-recommends.

8.4 管理软件储存库和服务

要安装第三方软件,请向系统添加软件储存库。默认情况下,系统注册时会自动配置产品储存库(例如 SUSE Linux Enterprise Server-DVD 15 SP6)和匹配的更新储存库。有关注册的更多信息,请参见第 9.7 节 “注册”第 4.8 节 “注册系统”。根据最初所选的产品,可能还会配置包含翻译、词典等的附加储存库。

要管理储存库,请启动 YaST,并选择软件 ›  软件储存库。将打开已配置软件储存库对话框。在此,还可以通过将对话框右角的视图更改为所有服务来管理服务订阅。此环境中的服务是一种储存库索引服务 (RIS),它能提供一个或多个软件储存库。此类服务可通过其管理员或供应商手动更改。

每个储存库都提供描述储存库内容(软件包名称、版本等)的文件。YaST 将这些储存库描述文件下载到本地缓存中。为了确保完整性,可使用软件储存库维护人员的 GPG 密钥来为储存库签名。每当您添加新的储存库时,YaST 都可让您导入其密钥。

警告
警告:信任外部储存库

将外部软件储存库添加到您的储存库列表前,请先确保此储存库可信。对于因安装的来自第三方软件储存库中的软件引起的任何问题,SUSE 不承担任何责任。

8.4.1 添加软件储存库

可以从 DVD/CD、USB 闪存盘、本地目录、ISO 映像或网络源添加储存库。

要通过 YaST 的已配置的软件储存库对话框添加储存库,请执行以下步骤:

  1. 单击添加

  2. 选择对话框中列出的选项之一:

    添加软件储存库
    图 8.2︰ 添加软件储存库
    • 要通过 SLP 在网络中扫描宣告了其服务的安装服务器,请选择使用 SLP 扫描,然后单击下一步

    • 要从可卸媒体添加安装源,请选择相关选项,并在计算机中插入媒体或连接 USB 设备。单击下一步开始安装。

    • 对于大多数储存库,在选择相应的选项并单击下一步后,系统会提示您指定媒体的路径(或 URL)。可以选择性地指定储存库名称。如果不指定任何储存库名称,YaST 将使用产品的名称或 URL 作为储存库名称。

    默认情况下已激活下载储存库说明文件选项。如果停用该选项,YaST 稍后会根据需要自动下载这些文件。

  3. 根据您添加的储存库,系统可能会提示您导入储存库的 GPG 密钥,或者要求您同意许可条款。

    您确认后,YaST 即会下载并分析元数据。它会将储存库添加到已配置储存库列表。

  4. 如果需要,请根据第 8.4.2 节 “管理储存库属性”中所述调整储存库的属性

  5. 单击确定确认所做的更改,并关闭配置对话框。

  6. 成功添加储存库之后,会启动软件管理器,您可以从此储存库安装软件包。有关细节,请参见第 8 章 “安装或去除软件

8.4.2 管理储存库属性

通过软件储存库已配置的软件储存库概述,可以更改以下储存库属性:

状态

储存库状态可以为已启用已禁用。您只能从已启用的储存库安装软件包。要暂时关闭某个储存库,请将它选中并停用启用。您还可以双击某个储存库名称来切换其状态。要彻底去除某个储存库,请单击删除

刷新

刷新储存库时,会将其内容描述(软件包名称、版本等)下载到 YaST 使用的本地缓存中。对于诸如 CD 或 DVD 之类的静态储存库,该操作执行一次就已足够,而对于内容经常改变的储存库,应经常进行刷新。要使储存库的缓存保持最新,最简单的方式就是选择自动刷新。要执行手动刷新,请单击刷新并选择一个选项。

保留已下载的软件包

安装前从远程储存库下载软件包。默认情况下,这些软件包安装成功后即会删除。激活保留已下载的软件包可防止删除已下载的软件包。下载位置在 /etc/zypp/zypp.conf 中配置,默认为 /var/cache/zypp/packages

优先级

储存库优先级是介于 1200 之间的值,1 是最高优先级,200 是最低优先级。默认情况下,通过 YaST 添加的任何新储存库的优先级都是 99。如果您不在意某个储存库的优先级值,还可以将值设置为 0,表示对该储存库应用默认优先级 (99)。如果有多个储存库都提供了某个软件包,那么将优先使用优先级最高的储存库。因此,要避免从互联网下载不需要的软件包,可以为本地储存库(如 DVD)指定较高优先级。

重要
重要:优先级与版本的对比

在任何情况下,优先级最高的储存库都是优先的。因此,请确保更新储存库总是具有最高优先级,否则您可能会安装过时的版本,直到下一次联机更新时才会更新该版本。

名称和 URL

要更改储存库名称或其 URL,可以从列表中单击选择它,然后单击编辑

8.4.3 管理储存库密钥

为了确保完整性,可使用软件储存库维护人员的 GPG 密钥来为储存库签名。每当您要添加新的储存库时,YaST 都可让您导入其密钥。像校验任何其他 GPG 密钥一样对它进行校验,并确保它未更改。如果检测到密钥更改,则说明储存库可能存在错误。禁用它作为储存库,直到知道密钥更改原因为止。

要管理所有导入的密钥,请在已配置的软件储存库对话框中单击 GPG 密钥。用鼠标选择一个项以在窗口底部显示密钥属性。单击相应按钮可添加编辑删除密钥。

8.5 GNOME Package Updater

SUSE 持续为您的产品提供软件安全补丁和更新。可以使用连同桌面一起提供的工具或者运行 YaST 联机更新模块来安装这些补丁和更新。本节介绍如何使用 Package Updater 通过 GNOME 桌面更新系统。

与 YaST Online Update 模块相比,GNOME Package Updater 不仅可以从更新储存库安装补丁,而且还能安装已安装的软件包的新版本。(补丁可以修复安全问题或功能异常;功能和版本号通常不会更改。新版软件包的版本号会增大,并且软件包中会增加功能,或者引入重大更改。)

每当有新的补丁或软件包更新可用时,GNOME 就会在通知区域或锁定屏幕中显示通知。

GNOME 桌面上的更新通知
图 8.3︰ GNOME 桌面上的更新通知

要配置 Package Updater 的通知设置,请启动 GNOME 设置,然后选择通知 › Package Updater

过程 8.2︰ 使用 GNOME Package Updater 安装补丁和更新
  1. 要安装补丁和更新,请单击通知消息。此时会打开 GNOME Package Updater。或者,在活动中键入 package U 并选择 Package Updater,以打开更新程序。

    Image
  2. 更新已按四个类别排序:

    安全性更新(补丁)

    修复严重的安全性危害,请务必安装。

    建议的更新(补丁)

    修复可能危及计算机安全的问题。强烈建议安装此类更新。

    可选更新(补丁)

    修复非安全性相关的问题或提供增强功能。

    其他更新

    已安装的软件包的新版本。

    系统已预先选择安装所有可用更新。如果您不想要安装所有更新,请先取消选择不需要的更新。强烈建议始终安装所有安全更新和建议的更新。

    要查看某个更新的详细信息,请单击其标题,然后单击细节。信息即会显示在软件包列表下面的框中。

  3. 单击安装更新以开始安装。

  4. 某些更新可能需要重启动计算机或注销。检查安装后显示的消息,以获取相关说明。

8.6 使用 GNOME Software 更新软件包

除 GNOME Package Updater 以外,GNOME 还提供具有以下功能的 GNOME Software

  • 安装、更新和去除通过 PackageKit 以 RPM 形式交付的软件

  • 安装、更新和去除以 Flatpak 形式交付的软件

  • 安装、更新和去除 GNOME 外壳扩展 (https://extensions.gnome.org)

  • 使用 Linux 供应商固件服务(LVFS,请参见 https://fwupd.org)更新硬件设备的固件

GNOME Software 还提供软件的屏幕截图、评级和评论。

GNOME Software — 更新视图
图 8.4︰ GNOME Software更新视图

SUSE Linux Enterprise Server 中提供的其他工具相比,GNOME Software 存在以下差别:

  • YaST 或 Zypper 可以安装打包为 RPM 的软件,而 GNOME Software 则与此不同,它仅限于安装可提供 AppStream 元数据的软件。这包括大部分桌面应用程序。

  • GNOME Package Updater 会更新正在运行的系统中的软件包(这会强制您重启动相应的应用程序),而 GNOME Software 则是下载更新并在重引导后应用这些更新。