DPkg ile çekirdek güncellemelerini engelleme


16

Son zamanlarda başıma gelen kötü bir şey yüzünden dağıtım tarafından gönderilen tüm çekirdek güncellemelerini engellemek istiyorum . (Ubuntu 12.04 amd64 türevindeyim.)

Ben alt sürüm 3.2 yüklü çekirdekleri için tüm güncellemeleri engellemek istiyorsanız linux-headers, linux-headers-generic, linux-image, ve linux-image-extrapaketler. Ben karşılaşmak ediyorum sorun bunların hepsi bir sürüme sahip olmasını ve ben belirli bir sürümü engellerseniz yeni bir sürümü yüklenecek, çünkü hiçbir şey (kazanılır örn: Engellemek eğer linux-image-3.2.0-35, linux-image-3.2.0-36engellenmediğini ve hala potansiyel olarak yüklenmiş olabilir dist-upgradedan apt.)


Bunun artık Ubuntu 16.04'te çalışmadığını unutmayın. Bu kılavuzu kullanarak paketleri kara listeye almanız gerekir: help.ubuntu.com/lts/serverguide/automatic-updates.html
user199618 10:16

Yanıtlar:


17

Kullanmanız gereken, apt-get'in bekletme olarak adlandırılan bir özelliğidir

Bunu Synaptic veya Dpkg ile yapabilirsiniz, İşte dpkg yöntemini kullanarak çekirdeğimi nasıl tutacağım.

Önce çekirdek resim adınızı kontrol edin

dpkg -l | grep linux-image

benim için çıktı:

ii  linux-image-3.2.0-4-amd64              3.2.35-2                           amd64        Linux 3.2 for 64-bit PCs
ii  linux-image-amd64                      3.2+46                             amd64        Linux for 64-bit PCs (meta-package)

sonra dpkg'a meta paketi tutmasını söyleyin (sürüm numarası olmayan genel sürüm)

echo linux-image-amd64 hold | sudo dpkg --set-selections

Daha sonra bunun çalışıp çalışmadığını kontrol edebilirsiniz dpkg -l linux-image-amd64

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version            Architecture       Description
+++-==========================-==================-==================-==========================================================
hi  linux-image-amd64          3.2+46             amd64              Linux for 64-bit PCs (meta-package)

En alttaki "hi" ye dikkat edin, h, anlamına gelir ve i şu anda yüklü demektir. Bu paket yüklü ama olmaz yükseltilebilir.

Bunu şu yolla tersine çevirebilirsiniz:

echo linux-image-amd64 install | sudo dpkg --set-selections

ve tekrar kontrol edebilir dpkg -l linux-image-amd64

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version            Architecture       Description
+++-==========================-==================-==================-==========================================================
ii  linux-image-amd64          3.2+46             amd64              Linux for 64-bit PCs (meta-package)

Uyarı 'ii', ilk i bu paketin yüklenmek üzere ayarlandığı ve ikinci i'nin şu anda yüklü olduğu anlamına gelir. Bu paket yüklü olup edecektir yükseltilebilir.

Bu bayraklar hakkında daha fazla bilgi için man dpkgözellikle 'paket seçim durumları' bölümlerine bakın.


1
Resim isimlerim burada . "Linux-image-generic" i yasaklamak ister miyim?
Naftuli Kay

1
@TKKocheran evet; belirli bir sürüm yerine meta paketin üzerine bir bilgi koymak istiyorsunuz.
cjh

Çalışmıyor - dpkg: uyarı: paket durumda değil veya satır 1'de kullanılabilir veritabanı: linux-image-amd64 dpkg: uyarı: bilinmeyen paketler bulundu; bu, kullanılabilir veritabanının eski olduğu ve bir ön uç yöntemiyle güncellenmesi gerektiği anlamına gelebilir; lütfen SSS bölümüne bakın < wiki.debian.org/Teams/Dpkg/FAQ >
Arturas M
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.