“组安装”如何工作? ( 如何将组安装转换为常规的多 yum 安装-y? )

“组安装”如何工作? ( 如何将组安装转换为常规的多 yum 安装-y? )

我想要有关如何复制相同的确切结果的数据

yum groupinstall "Printing client"

不运行该命令而是运行

yum install <package> -y

也许多次。

我知道我可以通过以下方式获取每个包的名称

yum groupinfo “打印客户端”

但是考虑到它列出了 3 个不同的类别,应该安装哪些包:强制包、默认包和可选包。

如何知道如何使用“有序方式”安装它们

 yum install

以便它复制与原始结果相同的精确结果

 yum groupinstall "Printing client" ?

答案1

我的系统有点过时,Fedora 14,所以我没有那个组,但我确实有这个组“打印支持”,但我相信我的例子仍然与你的问题相关。

正如您已经提到的,您可以使用该命令yum groupinfo <group name>来查找特定组提供的软件包。至于安装它们,我假设您必须安装所有“强制”和“默认”软件包。这可以像这样完成。

yum.conf参数group_package_types控制安装哪些类型。

摘抄man yum.conf

group_package_types List of the following: optional, default, mandatory. 
   Tells yum which type of packages in groups will be installed when 
   'groupinstall' is called.   
   Default is: default, mandatory

例子

您可以运行这些命令来获取包列表:

强制的

$ yum groupinfo "Printing Support" | paste -s -d ' '| \
        grep -oP '(?<=tory Packages:\s{4}).*(?=Default Packages:\s+)' | \
        sed 's/[\t ]\+/ /g'
cups ghostscript ghostscript-cups 

默认

$ yum groupinfo "Printing Support" | paste -s -d ' '| \
        grep -oP '(?<=Default Packages:\s{4}).*(?=Optional Packages:\s+)' | \           sed 's/[\t ]\+/ /g'
bluez-cups cups-pk-helper foomatic foomatic-db-ppds foomatic-filters gutenprint gutenprint-cups hpijs hplip mpage paps printer-filters samba-client system-config-printer system-config-printer-udev 

然后,您可以将这 2 个命令存储在 2 个变量中:

$ mpkgs=$(yum groupinfo "Printing Support" ....)
$ dpkgs=$(yum groupinfo "Printing Support" ....)

然后yum像这样运行:

$ yum install -y $mpkgs $dpkgs

当您像这样提供所有包时,yum它可以确定是否满足依赖关系,而不必担心在每次调用期间提供正确的包集。

相关内容