Skript zur automatischen Installation von Paketen

7

Ich möchte ein Bash- oder Perl-Skript schreiben, um eine Reihe von Paketen auf meinem Debian-basierten Computer zu installieren.

Ich möchte, dass es so etwas wie:

aptitude install package1 
aptitude install package2

Ich weiß jedoch nicht, wie ich an der Eingabeaufforderung automatisch "Ja" über das Skript sagen soll, um zu bestätigen, dass Sie dieses Paket installieren möchten. Kann mir jemand ein Beispiel in Perl und Bash geben?

gratz!

Lucas Kauffman
quelle

Antworten:

26

aptitude install -y package1 package2 package3

Jure1873
quelle
Was passiert, wenn zusätzliche Bibliotheken benötigt werden?
Lucas Kauffman
4
Abhängigkeiten werden automatisch aufgelöst und bei Bedarf installiert / aktualisiert.
Fran Garcia
Diese Antwort ist diejenige, die wirklich OPs Anfrage +1
hmontoliu
14

Ich denke, das ist nicht wirklich ein Skript, aber Sie könnten puppetden Pakettyp installieren und verwenden. Dann geht es einfach darum, eine Datei mit einer Reihe von packageAnweisungen zu erstellen .

Zum Beispiel:

package { zsh:
        ensure => latest
}

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

}

Sie können auch Puppet verwenden, um eine Reihe anderer Dinge wie Ihre Shell, Ihre RC-Dateien usw. anzupassen, wenn Sie Lust haben, Ihren Anwendungsbereich zu erweitern. Es mag nach Overkill klingen, aber auf lange Sicht wird sich der kleine Aufwand wahrscheinlich auszahlen.

Kyle Brandt
quelle
10

Zusätzlich zur Verwendung des Flags -y für Ja-Antworten möchten Sie auch DEBIAN_FRONTEND = noninteractive setzen, um zu verhindern, dass Fragen zum Setzen von Debconf auftauchen.

DEBIAN_FRONTEND=noninteractive apt-get install PACKAGE -y

Abgesehen davon könnte es auf lange Sicht ein besserer Weg sein, Kyles Vorschlag zu folgen und sich ein Konfigurationsmanagementsystem wie Puppet anzusehen.

andol
quelle
1

Meine Antwort ist etwas umfangreicher als die ursprüngliche Frage. Wenn Sie dies jedoch wiederholt von Grund auf auf mehreren von Ihnen eingerichteten Computern ausführen möchten, würde ich empfehlen, sich mit pxeboot zu befassen . (Ich gehe davon aus, dass Sie ein Debian-Derivat sind, das die Eignung erwähnt). Die Lernkurve ist steil, die Dokumentation etwas lückenhaft, aber es lohnt sich, sie beizubehalten, wenn Sie sie brauchen.

Wenn Sie solche Maschinen regelmäßig ausführen müssen, ist dies ein Kinderspiel. Wir haben Maschinen, die in ca. 8 Minuten von leer bis vollständig konfiguriert sind, mit einer Menge benutzerdefinierter Pakete, die automatisch installiert werden.

Um Bonuspunkte zu erhalten, schauen Sie sich auch einen geeigneten Caching-Mechanismus an.

Ein perfektes Setup besteht darin, aus einem Image einer virtuellen Maschine einen Build-Server / Apt-Cache zu erstellen, um eine Verschmutzung einer vorhandenen Maschine zu vermeiden

Aitch
quelle