Cara lain untuk melakukan ini adalah dengan menentukan apa yang telah diinstal berdasarkan pada "tugas" Anda yang menentukan paket dasar untuk diinstal sesuai dengan kebutuhan awal Anda.
tasksel --list-tasks
Paling tidak Anda akan punya server
. Namun, Anda dapat memilih untuk memiliki lebih banyak. Untuk setiap tugas yang telah Anda instal, Anda bisa mendapatkan daftar paket yang diinstal dengan perintah berikut melakukan semuanya dalam satu baris (dipecah untuk kejelasan) untuk yang saya pilih dalam instalasi saya:
(tasksel --task-packages server ; \
tasksel --task-packages openssh-server ; \
tasksel --task-packages lamp-server) | sort | uniq
Pendekatan umum untuk hal di atas adalah:
(for a in $( tasksel --list-tasks | grep "^i" | awk '{ print $2 }' ) ; \
do tasksel --task-packages $a; done) | sort | uniq
Sekarang gunakan apt-cache depends --installed -i --recurse <packagename> | grep -v "^ "
untuk mendapatkan daftar dependensi yang digunakan oleh semua paket yang ditentukan dalam tugas. Ini dapat dilakukan dalam satu baris sebagai berikut
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
Berikut ini daftar semua paket yang diinstal di sistem Anda (tidak termasuk dependensi).
dpkg --get-selections | grep "[[:space:]]install" | awk '{print $1}'
Sekarang gunakan comm
perintah untuk menemukan yang ada di daftar kedua saja (yaitu abaikan yang ada di kedua file dan hanya file pertama)
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)