1. Grundbefehle
  2. Backports
  3. Pakete ohne Benutzerinteraktion (unattended) installieren
    1. Installation parametrisieren

Grundbefehle

BefehlWirkung
aptitude search <package>nach einem Paket suchen
aptitude install <package>ein Paket installieren
aptitude versions <package>die in den Repositorys verfügbare Version anzeigen

Backports

siehe Backports unter Debian 7

Pakete ohne Benutzerinteraktion (unattended) installieren

DEBIAN_FRONTEND=noninteractive apt-get install -y mypackage

Installation parametrisieren

Vorbereitung

  • Manche Pakete benutzen DebConf um per interaktiver Nutzerabfrage die Software schon während der Installation zu konfigurieren.
  • Es ist jedoch möglich, die Antworten vor der Installation als Parameter der DebConf-Datenbank hinzuzufügen.
  • Vorher muss man jedoch herausfinden, welche Paremeter die Installation erwartet.
  • Installiert man das Paket debconf-utils, steht einem anschließend das Kommandozeilentool debconf-get-selections zur Verfügung.
  • So kann man Beisielsweise die Abfrage-Parameter von mysql-server herausfinden:
    debconf-get-selections | grep -B 1 mysql-server
  • Die Ausgabe sieht wie folgt aus:
    # New password for the MySQL "root" user:
    mysql-server-5.5 mysql-server/root_password password
    # Repeat password for the MySQL "root" user:
    mysql-server-5.5 mysql-server/root_password_again password
    # Really proceed with downgrade?
    mysql-server-5.5 mysql-server-5.5/really_downgrade boolean false
    # Password input error
    mysql-server-5.5 mysql-server/password_mismatch error
    # Start the MySQL server on boot?
    mysql-server-5.5 mysql-server-5.5/start_on_boot boolean true
  • debconf-get-selections gibt die Komplette DebConf-Datenbank aus.
  • Die Datenbankeinträge haben folgendes Muster:
    # Ausgabetext
    <Paketname>  <Frage-Schlüssel>  <Antworttyp>  [<Standardantwort>]
  • Der Datenbankeintrag muss nicht zwangwsweise direkt von dem zu installierendem Paket kommen.
  • Mit dem grep-Filter kann man das eigentliche Paket durch Probieren finden. -B 1 gibt dabei noch die erste Zeile vor dem Treffer an (Before 1)
  • Die Datenbank erhält meist mehr Einträge, als während der Installation tatsächlich abgefragt werden.
  • Dazu emfielt es sich, die Installation vorher einmalig (z.B. in einem Docker-Container) durchzuspielen.

Durchführung

  • Nun kann man vor der Installation mittels debconf-set-selections die Datenbank mit Antworten füllen:
    echo mysql-server-5.5 mysql-server/start_on_boot false | debconf-set-selections
  • Mehrere Einträge lassen sich wie folgt gleichzeitig hinzufügen:
    cat << EOF | sudo debconf-set-selections
    mysql-server-5.5 mysql-server/root_password password letmein
    mysql-server-5.5 mysql-server/root_password_again password letmein
    mysql-server-5.5 mysql-server-5.5/start_on_boot boolean false
    EOF
Tags:
Erstellt von ThomasS am 2014/07/31 12:53
    
Copyright 2004-2019 XWiki
7.4.5