Debian/Ubuntu: Liste von installierten Paketen zur übertragung auf einen anderen Rechner

Januar 14th, 2010 | Tags: , , , , ,
Anzeige

Des öffteren hatte ich schon das “Problem”, dass ein Benutzer einen neuen Rechner bekommt, bzw. ein Rechner neu installiert werden muss. Im laufe der Zeit sammeln sich einige Pakete auf dem “alten” Rechner an, die auch auf dem neuen Rechner installiert sein sollen.

Am besten man macht sich zuerst mal eine Liste mit bereits installierten Paketen. Da kommt die Anleitung von http://node-0.mneisen.org ins Spiel.

Mit dem Konsolenbefehl:

$ sudo dpkg -l | grep ^ii | awk ‘{print $2}’ > paket-liste-$HOSTNAME

Hier wird erst nach allen installierten Paketen gesucht und diese Liste dann in die Datei paket-liste-$HOSTNAME gespeichert ($HOSTNAME noch mit dran, weil man die Sache dann auch super webspeichern kann, wenn man mehrere Rechner hat)

Bitte beachtet: Die liste muss bei einer neuinstallation entweder ins Homeverzeichnis verschoben werden (wenn dieses nicht neu installiert wird) oder auf einen Rechner/ Medium platziert werden, der danach wieder aufrufbar ist.

Nach der installation kann dann mit dem Befehl:

$ for paket in $(cat paket-liste-$HOSTNAME); do
  echo $paket;
  sudo apt-get install $paket;
done

die nötigen Pakete nachinstalliert werden.
ACHTUNG: Es können bei der Neuinstallation Konflikte auftreten (Versionen, die aktualisiert wurden, Pakete, die es für eine andere Version nicht mehr gibt, oder bereits installierte Pakete, die aber veraltet sind). Das Problem lässt sich aber dann recht leicht auflösen, es wird ja gesagt warum etwas nicht installiert wurde. Und wenn der Rechner jetzt anders heißt als auf der alten Installation darf natürlich nicht $HOSTNAME verwendet werden.

Weiter lesen


  1. Martin
    März 11th, 2011 at 11:54

    Hallo,
    oder einfach so:
    # Paketliste sichern
    dpkg –get-selections > paket-liste-$HOSTNAME
    # besser: nur die Liste manuell installierter Pakete
    aptitude search ‘~i !~M’ -F ‘%p install’ > paket-liste-$HOSTNAME
    # Paketliste auf neuem System einlesen
    dpkg –set-selections < paket-liste-$HOSTNAME
    # installieren
    apt-get update && sudo apt-get dselect-upgrade
    Martin

  2. März 11th, 2011 at 12:12

    Super, Vielen Dank für den Hinweis.

  3. Martin
    März 11th, 2011 at 12:45

    @Sebastian
    Gerne. Danke für das awk {print $2}.
    Irgendwo sind ein paar Bindestriche verloren gegangen.
    Es muss natürlich –get-selections und –set-selections heißen.
    Falls sie automatisch abgeschnitten werden: vor den Optionen get-selections und set-selections müssen zwei Bindestriche stehen.

  4. März 11th, 2011 at 13:57

    @Martin
    Sorry, Ja sie werden aus Sicherheitsgründen abgetrennt.

Kommentieren