Saya akan mengubah sistem saya dari 32 bit menjadi 64 bit, dan akan sama dengan yang saya miliki sebelumnya, Debian Squeeze, tetapi saya tidak ingin kehilangan program yang saya instal sebelumnya, karena saya tidak ingat nama semuanya.
Jadi saya ingin perintah untuk melakukan ini untuk saya, simpan nama semua program yang saya instal pada file, tetapi bukan program standar yang datang dengan sistem, dan ketika saya menggunakan sistem lain saya akan menyebutkan nama file dan direktori Anda untuk semuanya diinstal secara otomatis.
Satu pertanyaan lagi: apakah mungkin melakukan ini dengan program yang diinstal secara manual dpkg-i package.deb
? Jika demikian, bagaimana saya bisa melakukan itu?
Pada versi Debian saat ini, Anda bisa mendapatkan daftar paket yang diinstal secara eksplisit
Bagi mereka yang menjalankan versi kuno Debian di mana
apt-mark showmanual
tidak ada, atau jika Anda ingin melakukan pilihan tambahan, Anda bisa menggunakan aptitude.~i
cocok dengan paket yang diinstal;!~M
menghilangkan paket yang diinstal secara otomatis sebagai ketergantungan dari beberapa paket lainnya.-F %p
mengubah format output untuk hanya menyertakan nama paket.Anda kemudian dapat menginstal paket-paket itu dengan
Debian squeeze tidak ada
apt-mark showmanual
, tetapi ia memilikiapt-mark showauto
daftar paket yang diinstal secara otomatis. Jika Anda menggunakan ini, Anda dapat mencantumkan semua paket di sistem lama dengandpkg --get-selections >package.list
, kembalikan semua ini, dan kemudian tandai paket-paket otomatis denganapt-mark markauto
. Untuk kasus penggunaan Anda (32-bit ke 64-bit), pendekatan ini cenderung meninggalkan beberapa perpustakaan ditandai sebagai manual, karena mereka memiliki nama yang berbeda di bawah arsitektur yang berbeda.Perhatikan bahwa jika use case adalah untuk mereproduksi instalasi yang identik, daripada menyimpan set paket tetapi mengubah arsitektur, sekarang ada alat yang disebut apt-clone (didistribusikan dalam Debian sejak mengi) yang melakukan semuanya secara otomatis.
sumber
acl
mungkin dianggap sebagai bagian penting dari sistem dasar dan akan ditandai sebagai diinstal secara manual. Itu "secara manual" diinstal oleh installer awal daripada oleh pengguna, tetapi meskipun demikian, arti dari "diinstal secara otomatis" adalah "Anda dapat dengan aman menghapus ini jika tidak merusak dependensi", dan paket mendasar diperlukan untuk membuat sistem bekerja dengan baik tidak sesuai dengan tagihan.Saya tidak melihat cara sederhana dan standar untuk melakukannya. Saya khawatir Anda harus mengutak - atik
dpkg
log dan opsi, karenadpkg
tidak membedakan "program standar yang menyertai sistem" dan yang lainnya.INI TIDAK AKAN TERJALAN , Saya lebih suka memperjelas dengan menggunakan teks tebal huruf besar , tetapi Anda dapat melakukan sesuatu seperti ini
Ekstrak daftar perangkat lunak yang diinstal dari
/var/log/dpkg.log*
file.Hapus yang diinstal selama instalasi sistem. (Gunakan waktu instal untuk mendeteksi mereka)
Simpan daftar dalam
dpkg --get-selections
formatDan lagi! Saat sistem Anda aktif dan berjalan, pasang kembali program Anda dengan
sumber