fragen stichworte

Automatisieren Sie die Installation des NetBackup-Agenten über RPM

Wir haben einen automatisierten Bereitstellungsprozess für neue RHEL-VMs. Es gibt jedoch noch einen lästigen manuellen Schritt, um einen NetBackup-Agenten auf dem Computer zu installieren. Dazu müssen Sie ein großes Archiv (~ 1 GB) an den Computer senden, das Archiv extrahieren und ein interaktives Installationsskript ausführen.

Daher habe ich überlegt, ein benutzerdefiniertes RPM zu erstellen, das die Installationsdateien des NetBackup-Agenten enthält und ein benutzerdefiniertes Expect -Skript ausführt, um das interaktive Installationsprogramm zu automatisieren. Dann könnten wir dieses RPM einfach auf den Server übertragen.

Allerdings bin ich neu beim Erstellen von RPMs (gelesen: noch nie zuvor), daher weiß ich nicht, wie ich die Teile "zusammenkleben" soll. Ich habe bereits das Expect -Skript und natürlich die Installationsdateien des Agenten (tar.gz-Archiv). Wie würde ich das alles in einem RPM zusammenfassen?

Erwarten Sie das Skript:

#!/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

Archiv: client-7.6.0.1.tar.gz

.
├── Doc
├── install (the interactive installer)
└── NBClients

antworten

Versuchen Sie, die Netbackup-Client-Konfigurationsdatei zu erstellen und sie in das RPM-Paket zu übernehmen. Es ist kein Script erforderlich, das zum Erstellen einer Client-Konfigurationsdatei benötigt wird.

Werfen Sie einen Blick auf . Mit fpm können Sie beliebig viele RPM-Dateien (und andere Pakettypen) erstellen. Es gibt eine Menge von Dokumentation. Unter anderem wird das --after-install FILE wahrscheinlich hilfreich sein, wenn es A script to be run after package installation heißt.