# Alle installierten Pakete auf einen anderen Server übertragen

<p class="callout info">Vorher sollten als entfernt markierte Pakete gelöscht werden, siehe [hier](https://wiki.magenbrot.net/books/paketmanager/page/dpkg-rc-pakete-entfernen "dpkg-rc Pakete entfernen").</p>

Quelle:

```code
dpkg --get-selections > selection.txt
```

dann die Datei per scp oder Copy&amp;Paste auf das Ziel übertragen. Dort:

```code
dpkg --set-selections < selection.txt
```

Falls hier Warnings auftreten siehe unten.

Danach können die Pakete installiert werden:

```code
aptitude install
# oder
apt-get -u dselect-upgrade
```

Sollte es bei „–set-selections“ Warnungen gegeben haben, muss noch dselect installiert werden:

```code
apt-get install dselect
dselect 
   -> Update
   -> Install
   -> Quit
```

Folgende Alternative funktioniert auch, wenn man Pakete nur selektiv übertragen möchte. Mit diesem Beispiel erhalte ich eine einfach zu übertragende Liste aller Pakete, die `perl` im Namen oder der Beschreibung haben (läßt sich dann einfach an `aptitude install` übergeben):

```code
dpkg -l | grep perl | awk '{ printf "%s ", $2 }'
```