Ich möchte eine Liste der auf einem System installierten Pakete erhalten und alle auf einem anderen System installieren.
Ich weiß, dpkg --get-selectionsdass ich dadurch eine Liste aller installierten Pakete erhalten kann, in die ich dpkg --set-selectionsauf 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-selectionsProzess 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-selectionsso 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