Saya membuat kesalahan dengan menginstal Jenkins dari paket ubuntu, yang menyebabkan stres tanpa akhir di sini dalam manajemen pembaruan. Saya tidak memiliki pertengkaran dengan bagaimana Ubuntu mengatur file pada disk.
Bagi yang penasaran, jenkins memiliki manajer paket internal yang mengunduh pembaruan plugin, dan koordinasi yang cermat dari pemasangan jenkins utama dan peningkatan plugin diperlukan untuk menghindari kondisi kacau. Jadi, kami harus hati-hati memblokir pemutakhiran jenkins melalui, oh, pemutakhiran apt-get ketika kami tidak tahu persis apa yang terjadi dengan plugin.
Jadi, yang ingin saya lakukan adalah membujuk dpkg / apt-get untuk lupa bahwa ada paket jenkins, tanpa membiarkannya menghapus file yang ada.
Omong-omong, 'instal' terdiri dari satu file '.war' plus tautan /etc/init.d.
Jelas, saya dapat mem-backup apa yang saya pedulikan, menghapus paket, dan mengembalikan, tetapi saya berharap mengetahui bahwa ada opsi dpkg yang tidak jelas yang lupa menghapus file.
Apakah ada cara?
Jawaban:
Cara 'terbaik' untuk melakukan ini, adalah dengan memanipulasi
/var/lib/dpkg/status
.NAMUN!
File itu memiliki sintaks yang sensitif; Melakukannya dengan cara yang salah dapat merusak manajemen paket Anda.
Inilah yang harus Anda lakukan:
Temukan blok yang terlihat sedikit seperti ini (Tampilan sebenarnya mungkin tergantung pada paket yang Anda coba buat 'tidak terlihat'):
Pernyataan pertama
Package: <name>
adalah di mana Anda harus mencari, di mana<name>
nama paket yang ingin Anda hapus.Setiap blok dimulai dengan satu
Package: <name>
baris, dan diakhiri denganPackage:
baris berikutnya , TAPI jangan hapusPackage:
pernyataan berikutnya !Jika Anda mengingatnya, paket itu tidak lagi tampak diinstal ke dpkg; meskipun semua file masih tersedia.
Ini adalah hack yang mengerikan, tetapi bekerja dengan baik, saya telah melakukannya sendiri beberapa kali di masa lalu, di saat Ubuntu masih berjuang dengan paket yang rusak kadang-kadang. Saya tidak merekomendasikannya, ini pilihan terakhir.
sumber
Masih sangat membantu bahkan jika diretas. Saran tambahan adalah menghapus paket yang tidak diinginkan dari / var / lib / dpkg / yang tersedia dan menghapus semua {package}. * File dari / var / lib / dpkg / info /
Saya menggunakan ini ketika saya memutuskan untuk menginstal versi perangkat lunak dari sumber yang lebih baru, yang sebelumnya telah diinstal sebagai versi yang dirilis Ubuntu. Pertama saya mengunduh dan membuat / menginstal versi baru yang saya inginkan, kemudian menggunakan peretasan ini untuk membuat dpkg melupakan versi Ubuntu yang lama.
sumber