Frage

Ich versuche, ein Skript zu erstellen, die automatisch Pakete für neue Server herunterlädt. Allerdings können einige Dinge wie ‚mysql-server‘ nicht automatisch installiert, weil du sie in der ncurses-Schnittstelle zuerst konfigurieren. Ich habe den Mann Seiten durchgesehen und kann nichts für angemessen.

ist mir egal, wenn ich hochladen müssen / später eine conf-Datei bearbeiten. - Ich brauche nur die entsprechenden Pakete installiert

Wer weiß, was außer zu tun tarballs greifen und sie selbst bauen?

UPDATE fand heraus, dass für Dinge wie mysql-Server können Sie einfach tun:

DEBIAN_FRONTEND='noninteractive' apt-get install -yq mysql-server

jedoch erwarten, sieht aus wie etwas, das ich für sonnen java6-jdk benötigen; habe es noch nicht ausgewertet

War es hilfreich?

Lösung

Für Pakete, die Fragen über Debconf fragen (was den ncurses-Display aufstellt), können Sie die Fragen vorab beantworten. Für Sonnen-java können die Fragen nach den Anweisungen unter http://www.davidpashley.com/blog/debian/java-license

Andere Tipps

Antwort von ossramblings.com :

Zuerst installieren Sie Ihr Paket normal; dann die Konfigurations Antworten der Debconf-Daten-Dateien extrahieren:

sudo apt-get install debconf-utils
sudo debconf-get-selections | grep mypackage > something.seed

Dann wird für andere Einrichtungen, können Sie es anwenden, bevor das Paket installiert haben:

sudo debconf-set-selections ./something.seed

Jedes Debian-Paket, das debconf verwendet Konfigurationswerte erhalten kann unbeaufsichtigt ausgeführt werden. Der Trick besteht darin, dass debconf wird zunächst für die Suche vorinstalliert Antworten zu jeder Config Frage , die ein bestimmtes Paket hat.

Pre-install Config Antworten

Erstellen Sie einfach eine Datei in folgendem Format,

# Use one line for each question
package-name question-name question-type answer
package-name question-name question-type really long \
answer here
package-name question-name question-type answer
...

und ihn in das System wie folgt:

$ debconf-set-selections my-selections-file

Nun sind Sie bereit zu apt-get install, wie üblich.

One-off

Da dieser Befehl auch von stdin liest, können Sie tun:

$ echo "man-db man-db/auto-update boolean true" | debconf-set-selections

Die Suche nach Standardantworten

Wie wissen Sie, welche Pakete diese Konfigurations Antworten verwenden? Nun, wenn Sie bereits das Paket in Frage interaktiv installiert haben, können Sie Ihr lokales System abfragen, um zu sehen, welche Werte sind zur Zeit konfiguriert. debconf-get-selections druckt eine Liste aller Konfigurations Antworten für das aktuelle System. Zum Beispiel

$ debconf-get-selections | grep '^man'

gibt die folgende auf meinem System:

man-db  man-db/install-setuid   boolean false
man-db  man-db/auto-update      boolean true

Sie müssen möglicherweise das debconf-utils Paket installieren Sie diesen Befehl zur Verfügung zu stellen.

Beispiel

# Preset values to questions which would otherwise be asked while
# installing packages.
# Use debconf-set-selections to install
openssh-server  openssh-server/permit-root-login        boolean false
man-db  man-db/install-setuid   boolean false
man-db  man-db/auto-update      boolean true

Quellen

Ich bin nicht genau sicher, was Konfiguration mysql-Server braucht, aber man könnte versuchen, so etwas wie erwarten

Ich würde schauen Sie in cron-apt . Ich habe es selbst nicht ausprobiert, aber es ist Paketbeschreibung klingt vielversprechend.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top