Автоматизировать установку агента NetBackup через RPM

У нас есть автоматизированный процесс развертывания новых виртуальных машин RHEL. Тем не менее, все еще есть раздражающий ручной шаг для установки агента NetBackup на машину. Для этого необходимо скопировать на компьютер большой архив (~ 1 ГБ), распаковать архив и запустить интерактивный скрипт установки.

Поэтому я думал о создании собственного 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

2 ответа

Взгляните на fpm, это позволяет вам создавать произвольные.rpm (и другие типы пакетов довольно легко). Есть много документации, среди прочего вы, вероятно, найдете --after-install FILE полезно, как это называет A script to be run after package installation,

Попробуйте создать файл конфигурации клиента netbackup и поместить его в RPM-пакет. Не нужно ожидать сценарий, который предназначен для создания файла конфигурации клиента.

Другие вопросы по тегам