跳转到内容跳转到页面导航:上一页 [访问键 p]/下一页 [访问键 n]
适用于 openSUSE Leap 15.6

9 安装或卸载软件 编辑源文件

摘要

使用 YaST 的软件管理模块,您可以搜索软件包以及安装和删除它们。在安装包时,YaST 会自动解决所有依赖关系。要安装未在安装介质上的包,您可以添加软件仓库并让 YaST 管理它们。您还可以使用更新小程序保持系统最新。

YaST 软件管理器使您能够管理系统上的软件源。此 YaST 模块有两个版本:一个用于 X Window 的图形版本,一个用于命令行使用的文本版本。下面描述了图形版本——有关文本 YaST 的详细信息,请参阅 “参考”手册,第 1 章“文本模式下的 YaST”

Note
注意:确认和审查更改

在安装、更新或删除软件包时,软件管理器中的任何更改仅在单击 接受应用 后才会生效。YaST 会维护一个包含所有操作的列表,允许您在将其应用于系统之前审查和修改您的更改。

9.1 术语定义 编辑源文件

以下术语对于理解在 openSUSE Leap 中安装和删除软件非常重要。

仓库

包含软件包以及有关这些软件包的其他信息(软件包元数据)的本地或远程目录。

(仓库) 别名/仓库名称

仓库的简短名称(在 Zypper 中称为 Alias,在 YaST 中称为 仓库名称)。用户在添加仓库时可以选择它,并且必须是唯一的。

仓库描述文件

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

产品

代表整个产品,例如 openSUSE® Leap

模式

模式是为特定目的设计的可安装的软件包组。例如,Laptop 模式包含在移动计算环境中所需的所有软件包。模式定义软件包依赖关系(例如必需或推荐的软件包),并带有预选的软件包标记以进行安装。这可确保在安装模式后,系统上可用完成特定目的所需的最重要的软件包。如有必要,您可以手动选择或取消选择模式中的软件包。

软件包

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

补丁

补丁由一个或多个软件包组成,并且可能由 delta RPM 应用。它也可能引入尚未安装的软件包的依赖关系。

可解析

产品、模式、软件包或补丁的通用术语。最常用的可解析类型是软件包或补丁。

Delta RPM

Delta RPM 仅包含两个定义版本软件包之间的二进制差异,因此具有最小的下载大小。在安装之前,完整的 RPM 软件包会在本地机器上重建。

软件包依赖关系

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

9.2 使用 YaST 软件管理器 编辑源文件

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

YaST software manager screen

9.2.2 安装和删除软件包或模式 编辑源文件

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

Note
注意:删除软件包

删除任何软件包时,YaST 默认情况下仅删除所选软件包。如果您希望 YaST 也可以删除在删除指定软件包后变得不再需要的任何其他软件包,请从主菜单中选择 选项 › 删除软件包时清理

  1. 第 9.2.1 节,“搜索软件” 中所述搜索软件包。

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

    Tip
    提示:将操作应用于列表中所有软件包

    要将操作应用于右侧窗格中列出的所有软件包,请转到主菜单并从 软件包 › 此列表中的全部 中选择一个操作。

  3. 要安装模式,请右键单击模式名称并选择 安装

  4. 无法删除模式。相反,选择您要删除的模式的软件包并将其标记为删除。

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

  6. 在应用更改之前,可以通过单击 视图 › 安装摘要 来查看或修改它们。默认情况下,将列出所有状态将更改的软件包。

  7. 要恢复软件包的状态,请右键单击该软件包并选择以下条目之一:如果该软件包计划被删除或更新,则选择 保留;如果该软件包计划安装,则选择 不安装。要放弃所有更改并退出软件管理器,请单击 取消放弃

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

  9. 如果 YaST 发现其他依赖关系,它将显示一个包含相关软件包以进行安装、更新或删除的列表。单击 继续 以接受它们。

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

Note
注意:安装源软件包

目前无法使用 YaST 软件管理器安装源软件包。为此,请使用命令行工具 zypper。有关更多信息,请参阅 “参考”手册,第 2 章“使用命令行工具管理软件”,第 2.1.3.5 节“安装或下载源软件包”

9.2.3 更新软件包 编辑源文件

与其更新单个软件包,您还可以更新所有已安装的软件包或来自特定仓库的所有软件包。在批量更新软件包时,通常会考虑以下方面

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

  • 软件包的架构(例如,AMD64/Intel 64),

  • 软件包的版本号,

  • 软件包供应商。

