yum paketini diğer paketleri güncellemeden kur veya başarısız…?


10

yumŞu anda yüklü bağımlılıklardan memnun kalacak bir paket seçerek bir paket yüklemeyi söylemenin bir yolu var mı ?

Örneğin, bir pecl paketi yüklüyorum ve şu anda yükledim php-5.4.11ancak daha yeni bir sürüm php-5.4.14mevcutsa. Yeni paketi yüklemek yerine (ve tüm php paketlerini 5.4.14'e güncelleyin) Sadece diğerlerini güncellemeden yüklenmesini istediğim paketin eski bir sürümünü seçmesini istiyorum (veya bu yapılamazsa başarısız olur).

Bu php paketini hariç tutabilir veya düzeltebileceğimi bildiğim belirli bir durumdur, ancak herhangi bir yükleme için geçerli olan genel bir seçenek arıyorum.

Gibi bir şey:

yum install php-pecl-xxxx --no-updates

Yanıtlar:


10

Geçici çözüm:

-CBayrak kullan :

sudo yum install foobar -C

Kalıcı çözüm:

Bunu kontrol etmek metadata_expireiçin yum.conf öğenizdeki bayrağı kullanın .

Düzenle /etc/yum.confve ayarla

metadata_expire=15d

Saati gün, saat veya dakika olarak yapılandırmak için d, h veya m tuşlarını kullanabilirsiniz .

Bonus: İşte belgeler:

meta veri_ifade, meta verinin sona ereceği Süre (saniye cinsinden) şeklindedir. Böylece, indirilen meta veri bu birkaç saniyeden daha eski ise yum meta veri havuzuna karşı güncellenmez. Yum'un güncellemeler hakkındaki bilgileri bu seçeneğin değerini düşürmek istediğiniz sıklıkta indirmediğini fark ederseniz. Sırasıyla reklam, h veya m ekleyerek saniye varsayılanı kullanımından gün, saat veya dakika kullanma seçeneğine de geçiş yapabilirsiniz. Yum-updatesd iltifat saatte bir kez çalışmak için varsayılan 6 saattir. "Asla" kelimesini kullanmak da mümkündür, yani meta verilerin süresi asla dolmaz. Bir metalink dosyası kullanırken metalinkin her zaman depo için meta verilerden daha yeni olması gerektiğini unutmayın, doğrulama nedeniyle, bu zaman aşımı metalink dosyası için de geçerlidir. Ayrıca "hiçbir zaman" "yum temiz süre sonu-önbellek" geçersiz kılmaz unutmayın


0

Şimdilik böyle bir seçeneğe rastlamadım. Ancak u paketi yükseltmeden yüklemek istiyorsanız, aynı sürümün bir rpm indirmenizi ve ardından yüklemenizi tavsiye ederim.


0

Gelen yum-utilspaketin adı verilen bir aracı vardır yumdownloader. Yüklemeden depolardan indirmek için kullanabilirsiniz. Gibi tüm standart anahtarlar --disablerepogeçerlidir. Daha fazlası için kılavuz sayfasına bakınız .

RPM'yi indirip doğrudan RPM kullanarak istediğinizi yapabileceğinizi düşünüyorum.


1
Bu, otomatik paket yükleme sisteminin bir parçasıdır, sorun şu ki yum'un 'en son yüklemeyi' ve 'gereken her şeyi güncellemeyi' istemiyoruz. Paketin zaten yüklü olanlarla uyumlu bir sürümünü yüklemesini gerçekten istiyoruz. Temelde bir installonly veya install xxx -no-updates seçeneği.
Clint Rahibi

0

Paketin eski sürümü hala yum depolarınızdaysa, sadece çalıştırabilirsiniz yum install packagename-version-release.archve en son sürüme yükseltmeye çalışmadan eski sürümü yükler. Yum deponuzda birden fazla sürüm ve mimari varsa, tam adı, sürümü, sürümü ve yayını kullanmanız gerekir. yum list available 'packagename*''Paket_adı' ile başlayan tüm paketleri aramak için çalışarak tüm bu bilgilere ulaşabilirsiniz . Paketlerinizi yükseltmeyi başardıysanız ve eski sürüme geçirmek istiyorsanız, çalıştırabilirsiniz yum downgrade packagename1 packagename2. Eski sürüme geçirmek istediğiniz tüm paketlerin listesini eklemeniz gerekir, çünkü muhtemelen çok fazla bağımlılık içerecektir.

Eski sürüm yum deponuzda değilse yum install /path/to/package.rpm, güvenilmeyen kaynaklardan paket yüklemeye karşı dikkatli olsam da , eski paketi bulduğunuz yerden indirin ve kurun .


Ancak yummevcut en son uyumlu sürümü seçebilseydiniz çok daha yararlı olurdu .
forcefsck

Olabilir, ancak uygun gereksinimleri tanımlamak paketleyiciye bağlıdır.
jsbillings

Bazen gereksinimler eski bir paketle kaplıdır, ancak yum sadece en sonları seçmek konusunda ısrar eder. Örneğin. yukarıda açıklanan durumda, sistem php-5.4.11'e kilitli ise yum'ın php-pecl-5.4.11'i otomatik olarak seçmesi mümkün olmalıdır. Otomasyon için bir sorun olabilir.
forcefsck

Yum, yalnızca eski sürüme bağımlılık yoksa en son sürüme güncellenir. Yukarıdaki durumda, sürüm gereksinimi pecl paketi tarafından hiçbir zaman gerekli olmamıştır. Yum, hangi sürümün gerektirdiğini veya pecl ve php paketlerinin sürüm kilidini açarak belirtmediğiniz sürece, zihninizi okuyamaz ve rastgele bir sürüm seçemez.
jsbillings

Bu örnek için, php'nin yükseltilemez olması durumunda (sürüm kilitli veya depolarda daha yeni paketler yok), yum php yükseltmesi gerektirmeyen en son pecl sürümünü seçebilir. Tam olarak zihin okuma değil, apt-get'in bunu zaten yaptığını düşünüyorum. Yine, sisteminizin yarısını yükseltmeden ekstra bir paket yüklemeniz gerektiğinde ve isteği işleyecek kadar akıllı olmak için yum'a ihtiyacınız olduğunda, yani birden fazla sürüm varsa, önceden yüklenmiş paketlerle uyumlu olan en son sürümü seçin, bu otomasyon için bir sorundur herhangi bir nedenle yükseltilemez.
forcefsck
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.