Menginstal ulang aplikasi setelah instalasi baru?

8

Saya menggunakan Debian dan saya ingin mempartisi ulang drive saya dan menginstal ulang. Apakah ada cara mudah untuk mengembalikan semua paket yang diinstal saat ini setelah instalasi baru?

Saya sedang berpikir untuk melakukannya dengan membuat daftar aplikasi cadangan:

#generate list of installed packages
dpkg -l | awk '{ print $2 }' ORS="\n" | tail -n +6 > reinstallList.txt

dan kemudian setelah melakukan instalasi baru saya harus dapat melakukan:

#install from backup at reinstallList.txt
sudo apt-get  install $(< reinstallList.txt)

Apakah ada cara yang lebih baik untuk melakukan ini?

nyxgeek
sumber
1
Jangan lupa untuk membuat cadangan dari / etc sehingga Anda dapat dengan mudah mengembalikan pengaturan konfigurasi untuk paket-paket itu.
Anthon

Jawaban:

7

Menurut wiki Debian , Anda harus menjalankan perintah ini sebelum menginstal ulang:

dpkg --get-selections > /backup/installed-software.log

Kemudian, setelah menginstal ulang, jalankan ini:

dpkg --set-selections < /backup/installed-software.log
apt-get dselect-upgrade

Jelas, Anda harus mengganti /backup/installed-software.logdengan nama beberapa file yang dapat Anda simpan selama proses instal ulang. Menempatkannya di thumb drive akan bagus.

Untuk informasi lebih lanjut, lihat wiki: https://wiki.debian.org/ListInstalledPackages

John1024
sumber
Saya telah menggunakan metode ini berkali-kali.
bahamat
Sempurna! Inilah yang saya cari. Terima kasih!
nyxgeek
3

dpkg -ldaftar semua paket yang diinstal (pada daftar saat Anda memfilternya dengan benar). Anda bisa mendapatkan daftar yang sama dengan dpkg --get-selections(yang tidak memerlukan penyaringan lebih lanjut).

Ini kehilangan informasi tentang paket yang diinstal secara manual vs. otomatis. Sangat mudah untuk memiliki pustaka dan paket lain yang ditandai hanya secara tidak langsung diperlukan. Paket yang ditandai sebagai yang diinstal secara otomatis dapat dihapus atau diganti dengan paket yang berbeda tanpa repot. Dpkg tidak tahu tentang paket yang diinstal secara otomatis, hanya apt yang tidak.

Untuk mendaftar paket yang diinstal secara manual, Anda dapat menggunakan aptitude:

aptitude search -F %p '~i !~M' >reinstallList.txt

Tanpa bakat, itu sedikit lebih rumit.

dpkg --get-selections | awk '$2 == "install" {print $1}' >installed.txt
apt-mark showauto >automatic.txt
comm -32 installed.txt automatic.txt >reinstallList.txt

Untuk menginstal semua paket yang sebelumnya diinstal:

apt-get install $(cat reinstallList.txt)

Atau, Anda dapat menggunakan metode bundaran yang lebih banyak untuk menyalin daftar paket yang diinstal, dan kemudian mengembalikan daftar paket yang ditandai sebagai otomatis. Untuk cadangan:

dpkg --get-selections >selections.txt
apt-mark showauto >automatic.txt

Untuk memulihkan:

dpkg --set-selections <selections.txt
apt-get dselect-upgrade
apt-mark markauto $(cat automatic.txt)
Gilles 'SANGAT berhenti menjadi jahat'
sumber