选择更新候选的标准取决于您选择的更新选项。

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

    将检查所有仓库中是否有可用的更新候选软件包,并使用以下策略:YaST 首先尝试将搜索限制为与已安装软件包具有相同架构和供应商的软件包。如果搜索成功,则将根据以下过程选择这些软件包中的 最佳 更新候选软件包。但是,如果找不到具有相同供应商的软件包,则搜索范围将扩展到所有具有相同架构的软件包。如果仍然找不到可比较的软件包,则将考虑所有软件包,并根据以下标准选择 最佳 更新候选软件包

    1. 仓库优先级:优先选择来自优先级最高的仓库的软件包。

    2. 如果多个软件包来自此选择,则选择具有 最佳 架构(最佳选择:与已安装软件包的架构匹配)的软件包。

    如果结果软件包的版本号高于已安装软件包,则将更新已安装软件包并替换为选定的更新候选软件包。

    此选项尝试避免更改已安装软件包的架构和供应商,但在某些情况下,可以容忍这些更改。

    Note
    注意:无条件更新

    如果您选择 软件包 › 所有软件包 › 无条件更新,则适用相同的标准,但找到的任何候选软件包都将被无条件安装。因此,选择此选项可能会导致降级某些软件包。

  2. 要确保批量更新的软件包来自特定仓库

    1. 第 9.2.1 节,“搜索软件” 中所述选择要更新的仓库。

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

      当您使用 接受 继续时,如果可用,所有已安装的软件包都将被来自此仓库的软件包替换。这可能会导致供应商和架构的更改,甚至导致某些软件包降级。

    3. 要避免这种情况,请单击 取消切换系统软件包到此仓库中的版本。您只能在单击 接受 按钮之前取消此操作。

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

  4. 如果所有选项都已根据您的意愿设置,请使用 接受 确认您的更改以开始批量更新。

9.2.4 软件包依赖关系 编辑源文件

大多数软件包依赖于其他软件包。例如,如果一个软件包使用共享库,那么它就依赖于提供该库的软件包。某些软件包不能共存,从而导致冲突(例如,您只能安装一个邮件传输代理:sendmail 或 postfix)。在安装或删除软件时,软件管理器会确保没有未解决的依赖关系或冲突,以确保系统完整性。

如果只有一个解决方案可以解决依赖关系或冲突,则会自动解决。多个解决方案总是会导致需要手动解决的冲突。如果解决冲突涉及供应商或体系结构更改,也需要手动解决。单击接受以应用软件管理器中的任何更改时,您将获得自动解析器触发的所有操作的概述,您需要确认这些操作。

默认情况下,会自动检查依赖关系。每次您更改软件包状态(例如,将软件包标记为安装或删除)时,都会执行检查。这通常很有用,但在手动解决依赖关系冲突时可能会让人感到厌烦。要禁用此功能,请转到主菜单并停用依赖关系 › 自动检查。使用依赖关系 › 立即检查手动执行依赖关系检查。在您使用接受确认您的选择时,始终会执行一致性检查。

要查看软件包的依赖关系,请右键单击它并选择显示求解器信息。将打开一个显示依赖关系的图表。已安装的软件包将以绿色边框显示。

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

除非您有经验,否则请遵循 YaST 在处理软件包冲突时提出的建议,否则您可能无法解决它们。请记住,您所做的任何更改都可能触发其他冲突,因此您很容易陷入不断增加的冲突数量。如果发生这种情况,请取消软件管理器,放弃所有更改并重新开始。

Conflict management of the software manager
图 9.1: 软件管理器的冲突管理

9.2.5 处理软件包推荐 编辑源文件

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

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

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

9.3 管理软件仓库和服务 编辑源文件

要安装第三方软件,请将软件仓库添加到您的系统中。默认情况下,产品仓库(例如openSUSE Leap-DVD 15.6)和匹配的更新仓库会自动配置。根据最初选择的产品,可能还会配置包含翻译、字典等内容的额外仓库。

要管理仓库,请启动 YaST 并选择软件 › 软件仓库。将打开已配置的软件仓库对话框。在这里,您还可以通过将对话框右下角的视图更改为所有服务来管理服务的订阅。在此上下文中,服务是仓库索引服务 (RIS),可以提供一个或多个软件仓库。此类服务可以由其管理员或供应商动态更改。

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

Warning
警告:信任外部软件源

在将外部软件仓库添加到您的仓库列表中之前,请确保可以信任此仓库。SUSE 对从第三方软件仓库安装的软件引起的任何问题不承担责任。

9.3.1 添加软件仓库 编辑源文件

您可以从 DVD/CD、USB 闪存驱动器、本地目录、ISO 镜像或网络源添加仓库。

要从 YaST 的已配置的软件仓库对话框添加仓库,请按以下步骤操作

  1. 单击添加

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

    Adding a software repository
    图 9.2: 添加软件仓库
    • 要扫描您的网络以查找通过 SLP 广播其服务的安装服务器,请选择使用 SLP 扫描并单击下一步

    • 要从可移动介质添加仓库,请选择相关选项并将介质或连接 USB 设备插入机器。单击下一步以开始安装。

    • 对于大多数仓库,您将在选择相应选项并单击下一步后,会被要求指定媒体的路径(或 URL)。指定仓库名称是可选的。如果未指定,YaST 将使用产品名称或 URL 作为仓库名称。

    默认情况下,激活了下载仓库描述文件选项。如果您停用该选项,YaST 将在需要时自动下载这些文件。

  3. 根据您添加的仓库,您可能会被要求导入仓库的 GPG 密钥或同意许可协议。

    确认后,YaST 将下载并解析元数据。它会将仓库添加到已配置的仓库列表中。

  4. 如有必要,请按照第 9.3.2 节,“管理仓库属性”中所述调整仓库属性

  5. 使用确定确认您的更改以关闭配置对话框。

  6. 成功添加仓库后,软件管理器启动,您可以从该仓库安装软件包。有关详细信息,请参阅第 9 章,安装或删除软件

