Ich möchte eine Liste der auf einem System installierten Pakete erhalten und alle auf einem anderen System installieren.
Ich weiß, dpkg --get-selections
dass ich dadurch eine Liste aller installierten Pakete erhalten kann, in die ich dpkg --set-selections
auf dem Zielsystem einbinden kann. Einige der installierten Pakete sind jedoch solche, die ich selbst lokal erstellt habe (z. B. mit checkinstall) und die nicht in den Repositorys verfügbar sind. Der dpkg --set-selections
Prozess schlägt fehl, wenn diese Pakete nicht in den Repositorys gefunden werden können.
Gibt es eine Möglichkeit, die von generierte Liste dpkg --get-selections
so zu filtern , dass sie nur Pakete enthält, deren aktuell installierte Version in meinen aktuellen Repositorys verfügbar ist?
total=$(dpkg --get-selections '*'|wc -l); i=0; dpkg --get-selections '*' | while read line; do i=$(($i+1)); apt-cache policy $(echo "$line" | cut -f1 ) | grep -q 'http://' && echo "$i/$total $line"; echo $line>>/var/tmp/dpkg-selection.list; done