Bunu yapmanın başka bir yolu da, ilk gereksinimlerinize göre kurulacak temel paketleri belirleyen “görevlerinize” göre ne yüklendiğini tespit etmektir.
tasksel --list-tasks
En azından sahip olacaksın server
. Ancak, daha fazlasına sahip olmayı seçebilirsiniz. Yüklemiş olduğunuz bu görevlerin her biri için, aşağıdaki komutu yükleyen paketlerin bir listesini alabilirsiniz, kurulumumda seçtiklerim için hepsini tek bir satırda (netlik için ayrılmış) yapar:
(tasksel --task-packages server ; \
tasksel --task-packages openssh-server ; \
tasksel --task-packages lamp-server) | sort | uniq
Yukarıdakilere genel bir yaklaşım şöyle olacaktır:
(for a in $( tasksel --list-tasks | grep "^i" | awk '{ print $2 }' ) ; \
do tasksel --task-packages $a; done) | sort | uniq
Şimdi apt-cache depends --installed -i --recurse <packagename> | grep -v "^ "
, görevde tanımlanan tüm paketler tarafından kullanılan bağımlılıkların bir listesini almak için kullanın . Bu tek satırda aşağıdaki gibi yapılabilir
apt-cache depends --installed -i --recurse \
$(for a in $( tasksel --list-tasks | \
grep "^i" | \
awk '{ print $2 }' ) ; \
do tasksel --task-packages $a; done) | grep -v "^ " | sort | uniq
Aşağıda sisteminize kurulu tüm paketler listelenmiştir (bağımlılıklar dahil değil).
dpkg --get-selections | grep "[[:space:]]install" | awk '{print $1}'
Şimdi comm
sadece ikinci listede olanları bulmak için komutu kullanın (örn. Hem dosyalarda hem de sadece ilk dosyada bulunanları yok sayın)
comm -13 <(apt-cache depends --installed -i --recurse \
$(for a in $( tasksel --list-tasks | \
grep "^i" | \
awk '{ print $2 }' ) ; \
do tasksel --task-packages $a; done) | grep -v "^ " | sort ) \
<( dpkg --get-selections | grep "[[:space:]]install" | \
awk '{print $1}' | sort)