这可以追溯到非常基本的内容,但是我对如何使用感到困惑。
我们知道yum
是一个仓库管理器,它基于rpm
在基于RPM的系统(如Fedora)中的程序包管理器。
话虽如此,我认为这两个命令可用于产生相同的输出(从这个意义上说,我猜yum命令是rpm命令的包装器),但是事实证明我是错的。请考虑以下示例:
[myuser@localhost ~] yum list installed | wc -l
1627
[myuser@localhost ~] rpm -qa | wc -l
1640
这两个命令产生不同的结果,我认为不应该这样。如果有人能解释其背后的场景,我将不胜感激。
PS:我正在使用Fedora 28
答案 0 :(得分:0)
它们不会产生完全相同的输出... 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
的数量也有偏差;因为它包含 pubkey 条目;不是真正的软件包。
看看这个答案,其中有关于这些输出的许多详细信息:https://unix.stackexchange.com/a/330599/64031