我们有一个部署新 RHEL VM 的自动化流程。但是,仍然有一个烦人的手动步骤,即在计算机上安装 NetBackup 代理。这需要将大型存档(约 1 GB)复制到计算机,提取存档并运行交互的安装脚本。
因此,我正在考虑为此构建一个自定义 RPM,其中包含 NetBackup 代理安装文件并运行自定义预计脚本来自动化交互式安装程序。然后我们可以简单地将此 RPM 推送到服务器。
但是,我刚开始构建 RPM(也就是说,以前从未做过这件事),所以我不知道如何将各个部分“粘合”在一起。我已经有了预计脚本,当然还有代理安装文件(tar.gz 存档)。现在我该如何将所有这些打包成一个 RPM?
期望脚本:
#!/usr/bin/expect -d
set timeout -1
spawn ./install
expect "Do you wish to continue?"
send "y\n"
expect "Do you want to install the NetBackup client software for this client?"
send "y\n"
expect "Enter the name of the NetBackup master server"
send "myserver.example.com\n"
expect "name of the NetBackup client?"
send "n\n"
expect "Enter the name of this NetBackup client"
send "client.example.com\n"
expect eof
档案: client-7.6.0.1.tar.gz
.
├── Doc
├── install (the interactive installer)
└── NBClients
答案1
答案2
尝试创建 netbackup 客户端配置文件并将其放入 RPM 包中。不需要期望用于创建客户端配置文件的脚本。