我想安装所有 openoffice 软件包。传递 openoffice* 显然是行不通的,因为它会查看文件系统。我怎样才能做到这一点?
答案1
您可以使用 shell 通配模式作为包名称:
如果没有包与给定的包名称匹配,则假定它们是 shell glob,然后安装任何匹配项。
(从嗯(8))
但你必须确保你的 shell 不会消耗你的 glob:
# yum install 'openoffice*'
如果您的目录包含文件名以“openoffice”开头的文件,则在没有单引号的情况下,shell 会展开 glob。
替代方案(检查包列表)
您可以通过以下方式查询所有匹配的可安装包openoffice*
:
$ yum list available 'openoffice*'
要提取这些包名称,您可以使用repoquery
:
$ repoquery --qf='%{name}' --pkgnarrow=available 'openoffice*'
因此,您可以通过以下方式安装这些软件包:
# xargs yum install < output_from_prev_command.log
(这些步骤使您有机会检查所有“openoffice*”匹配软件包的列表,例如删除明显不需要的软件包。)
答案2
嗯...我已经检查过并且
yum install openoffice*
工作正常(接受通配符)