Bagaimana Anda bisa melepaskan (menangguhkan penangguhan) paket?

49

Saya menggunakan sinaptik untuk mengunci versi pidgin-data- bagaimana saya bisa mengubah status dari holdkembali menjadi normal, sehingga dapat ditingkatkan dengan benar?

The PinningHowto mengatakan bahwa melakukan apt-get install packagenameharus menghapus hold, tetapi menjalankan dpkg -l | grep ^hmasih menunjukkannya sebagai ditahan:

hi  pidgin-data                                                 1:2.10.6-0ubuntu1+pidgin1.12.04                            multi-protocol instant messaging client - data files

Bagaimana cara membatalkan holdstatus dengan benar?

David Fraser
sumber

Jawaban:

59

Anda bisa menggunakannya sudo apt-mark unhold package_name. Paket ini unheld dan mengembalikan konfirmasi: Canceled hold on package_name..

DrA7
sumber
1
sudoMasalah Anda mungkin karena Anda baru saja menulis sudo echo "package_name install"|dpkg --set-selections. Ini sudo echotetapi bukan pipa berikut, maka kesalahan akses. Coba ini sebagai gantinya: sudo -E -- sh -c 'echo "package_name install"|dpkg --set-selections'. Ini sudo sub-shell yang baris perintahnya echo "package_name install"|dpkg --set-selections.
Urhixidur
1
Jawaban saya agak terkait dengan versi jawaban yang belum diedit di sini di bawah ini yang sebelumnya termasuk persis perintah yang saya rujuk. Namun pertanyaannya khusus menggunakan apt-getsebagai contoh dan itulah sebabnya saya menjawab menggunakan apt-markyang termasuk dalam paket apt . Namun sangat membantu untuk mengetahui secara pasti mengapa perintah dpkg tidak berfungsi.
DrA7
@ DrA7 package_name sudah tidak tahan. Apa yang harus saya lakukan sekarang?
Dr.jacky
13

Cara yang benar untuk menghapus penangguhan adalah:

echo "package_name install"|sudo dpkg --set-selections
melati
sumber
2

Lepaskan satu paket tunggal bernama $ package_name:

echo $package_name install | dpkg --set-selections

Lepaskan semua paket yang saat ini dimiliki:

dpkg --get-selections | grep hold | awk '{ print $1, "install" }' | dpkg --set-selections
Earl Ruby
sumber
1

Jalankan echo pidgin-data install | dpkg --set-selections(ganti pidgin-datadengan nama paket yang ditahan) - ini akan mengubah status paket menjadi installdaripada hold.

David Fraser
sumber
1

Anda dapat membatalkan semua paket APT dengan:

apt-mark showhold | awk '{ print $1, "install" }' | dpkg --set-selections
panticz.de
sumber