这又回到了非常基础,但是我对如何做感到困惑。
我们知道yum
是一个基于rpm
基于 RPM 的系统(如 Fedora)中的包管理器的存储库管理器。
话虽如此,我认为这两个命令可以用来产生相同的输出(从这个意义上说,我想 yum 命令是 rpm 命令的包装器),但是我只是被证明是错误的。请考虑以下示例:
[myuser@localhost ~] yum list installed | wc -l
1627
[myuser@localhost ~] rpm -qa | wc -l
1640
这两个命令会产生不同的结果,我认为不应该。如果有人能解释其背后的场景,我将不胜感激。
PS:我在 Fedora 28 上
它们不会产生完全相同的输出...yum list installed
还打印了一些标题:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* epel: ftp.nluug.nl
epel
Installed Packages
此外,一些软件包可以打印在多行上,其中包含其版本号和存储库。
如果您开始计算这些行,则计数将不正确。请注意,yum list installed
的输出也会在同一行上重新打印输出;不知道wc
如何处理...
然而,rpm -qa | wc -l
的计数也是有偏差的;因为它包含公钥条目;这不是真正的包。
看看这个答案,其中有很多关于这些输出的细节:https://unix.stackexchange.com/a/330599/64031