# 693758 numaralı hata nedeniyle apt-get upgrade
, "libgtk2.0-0" paketini güncellemesini önlemek ve Güncelleme Yöneticisini önlemek istiyorum .
Bu nasıl başarılabilir?
disable packages from the auto-update
# 693758 numaralı hata nedeniyle apt-get upgrade
, "libgtk2.0-0" paketini güncellemesini önlemek ve Güncelleme Yöneticisini önlemek istiyorum .
Bu nasıl başarılabilir?
disable packages from the auto-update
Yanıtlar:
Paketleri geri almanın dört yolu vardır: dpkg, apt, yetenek veya dselect.
Bir paketi beklemeye al:
echo "<package-name> hold" | sudo dpkg --set-selections
Tutucuyu çıkarın:
echo "<package-name> install" | sudo dpkg --set-selections
Paketlerinizin durumunu görüntüleyin:
dpkg --get-selections
Tek bir paketin durumunu göster:
dpkg --get-selections | grep "<package-name>"
Bir paket tutun:
sudo apt-mark hold <package-name>
Tutucuyu çıkarın:
sudo apt-mark unhold <package-name>
Tüm paketleri beklemeye al:
sudo apt-mark showhold
Dselect ile [S] seçim ekranına girin, mevcut durumda tutmak istediğiniz paketi bulun ve =veya tuşuna basın H. Değişiklikler [S] seçim ekranından çıktıktan hemen sonra etkili olacaktır.
Bir paketin yetenek veya sinaptik içinde kilitlenmesi / tutulması apt-get / apt'yi etkilememesi nedeniyle aşağıdaki yaklaşımlar sınırlıdır.
Bir paket tutun:
sudo aptitude hold <package-name>
Tutucuyu çıkarın:
sudo aptitude unhold <package-name>
Git Synaptic (Sistem> Yönetim> Synaptic Paket Yöneticisi).
Ara düğmesini tıklayın ve paket adını yazın.
Paketi bulduğunuzda, onu seçin ve Paket menüsüne gidin ve Sürümü Kilitle'yi seçin .
Bu paket şimdi güncelleme yöneticisinde gösterilmeyecek ve güncellenmeyecektir.
devscripts
, paketlenen bir çok Tavsiye edilen paketler olarak çekilir. Bir posta sunucusuna (postfix) ihtiyacım olmadığı için çalıştırmadan echo postfix hold | sudo dpkg --set-selections
önce çalıştırarak kurulumunu devre dışı bırakabilirim sudo apt-get install devscripts
. Bu bekletme eylemi yalnızca bu kurulum için devam eder, kurulumdan sonra seçimler sıfırlanır.
apt-mark
desteklemiyorhold
apt-mark hold fglrx fglrx-amdcccle fglrx-dev && aptitude hold fglrx fglrx-amdcccle fglrx-dev
,.
Bir paketi "foo" beklemeye almak için:
echo "foo hold" | dpkg --set-selections
Senin durumunda, şarabı beklemeye alacağız:
sudo -i
echo "wine hold" | dpkg --set-selections
Bekletmeyi kaldırmak için:
sudo -i
echo "wine install" | dpkg --set-selections
apt-get install wine=1.2.3
. Beklemede olmak apt-get (dist-)upgrade
onu değiştirmeyi önler .
/var/cache/apt/archives
) bağımsızdır ve yükseltmeleri ve malzeme tutar, bu yüzden orada olacak indirdiğiniz tüm sürümlerini bitene kadarapt-get [auto]clean
Aynı şeyi arıyordum ve birçok araştırmadan sonra, aşağıdaki sözdizimini kullanarak belirli bir sürümü yasaklayabileceğinizi ancak bir sonraki güncellemeye izin verebileceğinizi buldum:
Paket: compiz-plugins-main Pin: sürüm 1: 0.9.7.0 ~ bzr19-0ubuntu10.1 Pin Önceliği: -1
Bu / etc / apt / preferences dosyasına gider.
synaptic
Kullanarak yükleyin sudo apt-get install synaptic
.
Kullanarak çalıştırın gksudo synaptic
ve arama kutusundaki kilitlemek istediğiniz paketi bulun.gedit
Paket menüsünden Sürümü kilitle'yi seçin :
Ve hepsi bu, kilitleme sırasında şu anda yüklü olan sürüm yükseltme sırasında bile yüklü kalacaktır.
Bir paketin kurulmasını önlemek, "paket tutma" olarak adlandırılır ve yapılması çok kolaydır:
echo package_name hold | dpkg - set seçimleri
... burada * package_name *, yüklenmesini engellemek istediğiniz paketin adıdır.
Not: Yukarıdaki komut, kök ayrıcalıklarını üstlenir. Başka bir deyişle, muhtemelen sudo su
çalıştırmadan önce yazmanız gerekir.
s/sudo su/sudo -s/g
(veya sudo -i
). ( -i
bir giriş kabuğu verecek, -s
vermeyecek).
Bir süre apt-get
ile değiştirildiğinden apt
, örneğin, "Tab Grupları" gibi pek çok eklenti yeni Firefox 57 ile artık çalışmadığı için Firefox’un 56’nın üzerindeki sürümlere güncellenmesini önlemek istiyorum. (Bkz. "WebExtensions Güncelleme").
Bir komutla birden fazla paket tutmak ve joker karakterler kullanmak mümkündür.
sudo apt-mark hold firefox firefox-locale-*
Onları daha sonra tutmak için yanınızda olmanız gerekiyorsa, bu komut olacaktır:
sudo apt-mark unhold firefox firefox-locale-*
Belirli bir paketin sürümünü dondurabilirsin sinaptik, bunun apt-get üzerinde değişiklik yapıp yapmadığına göre% 100 emin değilim, ancak güncelleme yöneticisini kesin olarak durduracak.
Bir paketi dondurmak için onu sinaptik olarak seçin, ardından paket menüsünü açın ve sürümü dondur'u seçin.
Bu yardımcı olur umarım
düzenleme: Bu soru 16668 benzer bir durum ile ilgilenir
Paketleri belirli sürümlere "tutma" ve "sabitleme" hakkında bilmek istediğiniz her şey: https://help.ubuntu.com/community/PinningHowto
Bu gibi, "özel geçersiz kılma" yeteneğini kullanabilirsiniz:
aptitude reinstall ~i oracle-java8-jre:
Bu, sisteminizdeki tüm paketleri yeniden yüklemek, ancak oracle-java8-jre'yi değil (yalnızca yeniden yüklemeler için depolanmayan), kullanımınızı geçersiz kılmaya devam eden tek seferlik kullanımdır.
Belirli bir geçersiz kılma geçersiz kılma kullanıyorsanız, paket bir anlık tutma özelliğine sahip olacaktır, bir yetenek yüklemeye çalışmaz.
Sisteminizin bir şekilde nasıl tehlikeye atıldığını düşünüyorsanız, çok iyi bir şey.
Eğer Synaptic kuruluysa, paketi seçebilir ve güncellenmesini önlemek için Paket -> Sürümü Kilitle menüsünü kullanabilirsiniz.
Synaptic'i sudo apt-get install synaptic ile kurabilirsiniz. Şahsen onu Yazılım Merkezinden daha yararlı buluyorum ... o zaman yine, oldukça eski bir okulum. :)
Arada bir , şu anda kurulu olan tüm paketleri geri almak isteyebilir . İşte nasıl.
Önce mevcut durumu kaydedin, böylece geri alabilirsiniz:
dpkg --get-selections > current_selections.txt
Ardından, tüm paketleri geri tutmak için:
dpkg --get-selections | sed -r "s/\tinstall/hold/" |dpkg --set-selections
Son olarak, önceki durumuna geri dönmek istediğinizde:
dpkg --set-selections < current_selections.txt
Bunun bir kullanım durumu, bir QA'dan üretim ortamına geçmek için bir VM veya Amazon AMI anlık görüntüsü oluştururken olabilir.
@ Soger'in Ubuntu 16.04 ile ilgili yorumlarına detay ekleme .
Ubuntu 16.04, varsayılan olarak / etc / apt / tercihler dosyasına sahip değildir. Halen bir tane yoksa, sadece yeni bir dosya oluşturun ve verilen paketi ve bağımlılıklarını güncellemelerden hariç tutmak için yukarıda anlatıldığı gibi bir stanza ile doldurun.
Daha sonra koşun apt update
ve GTG'siniz. : 0)
Örneğin, dahili Intel video kartı ve NVidia kartı olan bir Ubuntu 16.04.5 LTS sunucum var. NVidia kartı kullanılan tek kart. Sunucu ayrıca CUDA sürücüleri kullanır. apt
Israr ettiğim yerde sorun yaşadım
va-sürücüye tüm
(Intel sürücüleri) bir güncelleme gerektiriyordu, ancak hangi sürümün yükleneceğini belirleyemedi. Bu beni deli ediyordu ve zaten Intel sürücülerine ihtiyacım yoktu. Bu yazıyı tercihler dosyasına girdim ve temizlendi, problem çözüldü.
Package: va-driver-all
Pin: release *
Pin-Priority: -1