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 commsadece 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)