Yum update vs yum install arasındaki fark


20

Komutla çalışırken , aşağıdaki gibi bir şey yaptığımda başka bir paket rpmyüklediğimde some-package-1.0ve uyguladığımda, rpm -ivh some-package-1.1her iki paketin de listeleneceğini fark ettim rpm -qa | grep some-package:

some-package-1.0
some-package-1.1

Ancak, 1.1'i yüklemek yerine, yükseltme işlemi gerçekleştirdiğimde rpm -Uvh some-package-1.1tek bir paketin (1.1) istediğim sonucunu elde ederim rpm -qa | grep some-package.

Şimdi aynı davranış yum installve yum update?

Soruyorum çünkü rpm -U(yükseltme) komutuyla bir paketin yükseltme / kurulum için mevcut olması gerekmiyor ancak yum update(eğer yanılmıyorsam) bir paket zaten mevcut olmalıdır.

Özellikle kendi sürümleri ile paketleri belirtmenin sonucunu bilmek istiyorum some-package-1.0. Özetle, bilmek istediğim, some-package-1.0ve gibi iki belirli sürümüm varsa some-package-1.1:

  1. yum install1.0 yüklendikten sonra 1.1 sürümü gerçekleştirilecek mi, 2. paket listelenecek mi?
  2. Çalıştırma yum update some-package-1.1başarıyla değiştirilecek some-package-1.0mi?

Yanıtlar:


31

YUM ve RPM arasındaki en büyük fark, yumbağımlılıkların nasıl çözüleceğini bilmesi ve işini yaparken bu ek paketleri kaynaklayabilmesidir. Gerçi rpmbu bağımlılıkları sizi uyarabilir, ek paketler kaynak edememektedir.

Yükleme ve yükseltme ile ilgili olarak. Her iki araç da bir yükleme gerçekleştirebilir ve RPM aynı anda birden fazla sürümü yüklemenize bile izin verir, ancak YUM size bu paketin zaten kurulu olduğunu söyleyecektir. Bu nedenle, hiçbir YUM birden çok sürüm yüklemenize izin vermez.

Gelince yum update, bu iki yoldan biriyle tepki verecektir. Güncellemek istediğiniz bir paket söylerseniz, gerekli tüm bağımlılıkları indirerek ve yükleyerek de bunu yapmaya çalışır. Herhangi bir paket adı olmadan çalıştırırsanız , sisteminizde yüklü olan her paketi yum updategüncellemeye çalışır .

Eğer kullanırsanız yum upgradeo kadar aynısını yapacak yum updateo "eski" olarak işaretlenen paketlerini kaldırmak çalışacaktır hariç.

Misal

İşte sizinkinden farklı olmayan bir senaryo. Uygulamasının yeni bir sürümü vim-X11mevcut.

$ yum check-update vim-X11 | expand
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit

vim-X11.x86_64                     2:7.4.417-1.fc19                      updates

Şu anda bu sürümdeyim:

$ rpm -q vim-X11 | expand
vim-X11-7.4.179-1.fc19.x86_64

Yüklemeye çalıştığımızda:

$ sudo yum install vim-X11
...   
=================================================================================================================================================================
 Package                                 Arch                              Version                                      Repository                          Size
=================================================================================================================================================================
Updating:
 vim-X11                                 x86_64                            2:7.4.417-1.fc19                             updates                            1.2 M
Updating for dependencies:
 vim-common                              x86_64                            2:7.4.417-1.fc19                             updates                            5.9 M
 vim-enhanced                            x86_64                            2:7.4.417-1.fc19                             updates                            1.0 M
....
Running transaction
  Updating   : 2:vim-common-7.4.417-1.fc19.x86_64                                                                                                            1/6 
  Updating   : 2:vim-enhanced-7.4.417-1.fc19.x86_64                                                                                                          2/6 
  Updating   : 2:vim-X11-7.4.417-1.fc19.x86_64                                                                                                               3/6 
  Cleanup    : 2:vim-X11-7.4.179-1.fc19.x86_64                                                                                                               4/6 
  Cleanup    : 2:vim-enhanced-7.4.179-1.fc19.x86_64                                                                                                          5/6 
  Cleanup    : 2:vim-common-7.4.179-1.fc19.x86_64                                                                                                            6/6 
  Verifying  : 2:vim-enhanced-7.4.417-1.fc19.x86_64                                                                                                          1/6 
  Verifying  : 2:vim-X11-7.4.417-1.fc19.x86_64                                                                                                               2/6 
  Verifying  : 2:vim-common-7.4.417-1.fc19.x86_64                                                                                                            3/6 
  Verifying  : 2:vim-enhanced-7.4.179-1.fc19.x86_64                                                                                                          4/6 
  Verifying  : 2:vim-X11-7.4.179-1.fc19.x86_64                                                                                                               5/6 
  Verifying  : 2:vim-common-7.4.179-1.fc19.x86_64                                                                                                            6/6 

Özet olarak

  1. yum install1.0 yüklendikten sonra 1.1 sürümü gerçekleştirilecek mi, 2. paket listelenecek mi?

Hayır. YUM, paket zaten yüklüyse bir yükleme yapmasını söylemiş olsanız bile yine de bir güncelleme gerçekleştirir.

  1. Some yum update some-package-1.1-package-1.0 başarıyla değiştirecek mi?

Evet.


Çok detaylı cevap için teşekkürler. Böylece gördüğüm şekilde, yum installpaket adını sürümle belirttiğimde ve birden çok sürüm yüklemeyle ilgilenmediğimde kullanmaya devam edebilirim . Kullanmak istediğim bir durum yum updatesadece paket adını belirttiğimde olur, değil mi?
14:43

@aspiringCodeArtisan - bu kısmen doğru. yum installbir paketin zaten kurulu olduğunu algılar ve örneğimin gösterdiği gibi güncellemeye veya yüklemeye geçecektir.
slm

@slm - Açıklığa kavuşturmak için, rpm belirli bir paket için zypper aramasına benzer bir depoda arama yapabilir mi?
Motive

1
@ Motive - hayır rpmgibidir dpkg, sadece yerel diskteki dosyaları yönetmekle ilgilidir. Depo "yönetim" b için / sistem + bir repo w gibi bir şey gerek yumya dnf.
slm

1
@ Motive - rpmbir url'den yüklemek için kullanıldığında, onları da çekmek için herhangi bir paket dep yapmaz, sadece rpm'yi yerel olarak indirir ve sonra yükler.
slm
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.