Bir sistemde kurulu paketlerin listesini almak ve hepsini başka bir sisteme kurmak istiyorum.
Bunun dpkg --get-selections
bana dpkg --set-selections
hedef sisteme yükleyebileceğim kurulu paketlerin bir listesini verebileceğini biliyorum . Ancak, yüklü paketlerin bazıları kendimi yerel olarak oluşturduğum (örneğin checkinstall komutunu kullanarak) ve depolardan edinilemeyen paketlerdir. dpkg --set-selections
O depolardaki bu paketleri bulamadığı zaman süreç başarısız olur.
Bu yüzden oluşturulan listeyi dpkg --get-selections
yalnızca şu anda yüklü sürümü geçerli depolarımda bulunan paketleri içerecek şekilde filtreleyebilmemin bir yolu var mı?
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