按模式安装 yum 包

sti*_*tiv 6 yum rhel

我想安装所有的 openoffice 软件包。通过 openoffice* 显然不起作用,因为它会查看文件系统。我怎样才能做到这一点?

max*_*zig 9

您可以使用 shell 通配模式作为包名:

如果没有包与给定的包名称匹配,则假定它们是 shell glob,然后安装任何匹配项。

(来自yum(8)

但是您必须确保您的 shell 不会消耗您的 glob:

# yum install 'openoffice*'
Run Code Online (Sandbox Code Playgroud)

如果您的目录包含文件名以 'openoffice' 开头的文件,如果没有单引号,shell 会扩展 glob。

替代(检查包裹清单)

您可以openoffice*通过以下方式查询所有匹配的可安装包:

$ yum list available 'openoffice*'
Run Code Online (Sandbox Code Playgroud)

要提取这些包名称,您可以使用repoquery

$ repoquery --qf='%{name}' --pkgnarrow=available 'openoffice*'
Run Code Online (Sandbox Code Playgroud)

因此,您可以通过以下方式安装这些软件包:

# xargs yum install < output_from_prev_command.log
Run Code Online (Sandbox Code Playgroud)

(这些步骤让您有机会检查所有“openoffice*”匹配包的列表,例如删除明显不需要的包。)


小智 2

嗯...我已经检查过并且

yum install openoffice*
Run Code Online (Sandbox Code Playgroud)

工作正常(接受通配符)