Saya ingin menampilkan daftar semua paket yang diinstal ke dalam file teks sehingga saya dapat memeriksanya dan menginstal secara massal di sistem lain. Bagaimana saya melakukan ini?
apt
package-management
Ivan
sumber
sumber
Jawaban:
Ubuntu 14.04 dan lebih tinggi
The
apt
alat pada Ubuntu 14.04 dan di atas membuat ini sangat mudah.Versi yang Lebih Lama
Untuk mendapatkan daftar paket yang diinstal secara lokal, lakukan ini di terminal Anda:
(
-v
Tag "invert" grep untuk mengembalikan garis yang tidak cocok)Untuk mendapatkan daftar paket tertentu yang diinstal:
Untuk menyimpan daftar itu ke file teks yang dipanggil
packages
di desktop Anda lakukan ini di terminal Anda:Atau, cukup gunakan
(Anda tidak perlu menjalankan perintah ini sebagai superuser, jadi tidak perlu
sudo
atau varian lain yang diperlukan di sini)sumber
cat ~/Desktop/packages > sudo dpkg --set-selections && sudo apt-get dselect upgrade
sumbersudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgrade
lakukan triknya.apt list installed
. Suatu hari kita harus berhenti secara sistematis gagal prinsip "menjaga hal-hal sederhana tetap".Untuk mendapatkan hanya paket yang terinstal secara tegas (tidak hanya diinstal sebagai dependensi), Anda dapat menjalankan
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 menyalin file
/var/lib/apt/extended_states
, yang merupakan database file teks dalam format ini:Auto-Installed: 0
menunjukkan bahwa paket telah diinstal dengan jelas dan bukan hanya ketergantungan.sumber
apt-get
?Untuk mendaftar semua paket yang sengaja diinstal (bukan sebagai dependensi) dengan perintah apt, jalankan yang berikut ini:
Ini memberikan tampilan berdasarkan waktu mundur, dengan perintah yang lebih lama terdaftar terlebih dahulu:
Data instalasi juga menunjukkan penggunaan sinaptik, tetapi tanpa detail (sama dengan tanggal pemasangan):
menyediakan yang berikut:
sumber
zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:'
dpkg
??Buat cadangan dari paket apa yang saat ini diinstal:
Kemudian (di sistem lain) pulihkan instalasi dari daftar itu:
Untuk menghilangkan paket basi:
Untuk menginstal seperti pada waktu cadangan (yaitu untuk menginstal paket yang ditetapkan oleh
dpkg --set-selections
):sumber
ubuntu-desktop
sudah dihapus - mungkin karena salah satu perintah dpkg. hati-hati, butuh waktu berjam-jam untuk memperbaiki kerusakan!sudo apt-mark hold name-your-package
. Ini akan mencegah apt-get dari memperbarui ke versi saat ini yang merupakan standar untuk proses pembaruan.halaman manual menyatakan:
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 termasuk karena paket ini diinstal.
Untuk menampilkan hasilnya ke file teks:
sumber
apt-mark showmanual
tidak juga. Itu juga daftar banyak paket yang diinstal secara otomatis, mungkin bagian dari instalasi dasar.apt list --manual-installed
.dpkg-query
(Alih-alihdpkg --get-selections
, yang mencantumkan beberapa paket yang tidak diinstal) sebagai berikut:Atau:
sumber
# for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; done
di sistem kedua saya telah membuat ini sehingga akan menginstal Paket.apt-get install -y $(< installed-pkgs)
akan membuatnya agar apt-get berjalan sekali saja dan menangani semua dependensi sekaligus.sudo apt-get build-dep name-package; sudo apt-get install name-package;
?Untuk mendaftar semua paket yang diinstal,
atau
atau
Catatan:
Anda akan mendapatkan file 1.txt hasil di folder rumah Anda atau Anda dapat menentukan jalur Anda sendiri.
sumber
Anda dapat menggunakan Synaptic untuk menyimpan kondisi saat ini dari paket yang diinstal Anda. Dalam Synaptic, pilih "file / save markings", Masukkan nama file untuk menyimpan status, dan pastikan untuk mencentang kotak "Simpan status penuh, tidak hanya perubahan".
File yang disimpan dari ini dapat dimuat ke mesin baru menggunakan "file / tanda baca" di Synaptic.
sumber
Saya sarankan menggunakan cetak biru . Meskipun dirancang untuk server, ini juga dapat digunakan dari desktop. Ini akan membuat skrip shell / koki / boneka yang dapat Anda gunakan untuk menginstal ulang semua paket Anda.
sumber
Anda ingin menginstal ulang paket sekarang di 12.04, kan?
Jika demikian, itu sangat mudah. Anda memerlukan "Ubuntu Single Sign On akun." (Buat sebelum menginstal ulang sehingga sistem Anda disinkronkan.)
Buka Pusat Perangkat Lunak dan cari opsi "Sinkronkan Komputer ..." di bawah menu File.
Ketika Anda mengkliknya, Anda akan melihat komputer Anda terdaftar dan daftar semua aplikasi di komputer Anda.
Ketika Anda akan menginstal yang baru, komputer itu akan dianggap sebagai komputer baru.
Anda hanya perlu masuk ke akun Ubuntu Anda dan komputer Anda sebelumnya akan ditampilkan.
Klik di atasnya; Anda akan mendapatkan daftar semua aplikasi. Pilih "instal" pada aplikasi yang ingin Anda instal.
sumber
Ada juga alat yang disebut Aptik (baik baris perintah dan GUI) yang dapat membantu Anda melihat daftar semua paket yang diinstal, dengan opsi untuk memilih / membatalkan pilihan beberapa dari mereka, membuat daftar cadangan, dan kemudian mengembalikan set paket yang sama di sistem lain.
Untuk memasang:
Info lebih lanjut: https://teejeetech.in/aptik/
Seperti yang dapat dilihat pada tangkapan layar, Aptik memungkinkan Anda juga membuat cadangan dan memulihkan PPA , yang tentunya akan diperlukan untuk menginstal beberapa paket yang diinstal.
sumber
apt-get install aptik-gtk
jugaAPT-Clone digunakan oleh
ubiquity
(penginstal Ubuntu) untuk proses peningkatan. Ini jauh lebih baik daripadadpkg --get-selections
solusinya karena:Cara Penggunaan
Pasang
Buat cadangan
Kembalikan cadangan
Pulihkan ke rilis yang lebih baru:
Itu membuat file tar gzipped sederhana yang dapat dengan mudah diedit dan ditinjau sebelum mengembalikan pada komputer lain. Berikut contoh strukturnya:
sumber
Ada penjelasan hebat tentang Unix StackExchange yang menjelaskan cara menggunakan aptitude ke daftar paket yang tidak diinstal sebagai dependensi, dan bagaimana membandingkan daftar itu dengan daftar paket default untuk rilis Ubuntu Anda.
Untuk mendapatkan file manifes untuk versi desktop 12.04 dan yang lebih baru, kunjungi situs ini , pilih rilis Anda, dan gulir ke bawah di bawah gambar CD ke bagian file. Anda akan menemukan sesuatu seperti "ubuntu-12.04.4-desktop-amd64 + mac.manifest" yang cocok dengan arsitektur Anda.
Untuk versi server Anda harus mendapatkan file manifes dari ISO yang digunakan untuk menginstal sistem asli. Untuk VPS atau server cloud, penyedia Anda mungkin membuat gambar tersedia atau Anda mungkin perlu menghubungi mereka.
Berikut adalah contoh menggunakan kode dari pos yang dirujuk, bersama dengan modifikasi untuk menginstal di server baru.
Server lama (kode dari pos lain, keluaran disimpan ke file):
Di server baru, salin file menggunakan scp, lalu gunakan sed untuk menambahkan 'install' ke setiap baris (-i melakukan inline-replace). Kemudian Anda dapat menggunakan daftar sebagai input ke 'dpkg --set-choices' dan menginstal paket dengan apt-get:
Sebelum memulai tugas ini, saya sarankan membaca dan memahami semua bagian dari pos yang disebutkan di awal, dan kemudian berkonsultasi dengan panduan referensi bakat untuk detail tentang pola pencarian.
sumber
Anda dapat melihat
apt
log di bawah/var/log/apt/
dandpkg
log di bawah/var/log/
dan Anda bisa mendapatkan daftar paket yang diinstal hanya dengan perintah:
sumber
Saya terkejut
apt-cache
perintah yang dirancang persis untuk tujuan ini belum disebutkan di atas ...Untuk info lebih lanjut, jalankan
apt-cache --help
:sumber
apt --installed list
memberikan hasil terbaik (seperti yang disarankan dalam jawaban teratas di atas. Meskipunapt-cache pkgnames
tampaknya melakukan trik pada pandangan pertama, itu daftar "semua paket dalam sistem" (per teks bantuan di atas), yang juga termasuk paket yang perlu diketahui tentang tetapi tidak benar-benar diinstal. Ada--installed
opsi tetapi tampaknya tidak bekerja dengan baikpkgnames
.apt-cache pkgnames | wc -l
memberikan55909
paket (sistem tahu tentang), sedangkanaptitude search '~i!~M' | wc -l
memberi2160
(paket diinstal secara eksplisit, tanpa dependensi).Untuk jadwal lengkap, lihat:
https://help.ubuntu.com/community/SwitchingToUbuntu/FromLinux/RedHatEnterpriseLinuxAndFedora#Command_Line_Tools
setengah jalan melintasi halaman:
sumber
Perintah di bawah ini juga akan mencantumkan semua paket yang diinstal,
sumber
/var/log/dpkg.log*
untuk mendapatkan semua log yang diputar.Bantu wiki komunitas ini - Tambahkan solusi terbaru.
dpkg, xargs, & apt-get
Perintah ini harus menyelesaikan pembuatan file teks yang berisi paket yang diinstal:
Untuk menyelesaikan instalasi massal paket yang terdaftar, Anda perlu mengedit 'package_list.txt'. Hapus garis aneh di bagian atas file menggunakan editor teks. Anda kemudian dapat menggunakan perintah ini untuk menginstal paket dari file yang dibuat menggunakan:
apt-cache, xargs, & apt-get
Hanya gunakan metode ini jika Anda ingin semua paket saat ini diinstal menggunakan daftar ( yang termasuk diinstal secara otomatis, dll).
Keluarkan respons 'apt-cache pkgnames' ke file, kami cukup beri nama "package_list.txt". Anda dapat melakukannya dengan:
Kemudian ketika Anda ingin menginstal paket dari "package_list.txt" Anda akan menggunakan perintah ini:
apt-mark, xargs, & apt-get
Kita dapat menggunakan perintah
apt-mark showmanual
untuk memberikan daftar paket yang secara manual atau awalnya diinstal dengan Ubuntu. Kami ingin menampilkannya ke file, kami hanya akan memanggil "package-list.txt". Gunakan perintah ini untuk mencapai itu:Perintah yang akan kita gunakan untuk menginstal paket dari file "package_list.txt" di bawah ini.
Utilitas Migrasi Aptik
Untuk informasi tentang Aptik, coba kunjungi halaman resminya , dan untuk tangkapan layar klik di sini atau lihat akhir bagian ini.
Menginstal Aptik sederhana. Ikuti langkah ini:
Tambahkan PPA dengan:
sudo add-apt-repository -y ppa:teejee2008/ppa
Perbarui apt dengan perintah di bawah ini.
sudo apt-get update
Instal Aptik menggunakan:
sudo apt-get install aptik
sumber
apt-mark showmanual
termasuk Bash, Unity, dan Xorg, antara lain. Apakah mereka seharusnya ada di sana?Untuk menyimpan daftar paket yang diinstal ke file bernama
installed_packages.txt
, jalankan saja:sumber
Saya pikir itu menarik untuk dicatat
apt list --installed
ataudpkg-query --list
benar - benar menggunakan file yang dipanggil/var/lib/dpkg/status
di belakang di mana semua info tentang paket adalah jenggot.Jadi, jika Anda hanya ingin berurusan dengan daftar paket super luas
cat /var/lib/dpkg/status
.Catatan: Jangan ubah
/var/lib/dpkg/status
file.sumber
Selain paket APT , banyak paket GUI saat ini didistribusikan sebagai terkunci .
Jika paket Anda tidak ditemukan
apt list --installed
, maka cobasnap list
:Ini juga merupakan ide yang baik untuk ditambahkan
/snap/bin
ke PATH sehingga Anda dapat memulai dari terminal (dilakukan secara otomatis untuk pengguna non-root).sumber
Paket
dctrl-tools
menyediakangrep-status
alat untuk mendapatkan daftar paket yang ditandai sebagai diinstal pada sistem Anda:Pemakaian:
Lihat :
man dctrl-tools
sumber
https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/ :
sumber
Ada banyak cara untuk melakukan itu. Jika Anda menggunakan CentOS seperti saya, Anda dapat menggunakan ini: 1.
yum list installed
2.rpm -qa
sumber