SLE (SLES、SLED) 15 引入了模块化设计,其中软件包可以来自一组不同的“模块”。要安装这样的软件包,必须“启用”相应的模块(例如通过SUSEConnect
)。
有一个命令可以列出已启用的模块(SUSEConnect --list-extensions
),但我找不到一个命令来查询已安装包的“模块来源”(我最初猜测 RPM 查询标签DISTURL
会显示它,但结果证明是错误的)。
是否有命令可以找出提供已安装 RPM 包的模块,或者列出从特定模块安装的所有包的命令?
答案1
我之前无法找到解决方案的一个原因是命名法:虽然 SUSE 将其称为“模块”,但基本上只是单独的“存储库”(可能需要额外的许可证/订阅)。
因此,诀窍就是像这样对存储库进行过滤:
MOD_BASE=SLE-Module-Legacy15-SP2
zypper packages --installed-only --repo ${MOD_BASE}-Pool --repo ${MOD_BASE}-Updates
(第二个存储库包含软件包更新,也许你可以忽略它)
输出可能如下所示:
Refreshing service 'Basesystem_Module_15_SP2_x86_64'.
Refreshing service 'Desktop_Applications_Module_15_SP2_x86_64'.
Refreshing service 'Development_Tools_Module_15_SP2_x86_64'.
Refreshing service 'Legacy_Module_15_SP2_x86_64'.
Refreshing service 'SUSE_Linux_Enterprise_High_Availability_Extension_15_SP2_x86_64'.
Refreshing service 'SUSE_Linux_Enterprise_Server_for_SAP_Applications_15_SP2_x86_64'.
Refreshing service 'SUSE_Package_Hub_15_SP2_x86_64'.
Refreshing service 'Server_Applications_Module_15_SP2_x86_64'.
Building repository 'SLE-Module-Legacy15-SP2-Pool' cache ...................................................................................................................................................................[done]
Building repository 'SLE-Module-Legacy15-SP2-Updates' cache ................................................................................................................................................................[done]
Loading repository data...
Reading installed packages...
S | Repository | Name | Version | Arch
---+---------------------------------+---------------------------+-----------------+-------
i+ | SLE-Module-Legacy15-SP2-Updates | ntp | 4.2.8p15-4.19.1 | x86_64
v | SLE-Module-Legacy15-SP2-Updates | ntp | 4.2.8p15-4.16.1 | x86_64
v | SLE-Module-Legacy15-SP2-Updates | ntp | 4.2.8p15-4.13.1 | x86_64
v | SLE-Module-Legacy15-SP2-Updates | ntp | 4.2.8p15-4.10.1 | x86_64
v | SLE-Module-Legacy15-SP2-Pool | ntp | 4.2.8p13-4.6.1 | x86_64
i+ | SLE-Module-Legacy15-SP2-Pool | sle-module-legacy-release | 15.2-44.1 | x86_64