yum - 检查软件包是否已经安装

Ama*_*ius 7 yum software-installation

当我yum install <X><X>已经安装的地方运行时,yum退出并返回 1 状态并打印“错误:无事可做”。

除了在输出中检查这个字符串(这似乎是我的脚本的基础非常不稳定),还有什么方法可以测试包是否已经存在?很明显,yum 知道它是否已经存在,因为它抛出了那个错误,但是我怎样才能访问这些知识呢?

除此之外,一些包是通过 URL 下载的,而不是包名,所以检查yum list installed不起作用。

JJo*_*oao 7

在您的脚本中使用rpm -q packagename

if  rpm -q  vim-enhanced
then
  ...
else
  ...
fi
Run Code Online (Sandbox Code Playgroud)


pet*_*try 5

你可以试试:

#yum list installed | grep tmux
tmux.x86_64                      1.9a-5.fc21        @updates                    
Run Code Online (Sandbox Code Playgroud)

或者:

#yum list installed tmux
Loaded plugins: langpacks
Installed Packages
tmux.x86_64                                                               1.9a-5.fc21                                                               @updates
Run Code Online (Sandbox Code Playgroud)

没有grep你得到一些额外的行,但是两个输出都可以根据你的需要通过一些文本编辑器进行管道传输。