9.3.2 管理仓库属性 编辑源文件

已配置的软件仓库概述的软件仓库让您可以更改以下仓库属性

状态

仓库状态可以是已启用已禁用。您只能从启用的仓库安装软件包。要暂时关闭仓库,请选择它并停用启用。您还可以双击仓库名称以切换其状态。要完全删除仓库,请单击删除

刷新

刷新仓库时,其内容描述(软件包名称、版本等)将被下载到本地缓存,该缓存由 YaST 使用。对于静态仓库(例如 CD 或 DVD),只需执行一次即可,而内容经常更改的仓库应经常刷新。保持仓库缓存最新的最简单方法是选择自动刷新。要手动刷新,请单击刷新并选择其中一个选项。

保留下载的软件包

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

优先级

仓库的优先级是一个介于1200之间的值,1是最高优先级,200是最低优先级。使用 YaST 添加的任何新仓库默认情况下都具有优先级99。如果您不关心某个仓库的优先级值,也可以将该值设置为0,以将默认优先级(99)应用于该仓库。如果一个软件包在多个仓库中可用,则优先级最高的仓库优先。这对于避免从 Internet 上不必要地下载软件包很有用,方法是为本地仓库(例如 DVD)赋予更高的优先级。

Important
重要提示:优先级与版本

优先级最高的仓库始终优先。因此,请确保更新仓库始终具有最高优先级,否则您可能会安装过时的版本,直到下次在线更新才会更新。

名称和 URL

要更改仓库名称或其 URL,请从列表中单击仓库,然后单击编辑

9.3.3 管理仓库密钥 编辑源文件

为了确保其完整性,软件仓库可以使用仓库维护者的 GPG 密钥进行签名。每当您添加新仓库时,YaST 都会提供导入其密钥的能力。像对待任何其他 GPG 密钥一样验证它,并确保它不会更改。如果您检测到密钥更改,仓库可能存在问题。在您知道密钥更改的原因之前,请禁用仓库作为安装源。

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

9.4 GNOME 软件包更新器 编辑源文件

SUSE 为您的产品提供持续的软件安全补丁和更新。可以使用您的桌面中提供的工具或运行YaST 在线更新模块来安装它们。本节介绍如何使用 GNOME 桌面上的软件包更新器更新系统。

与 YaST 在线更新模块不同,GNOME 软件包更新器不仅提供从更新仓库安装补丁,还提供已安装软件包的新版本。(补丁修复安全问题或故障;功能和版本号通常不会更改。软件包的新版本会增加版本号并添加功能或引入重大更改。)

每当有新的补丁或软件包更新可用时,GNOME 都会在通知区域或锁屏界面上显示通知。

Update notification on GNOME desktop
图 9.3: GNOME 桌面上的更新通知

要配置软件包更新器的通知设置,请启动 GNOME 设置并选择通知 › 软件包更新器

过程 9.1: 使用 GNOME 软件包更新器安装补丁和更新
  1. 要安装补丁和更新,请单击通知消息。这将打开 GNOME 软件包更新器。或者,从活动中打开更新器,键入package U并选择软件包更新器

  2. 更新分为四类

    安全更新(补丁)

    修复严重的安全漏洞,应始终安装。

    推荐更新(补丁)

    修复可能危及您的计算机的问题。强烈建议安装它们。

    可选更新(补丁)

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

    其他更新

    已安装软件包的新版本。

    所有可用的更新都预先选中以进行安装。如果您不想安装所有更新,请先取消选中不需要的更新。强烈建议始终安装所有安全和推荐更新。

    要获取有关更新的详细信息,请单击其标题,然后单击详细信息。信息将显示在软件包列表下方的框中。

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

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

9.5 使用 GNOME 软件 更新软件包 编辑源文件

除了 GNOME 软件包更新器,GNOME 还提供 GNOME 软件,它具有以下功能

  • 通过 PackageKit 安装、更新和卸载以 RPM 格式提供的软件

  • 安装、更新和卸载以 Flatpak 格式提供的软件

  • 安装、更新和卸载 GNOME shell 扩展 (https://extensions.gnome.org)

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

GNOME 软件 还提供软件的截图、评分和评论。

GNOME Software—Updates view
图 9.4: GNOME 软件更新视图

GNOME 软件openSUSE Leap 提供的其他工具相比,存在以下差异

  • 与 YaST 或 Zypper 不同,对于安装以 RPM 格式打包的软件,GNOME 软件 仅限于提供 AppStream 元数据的软件。这包括大多数桌面应用程序。

  • GNOME 软件包更新器 更新正在运行的系统中的软件包(强制您重启相应的应用程序),而 GNOME 软件 下载更新并在重启后应用它们。

打印此页面