Różnica między yum update i yum install

Podczas pracy z poleceniem rpm zauważyłem, że jeśli zainstalowałem some-package-1.0, a następnie wykonałem kolejne rpm -ivh some-package-1.1 oba pakiety zostaną wyświetlone, kiedy wykonam rpm -qa | grep some-package jak poniżej :

some-package-1.0 some-package-1.1 

Jeśli jednak dokonam aktualizacji za pośrednictwem rpm -Uvh some-package-1.1, zamiast instalować 1.1, otrzymam pożądany wynik pojedynczy pakiet (1.1), gdy robię rpm -qa | grep some-package.

Teraz to samo zachowanie dotyczy yum install i yum update?

Pytam, ponieważ za pomocą polecenia rpm -U (upgrade) pakiet nie musi istnieć, aby zaktualizować / zainstalować, ale z yum update (jeśli się nie mylę) pakiet musi już istnieć.

Szczególnie zależy mi na tym, aby poznać wynik określenia pakietów z ich wersje, takie jak some-package-1.0. Podsumowując, chcę wiedzieć, czy mam dwie konkretne wersje, takie jak some-package-1.0 i some-package-1.1:

  1. Czy wykonanie yum install w wersji 1.1 po zainstalowaniu wersji 1.0 wyświetli listę 2 pakietów?
  2. Czy uruchomi się yum update some-package-1.1 pomyślnie zastąp some-package-1.0?

Odpowiedź

Główny różnice między YUM i RPM polegają na tym, że yum wie, jak rozwiązywać zależności i może pozyskiwać te dodatkowe pakiety podczas wykonywania swojej pracy. Chociaż rpm może ostrzegać o tych zależnościach, nie jest w stanie pobrać dodatkowych pakietów.

Jeśli chodzi o instalację i aktualizację. Oba narzędzia mogą przeprowadzić instalację, a RPM pozwoli nawet na zainstalowanie wielu wersji jednocześnie, ale YUM poinformuje Cię, że ten pakiet jest już zainstalowany. Więc żaden YUM nie pozwoli ci zainstalować wielu wersji.

Jeśli chodzi o yum update, zareaguje to na jeden z dwóch sposobów. Jeśli powiesz pakiet, który chcesz zaktualizować, spróbuje to zrobić, pobierając wszystkie niezbędne zależności i instalując je również. Jeśli uruchomisz go bez nazwy pakietu, yum update spróbuje zaktualizować każdy pakiet, który jest zainstalowany w twoim systemie.

Jeśli używasz yum upgrade, zrobi to tak samo jak yum update, z tą różnicą, że spróbuje usunąć wszystkie pakiety, które zostały oznaczone jako „przestarzałe”.

Przykład

Oto scenariusz podobny do twojego. Dostępna jest nowa wersja vim-X11.

$ 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 

I jestem obecnie w tej wersji:

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

Kiedy próbujemy go zainstalować:

$ 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 

Podsumowując

  1. Czy wykonanie yum install w wersji 1.1 po zainstalowaniu wersji 1.0, wyświetli 2 pakiety?

Nie. YUM nadal wykona aktualizację, nawet jeśli kazałeś mu wykonać instalację, jeśli pakiet jest już zainstalowany.

  1. Czy działanie yum update some-package-1.1 z powodzeniem zastąpi jakiś-pakiet-1.0?

Tak.

Komentarze

  • Dziękuję za bardzo szczegółową odpowiedź. Tak więc, jak to widzę, mogę po prostu nadal używać yum install, kiedy określam nazwę pakietu z wersją i nie przejmuję się instalacją wielu wersji. Sytuacja, w której chciałbym użyć yum update, byłaby taka, gdy podam tylko nazwę pakietu, prawda?
  • @aspiringCodeArtisan – że ' s częściowo poprawne. yum install wykryje, że pakiet jest już zainstalowany i przełączy się na aktualizację, a nie na instalację, jak pokazał mój przykład.
  • @slm – Aby wyjaśnić, można rpm przeszukuje repozytorium podobne do wyszukiwania zyppera dla konkretnego pakietu?
  • @Motivated – no rpm jest jak dpkg , dotyczy tylko zarządzania plikami na dysku lokalnym. Do zarządzania repozytorium " " w wersji czarno-białej + repozytorium potrzebujesz czegoś takiego jak yum lub dnf.
  • @Motivated – rpm w przypadku instalacji z adresu URL nie ' Nie wykonuj żadnego pakietu, aby je pobrać, po prostu pobiera lokalnie rpm, a następnie instaluje.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *