Karena bug # 693758 saya ingin mencegah apt-get upgrade
dan Memperbarui Manajer dari memperbarui paket "libgtk2.0-0".
Bagaimana ini bisa dicapai?
Karena bug # 693758 saya ingin mencegah apt-get upgrade
dan Memperbarui Manajer dari memperbarui paket "libgtk2.0-0".
Bagaimana ini bisa dicapai?
disable packages from the auto-update
Jawaban:
Memegang
Ada empat cara untuk menahan paket: dengan dpkg, apt, aptitude atau dselect.
dpkg
Tunda paket:
Hapus penangguhan:
Tampilkan status paket Anda:
Menampilkan status satu paket:
tepat
Pegang paket:
Hapus penangguhan:
Tampilkan semua paket yang ditahan:
pilih
Dengan dselect, masuk ke layar pilihan [S], cari paket yang ingin Anda pegang dalam keadaan saat ini dan tekan =atau H. Perubahan akan segera berlaku setelah keluar dari layar pilihan [S].
Pendekatan berikut terbatas karena mengunci / menahan paket dalam aptitude atau sinaptik tidak memengaruhi apt-get / apt.
bakat
Pegang paket:
Hapus penangguhan:
Mengunci dengan Manajer Paket Synaptic
Pergi ke Synaptic Package Manager (Sistem> Administrasi> Synaptic Package Manager).
Klik tombol pencarian dan ketikkan nama paket.
Ketika Anda menemukan paket, pilih dan pergi ke menu Paket dan pilih Versi Kunci .
Paket itu sekarang tidak akan ditampilkan di manajer pembaruan dan tidak akan diperbarui.
sumber
devscripts
, banyak paket ditarik sebagai paket yang direkomendasikan. Karena saya tidak memerlukan mailserver (postfix), saya dapat menonaktifkan instalasi dengan menjalankanecho postfix hold | sudo dpkg --set-selections
sebelum menjalankansudo apt-get install devscripts
. Tindakan penahanan ini hanya berlangsung untuk instalasi ini, setelah instalasi pilihannya diatur ulang.apt-mark
tidak mendukunghold
dalam versi 0.7.25 (Ubuntu Lucid)apt-mark hold fglrx fglrx-amdcccle fglrx-dev && aptitude hold fglrx fglrx-amdcccle fglrx-dev
,.Untuk menunda paket "foo":
Dalam kasus Anda, kami akan menahan anggur:
Untuk menghapus penangguhan:
sumber
apt-get install wine=1.2.3
. Sedang ditahan mencegahnyaapt-get (dist-)upgrade
mengubahnya./var/cache/apt/archives
) tidak tergantung pada penangguhan & pemutakhiran & hal-hal lain, sehingga semua versi yang Anda unduh akan ada di sana sampai Anda menjalankanapt-get [auto]clean
Saya mencari hal yang sama dan setelah banyak penelitian saya menemukan bahwa menggunakan sintaks berikut Anda dapat melarang satu versi tertentu tetapi mengizinkan pembaruan berikutnya:
Ini masuk ke file / etc / apt / preferences.
sumber
Instal
synaptic
menggunakansudo apt-get install synaptic
.Jalankan menggunakan
gksudo synaptic
dan pada kotak pencarian temukan paket yang ingin Anda kunci, yaitu:gedit
Dari menu paket pilih Versi kunci :
Dan itu saja, versi yang saat ini diinstal pada saat kunci akan tetap diinstal bahkan selama upgrade.
sumber
Mencegah paket agar tidak diinstal disebut "paket holding" dan sangat mudah dilakukan:
... di mana * package_name * adalah nama paket yang ingin Anda hindari dari instalasi.
Catatan: perintah di atas mengasumsikan hak akses root. Dengan kata lain, Anda mungkin perlu mengetik
sudo su
sebelum menjalankannya.sumber
s/sudo su/sudo -s/g
(atausudo -i
). (-i
akan memberikan shell login,-s
tidak akan).Karena beberapa waktu
apt-get
diganti olehapt
, jadi misalnya saya ingin mencegah Firefox memperbarui ke versi di atas 56, karena banyak tambahan, seperti "Grup Tab" tidak berfungsi lagi dengan Firefox 57 yang baru (lihat "WebExtensions Memperbarui").Dimungkinkan untuk menyimpan lebih dari satu paket dengan satu perintah dan menggunakan wildcard.
Mencegah Firefox memperbarui
Jika Anda memutuskan untuk tidak memegangnya nanti, itu akan menjadi perintah:
sumber
Saya synaptic Anda dapat membekukan versi paket tertentu. Saya tidak 100% yakin apakah ini akan mengubah apt-get tetapi pasti akan menghentikan pembaruan manajer.
Untuk membekukan suatu paket pilih dalam sinaptik kemudian buka menu paket dan pilih versi beku.
Semoga ini membantu
sunting: Pertanyaan ini 16668 berkaitan dengan situasi yang serupa
sumber
Segala sesuatu yang Anda ingin tahu tentang paket "holding" dan "pinning" ke versi tertentu: https://help.ubuntu.com/community/PinningHowto
sumber
Lihat bug # 75332 , # 158981 dan # 72806 .
Ringkasannya adalah bahwa penahanan pada tingkat apt-get / aptitude tidak memicu status penahanan dalam dpkg (terutama lihat bug 72806) dan pembaruan-manajer membaca status dari dpkg.
solusi dijalankan sebagai root:
echo "package hold" | dpkg --set-selections
sumber
Anda dapat menggunakan aptitude pada "penggantian spesifik", seperti ini:
Ini adalah penggunaan hanya sekali (tidak disimpan untuk menginstal ulang masa depan), tetap menimpa spesifik, untuk menginstal ulang semua paket di sistem Anda tetapi tidak oracle-java8-jre.
Jika Anda menggunakan keep override khusus, paket tersebut akan dalam keadaan sementara tidak akan mencoba menginstalnya.
Suatu hal yang sangat baik jika Anda berpikir sistem Anda dikompromikan.
sumber
Jika Anda telah menginstal Synaptic, Anda dapat memilih paket dan menggunakan menu Package -> Lock Version untuk mencegahnya diperbarui.
Anda dapat menginstal Synaptic dengan sudo apt-get install synaptic. Saya pribadi merasa lebih berguna daripada Pusat Perangkat Lunak ... sekali lagi, saya sudah cukup tua. :)
sumber
Kadang-kadang orang mungkin ingin menahan semua paket yang diinstal saat ini. Begini caranya.
Pertama-tama simpan kondisi saat ini, sehingga Anda dapat membatalkan:
Kemudian, untuk menahan semua paket:
Akhirnya, ketika Anda ingin kembali ke keadaan sebelumnya:
Satu kasus penggunaan untuk ini mungkin ketika membuat snapshot VM atau Amazon AMI untuk bermigrasi dari QA ke lingkungan produksi.
sumber
Menambahkan rincian ke komentar @ soger relatif terhadap Ubuntu 16.04.
Ubuntu 16.04 tidak memiliki file / etc / apt / preferensi yang ada secara default. Jika Anda belum memilikinya, buat saja file baru dan isi dengan bait seperti yang dijelaskan oleh @soger di atas untuk mengecualikan paket yang diberikan dan ketergantungannya dari pembaruan.
Setelah itu, jalankan
apt update
dan Anda GTG. : 0)Sebagai contoh, saya memiliki server Ubuntu 16.04.5 LTS dengan kartu video Intel yang tertanam dan kartu NVidia. Kartu NVidia adalah satu-satunya yang digunakan. Server juga menggunakan driver CUDA. Saya punya masalah di mana
apt
terus bersikeras(Driver Intel) memerlukan pembaruan, tetapi tidak dapat menentukan versi mana yang akan diinstal. Ini membuat saya gila, dan saya tidak membutuhkan driver Intel. Saya memasukkan teks ini ke file preferensi dan flushed apt, masalah terpecahkan.
sumber