Bagaimana cara menghapus hanya satu paket spesifik dengan apt-get?


18

Saya baru saja menginstal MySQL-server dan semua dependensinya, di antara kebutuhan lainnya. Tetapi ketika pergi untuk mengkonfigurasi mysql-server gagal untuk melakukannya, dan mengeluarkan kesalahan. Kesalahan mana yang tidak relevan di sini karena saya berhasil menemukan masalah sebagai masalah ketergantungan antara mysql-server dan mysql-common. Mysql-common perlu dihapus.

Tetapi ketika saya pergi ke

apt-get purge remove mysql-common 

Secara otomatis ingin menghapus segala sesuatu yang terkait dengannya juga, termasuk semua dependensi mysql, bahkan apache2 dan php5 ..

Jadi argumen apa yang perlu ditambahkan ke perintah apt-get untuk mencopot HANYA SATU paket, namun biarkan yang lainnya tetap utuh.

Jawaban:


21

apt-get tidak akan membiarkan Anda melakukan itu, karena ini merupakan langkah yang berpotensi berbahaya untuk diizinkan oleh sistem manajemen paket.

Selama Anda sadar bahwa mungkin ada konsekuensi, gunakan dpkgdengan --removeopsi untuk melakukannya. Sebagai contoh:

sudo dpkg --remove mysql-common

Catatan : Pada sistem saya 12,04 dengan apache2, php5, mysql-serverdiinstal secara terpisah, gunakan apt-getuntuk menghapus mysql-commonJANGAN ingin menghapus apache2 atau php5 .

Dari komentar insomnia: Jika Anda perlu mengganti keputusan sistem ketergantungan Anda dapat (dengan sangat hati-hati dan memastikan Anda tahu apa yang Anda lakukan) gunakan tambahan --force-depends.

sudo dpkg --remove --force-depends mysql-common

Oke terima kasih. Banyak orang lain mengklaim itu berhasil. Maksud saya banyak orang. Tapi ya itu terjadi di ubuntu. Tapi aku sebenarnya di debian. Tetapi saya bertanya di sini karena saya pengguna di sini, dan mereka sangat mirip dan sistem paketnya sama .. terima kasih bud.
insomnia

jangan khawatir bung. Aku tidak akan meninggalkanmu tergantung. Saya selalu menerima. Orang-orang biasanya mengabaikannya setelah saya menerima dan masih ada masalah. Tapi saya hanya mencobanya dan tidak membiarkan saya. Apakah ada perintah kekuatan?
insomnia

Maaf, itu benar - saya pikir Anda harus menunggu beberapa saat sebelum dapat melakukannya - 15 menit, saya kira? Silakan coba lagi setiap kali Anda memiliki kesempatan, jangan terburu-buru. Juga, saya baru saja memperhatikan bahwa Anda menyebutkan Anda menggunakan Debian - perhatikan bahwa pertanyaan yang melibatkan Debian di luar topik, dan sering kali ditutup. Silakan pertimbangkan untuk bertanya di unix.stackexchange.com untuk sesuatu yang khusus untuk Debian di masa depan :)
ish

Ya, saya pikir seperti itu .. alasan utama mengapa saya tidak benar-benar menyebutkannya sampai saya butuhkan. Maksud saya manajer paket mereka sama, Ubuntu baru saja menggantikan debian. tapi baiklah. 15 menit tidak bekerja, karena saya mencoba lebih lama dari 15 menit setelah. Tapi bisakah saya mengetik sesuatu yang mirip dengan "dpkg -f --hapus mysql-common"?
insomnia

Jika polos --removememberi Anda peringatan dan batal, tentu saja, Anda bisa memaksanya -f. BTW, --removesama dengan -r.
ish

0

Jika ada yang ingin tahu ada 2014 perintah debian-nya:

dpkg --force-all -r name_of_package

Itu sedikit berubah

Ada banyak argumen --force- jadi demi keadaan darurat sebaiknya periksa dengan:

dpkg --force-help

--force-allpasti tidak aman, mengapa tidak menyarankan --force-dependsDAN memberikan peringatan yang sesuai juga?
guntbert

Tidak pernah aman untuk menghapus paket yang diperlukan untuk paket lain tanpa menghapus instalasi yang lain. - Angkatan-semua hanya pendekatan cepat dan kotor
Michal Sapsa
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.