自动安装包的脚本

Luc*_*man 7 linux debian bash perl

我想编写一个 bash 或 perl 脚本来在我的基于 debian 的机器上安装一些软件包。

我希望它是这样的:

aptitude install package1 
aptitude install package2
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何在提示下通过脚本自动说“是”以确认您要安装该软件包。有人可以给我一个 perl 和 bash 的例子吗?

格拉茨!

Jur*_*873 26

aptitude install -y package1 package2 package3

  • 依赖项会自动解决,并根据需要安装/升级。 (4认同)

Kyl*_*ndt 14

我想这不是一个真正的脚本,但您可以安装puppet和使用包类型。然后只需创建一个带有一堆package指令的文件即可。

例如:

package { zsh:
        ensure => latest
}

package { vim-enhanced:
        ensure => latest,
        name => $operatingsystem ? {
                'centos' => 'vim-enhanced',
                'ubuntu' => 'vim',
        }

}
Run Code Online (Sandbox Code Playgroud)

如果您想扩展范围,您还可以使用 puppet 自定义一堆其他内容,例如 shell 和 .rc 文件等。这听起来可能有点矫枉过正,但从长远来看,一点点额外的努力可能会得到回报。


and*_*dol 10

除了对 yes 答案使用 -y 标志外,您还需要设置 DEBIAN_FRONTEND=noninteractive 以防止弹出 debconf 设置问题。

DEBIAN_FRONTEND=noninteractive apt-get install PACKAGE -y
Run Code Online (Sandbox Code Playgroud)

话虽如此,从长远来看,遵循 Kyle 的建议并查看 Puppet 等配置管理系统可能是一条更好的道路。