Saya akan memindahkan server dari satu kotak Ubuntu ke yang lain. Saya tidak mengkloning kotak lama ke yang baru; Saya membuat sistem baru dan akan memindahkan data sesuai kebutuhan. Saya ingin menginstal semua perangkat lunak yang saya miliki di kotak lama pada yang baru.
Apakah ada cara sederhana untuk menemukan riwayat semua perintah "sudo apt-get install" yang telah saya berikan dari waktu ke waktu? Yaitu, dpkg-l menunjukkan kepada saya semua paket yang telah diinstal, tetapi tidak paket tingkat atas mana yang menginstalnya. Jika ada cara bagi dpkg untuk memberi saya paket instalasi, saya dapat menemukan yang unik di sana; kalau tidak, saya ingin yang lain mengatakan "Anda menginstal 24 paket ini".
Jawaban:
The
apt
sejarah di/var/log/apt/history.log
seperti dikatakan dalam komentar di atas. Yang mengatakan, ini tidak akan mencantumkan paket yang diinstal secara manual, menggunakandpkg
atau GUI sepertigdebi
. Untuk melihat semua paket yang melewatidpkg
, Anda bisa melihatnya/var/log/dpkg.log
.sumber
http://www.debianadmin.com/clone-your-ubuntu-installation.html
dan /var/adm/apt/history.log
sumber
/var/log/apt/history.log
(Anda salah lokasi btw) akan diputar setelah beberapa bulan.Anda dapat mencantumkan paket yang instalasinya diminta secara eksplisit
apt-mark
.Jika Anda menjalankan rilis kuno Debian, inilah cara manual.
Perintah berikut memberikan daftar paket yang instalasi diminta, apakah secara manual atau otomatis. Kecuali Anda berada di tengah-tengah (de) menginstal paket, ini adalah daftar paket yang diinstal.
Perintah berikut memberikan superset dari paket yang diinstal secara otomatis:
Menyatukan semuanya, perintah berikut mencantumkan paket yang diinstal secara manual:
sumber
comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)
apt-mark showmanual
yang setara dengan perintah terakhir Anda.Menunjukkan semua paket yang Anda instal menggunakan:
sudo apt-get install xxxxx
sumber
Daripada kombinasi tac / head, lebih baik menggunakan ekor (untuk 25 baris terakhir):
sumber
Jawaban lain membantu tetapi memberi saya terlalu banyak keluaran. Untuk mengurangi output, saya mulai dengan
apt-mark showmanual
seperti pada jawaban ini , dan kemudian menyaring paket yang awalnya diinstal (lihat jawaban ini untuk cara mendapatkan daftar paket yang diinstal; saya menggunakan ubuntu 18.04.2 maka tautan di bawah ini) .Skrip memfilter paket yang ada dalam manifes asli dengan melakukan perbandingan versi-independen, sehingga paket yang ditingkatkan tidak muncul dalam daftar. Saya berakhir dengan daftar sekitar 60 paket.
Cara lain yang saya suka adalah jawaban ini yang mencari semua log yang tepat .
sumber
Untuk mendapatkan daftar paket terinstal terbaru dalam urutan menurun, saya suka menggunakan (misalnya 25 baris):
sumber
tail -25 /var/log/apt/history.log | tac