Cara membuat daftar semua paket yang diinstal

Saya ingin menampilkan daftar semua paket yang diinstal ke dalam file teks sehingga saya dapat memeriksanya dan menginstal massal di sistem lain. Bagaimana saya melakukan ini?

Ubuntu 14.04 ke atas

The apt Alat pada Ubuntu 14.04 dan di atas membuat ini sangat mudah.

apt list --installed

Versi Yang Lebih Lama

Untuk mendapatkan daftar paket yang diinstal secara lokal, lakukan ini di terminal Anda:

dpkg --get-selections | grep -v deinstall

(Yang -v tag & quot;membalikkan & quot; grep untuk mengembalikan garis yang tidak cocok)

Untuk mendapatkan daftar paket tertentu yang diinstal:

dpkg --get-selections | grep postgres

Untuk menyimpan daftar itu ke file teks bernama packages di desktop Anda lakukan ini di terminal Anda:

dpkg --get-selections | grep -v deinstall > ~/Desktop/packages

Atau, cukup gunakan

dpkg -l

(Anda tidak perlu menjalankan perintah ini sebagai superuser, jadi tidak sudo atau varian lain yang diperlukan di sini)

Untuk mendapatkan hanya paket yang secara tegas diinstal (tidak hanya diinstal sebagai dependensi), Anda dapat menjalankan

aptitude search '~i!~M'

Ini juga akan mencakup deskripsi singkat, yang mungkin Anda inginkan. Jika tidak, tambahkan juga opsi -F '%p', seperti yang disebutkan oleh karthick87.


Namun pilihan lain tampaknya untuk menyalin file /var/lib/apt/extended_states, yang merupakan database file teks dalam format ini:

Package: grub-commonArchitecture: amd64Auto-Installed: 0Package: linux-headers-2.6.35-22-genericArchitecture: amd64Auto-Installed: 1

Auto-Installed: 0 menunjukkan bahwa paket telah diinstal secara tegas dan bukan hanya ketergantungan.

Untuk daftar semua paket sengaja dipasang (bukan sebagai dependensi) dengan perintah apt, jalankan yang berikut :

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |  egrep '^(Start-Date:|Commandline:)' |  grep -v aptdaemon |  egrep '^Commandline:'

Ini memberikan tampilan berbasis waktu terbalik, dengan perintah yang lebih lama terdaftar terlebih dahulu:

Commandline: apt-get install k3bCommandline: apt-get install jhead...

Data instalasi juga menunjukkan penggunaan sinaptik, tetapi tanpa Detail(sama dengan tanggal instalasi) :

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |  egrep '^(Start-Date:|Commandline:)' |  grep -v aptdaemon |  egrep -B1 '^Commandline:'

menyediakan berikut:

Start-Date: 2012-09-23  14:02:14Commandline: apt-get install gpartedStart-Date: 2012-09-23  15:02:51Commandline: apt-get install sysstat...

Buat cadangan paket apa yang saat ini diinstal:

dpkg --get-selections > list.txt

Kemudian (pada sistem lain) Pulihkan instalasi dari daftar itu:

dpkg --clear-selectionssudo dpkg --set-selections < list.txt

Untuk menyingkirkan paket basi:

sudo apt-get autoremove

Untuk mendapatkan diinstal seperti pada waktu backup (yaitu untuk menginstal paket yang ditetapkan oleh dpkg --set-selections):

sudo apt-get dselect-upgrade
apt-mark showmanual

halaman manual negara:

akan mencetak daftar paket yang diinstal secara manual

Jadi, itu hanya harus memberikan daftar paket yang diinstal secara eksplisit (meskipun ini termasuk paket yang merupakan bagian dari instalasi awal default) tanpa semua dependensi disertakan karena paket-paket ini diinstal.

Untuk output hasilnya ke dalam file teks:

apt-mark showmanual > list-manually-installed.txt

dpkg-query (alih-alih dpkg --get-selections, yang mencantumkan beberapa paket yang tidak diinstal) sebagai berikut:

dpkg-query -W -f='${PackageSpec} ${Status}\n' | grep installed |  sort -u | cut -f1 -d \ > installed-pkgs

Atau:

dpkg -l | grep ^ii | sed 's_  _\t_g' | cut -f 2 > installed-pkgs

Untuk daftar semua paket yang diinstal,

dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt

atau

aptitude search -F '%p' '~i' > 1.txt

atau

dpkg --get-selections > 1.txt

Catatan:
Anda akan mendapatkan hasilnya 1.txt file dalam folder rumah Anda atau Anda dapat menentukan jalan Anda sendiri.

Anda dapat menggunakan Synaptic untuk menyimpan status paket terpasang Anda saat ini. Di Synaptic, pilih" File / save markings", masukkan nama file untuk menyimpan status, dan pastikan untuk mencentang kotak" Save full state, not only changes".

File yang disimpan dari ini dapat dimuat ke mesin baru menggunakan "tanda file/baca" di Synaptic.

Saya sarankan menggunakan blueprint. Meskipun dirancang untuk server, dapat juga digunakan dari desktop juga. Ini akan membuat skrip shell/chef / puppet yang Anda gunakan untuk menginstal ulang semua paket anda.

Anda ingin menginstal ulang paket sekarang ada di 12.04, kan?

Jika demikian, itu sangat mudah. Anda memerlukan " Ubuntu single Sign on account."(Buat sebelum menginstal ulang sehingga sistem Anda disinkronkan.)

  1. Buka Pusat perangkat lunak dan cari "Sinkronkan antar komputer..."opsi di bawah menu File.

  2. Ketika Anda mengkliknya, Anda akan melihat komputer Anda Terdaftar dan daftar semua aplikasi di komputer Anda.

  3. Ketika Anda akan menginstal segar, komputer yang akan dianggap sebagai komputer baru.

  4. Anda hanya perlu masuk ke akun Ubuntu Anda dan komputer Anda sebelumnya akan ditampilkan.

  5. Klik di atasnya; Anda akan mendapatkan daftar semua aplikasi. Pilih "instal" pada aplikasi yang ingin Anda instal.

Related.

Similar question at unix.stackexchange.com “List packages by installation date”