Zarządzanie pakietami przez yum.

Yum (yellowdog updater, modified) to frontend komendy rpm i preferowane narzędzie do zarządzania pakietami. Narzędzie wymaga aby system miał dostęp do repozytorium pakietów. Repozytoria Red Hat w przeciwieństwie do CentOS dostępne są tylko dla subskrybentów. Możliwe jest uruchomienie własnego repozytorium co wymaga utworzenia pliku z jego definicją w katalogu /etc/yum.repos.d/. Najważniejszą zaletą narzędzia yum jest, że dba ono o zależności pakietów instalując automatycznie dodatkowo wymagane pakiety.

Plik konfiguracyjny yum.

W pliku konfiguracyjnym /etc/yum.conf można zdefiniować osobne sekcje dla każdego nowego repozytorium, z którego ma korzystać system. Lepiej jednak wpisy o repozytoriach umieszczać w katalogu /etc/yum.repos.d.

Domyślna zawartość yum.conf wygląda następująco:

Dyrektywa Opis
cachedir Katalog-magazyn do składowania pobranych plików. Domyślnie /var/cache/yum/$basearch/$releasever .
keepcache Określa czy składować pakiet i nagłówek cache po pozytywnie zakończonej instalacji. Domyślnie wyłączone (0).
 debuglevel Poziom debugowania jakie będzie zapisane w logu. Minimum 1 i maksimum 10, domyślnie 2. Wartość 0 wyłącza tą opcję.
 logfile Położenie pliku z logami. Domyślnie /var/log/yum.log .
exactarch Określa czy aktualizować tylko pakiety, które pasują do architektury CPU. Domyślnie włączone (1).
obsoletes Sprawdza i zamienia jakiekolwiek przestarzałe pakiety w czasie aktualizacji. Domyślnie włączone (1).
gpgcheck Określa czy sprawdzać sygnaturę GPG pod kątem autentyczności pakietu. Domyślnie włączone (1).
plugins Określa czy wraz z pakietami mają być pobierane pluginy. Domyślnie włączone (1).
 installonly_limit Określa liczbę wersji jądra systemu utrzymywanych w systemie. Domyślna wartość 3 oznacza, że zainstalowane będą maksymalnie 3 jądra. Jeśli podczas aktualizacji systemu będzie instalowane kolejne, najstarsze zostanie usunięte. Zainstalowane jądra będą widoczne w menu gruba, dając możliwość uruchomienia systemu na wybranym z nich.

Dodatkowe dyrektywy, które możemy umieścić w sekcji głównej lub w sekcji repo pliku konfiguracyjnego, mogą być wyświetlone komendą yum-config-manager.

 

Repozytorium yum.

Repozytorium yum jest cyfrową biblioteką służącą do magazynowania pakietów. W Internecie dostępnych jest wiele repozytoriów zarządzanych przed różne podmioty takie jak Red Hat i CentOS. Najlepiej korzystać z repozytoriów zarządzanych przez zaufane podmioty, unikniemy w ten sposób uszkodzenia systemu. Można także uruchomić swoje własne repozytorium co jest dobrą praktyką dla organizacji z dużą ilością systemów RHEL czy CentOS.

Prosty plik z definicją własnego repozytorium wygląda następująco:

Pierwsza linia definiuje unikalne ID repozytorium, druga nazwę, trzecia położenie repozytorium, czwarta określa czy repozytorium jest aktywna a linia piąta czy pakiety mają być sprawdzane pod kątem autentyczności przez GPG. Trzy pierwsze linie są obowiązkowe, pozostałe opcjonalne. Repozytorium lokalne wskazuje się używając trzech ukośników (/). Repozytorium zdalne określa się używając dwóch ukośników np.:

  • ftp://hostname/network_path
  • http://hostname/network_path
  • dla NFS:  file:///hostname/network_path.
    Ścieżka powinna oczywiście być rozwiązywalna przez resolver lub powinien być użyty adres IP.

 

Polecenie yum.

Niektóre opcje polecenia yum znajdują się w tabeli poniżej:

Opcja Opis
provides (lub whatprovides) Szuka pakietu, który zawiera określony plik.
install Instaluje lub aktualizuje pakiet.
remove / erase Usuwa pakiet.
 search  Szuka pakiety, który zawiera w nazwie określony tekst (łańcuch).
 check-update Sprawdza czy są aktualizacje dla zainstalowanych pakietów.
 update Aktualizuje zainstalowane pakiety.
upgrade To samo co update ale usuwa stare pakiety. Inaczej yum update --obsoletes. Usuwanie starych pakietów w czasie aktualizacji nie jest bezpieeczne.
 list Listuje zainstalowane i dostępne pakiety.
 clean Usuwa skeszowane dane.
 info Wyświetla informacje o pakiecie.
history Wyświetla historię wykonywanych przez yum czynności. Składowane w /var/lib/yum/history.
localinstall Instaluje lub aktualizuje pakiet lokalny.
repolist Wyświetla listę włączonych repozytoriów.
repository-packages Traktuje repozytorium jak zbiór pakietów, który może być zainstalowany lub odinstalowany jak jeden pakiet.
group install Instaluje lub aktualizuje grupę pakietów.
group info Wyświetla informacje o grupie pakietów.
group list Listuje dostępne grupy pakietów.
group remove Usuwa grupę pakietów.

 

Instalacja i aktualizacja pakietów oraz grup pakietów.

Podczas instalacji pakietu tworzone jest niezbędne drzewo katalogów, instalowane są niezbędne pliki i pakiety. Jeżeli pakiet jest już zainstalowany w systemie to jest on aktualizowany. Opcja -y przeprowadza akcję bez potwierdzenia.

Instalacja pakietu system-config-keyboard:

Aby zainstalować lub zaktualizować pakiet dcrew umieszczony lokalnie w katalogu /var/local używamy opcji  localinstall:

Aby zaktualizować zainstalowany pakiet do najnowszej dostępnej wersji (yum pokaże błąd jeżeli pakiet nie jest zainstalowany):

Aktualizacja wszystkich zainstalowanych w systemie pakietów do najnowszej wersji:

Instalacja lub aktualizacja grupy pakietów jak np. Smart Card Support:

Aktualizacja Smart Card Support group do najnowszej wersji:

 

Sprawdzanie czy są aktualizacje do zainstalowanych pakietów.

Yum pozwala nam sprawdzić czy aktualizacje są dostępne i w jakich włączonych repozytoriach się znajdują:

Powyższy wynik wskazuje na to, że nowsze wersje dostępne są na wszystkich włączonych repozytoriach.

 

Usuwania pakietów i grup pakietów.

Podczas usuwania pakietu usuwane zostają także pakiety zależne co wymaga potwierdzenia chyba, że użyta zostanie opcja -y.

Aby usunąć pakiet dcraw i pakiety zależne:

Aby usunąć grupę pakietów:

 

Wyszukiwanie pakietów.

Aby wyszukać pakiet, który zawiera konkretny  plik np. /bin/bash:

Aby wyszukać pakiet, który zawiera pliki pasujące do wzorca  np. /bin/bash:

Aby wyszukać pakiet, który ma konkretny łańcuch w nazwie:

 

Listowanie pakietów i grup pakietów.

Listowanie pakietów zainstalowanych w systemie:

Listowanie pakietów dostępnych ze wszystkich skonfigurowanych w systemie repozytoriów:

Listowanie pakietów tych zainstalowanych w systemie i tych dostępnych ze wszystkich skonfigurowanych w systemie repozytoriów:

Listowanie pakietów dostępnych ze wszystkich skonfigurowanych w systemie repozytoriów, które możemy zaktualizować:

Sprawdzenie czy dany pakiet (np. bc) jest zainstalowany w systemie lub czy jest dostępny ww repozytorium:

Listowanie wszystkich zainstalowanych pakietów posiadających nazwę zaczynającą się od łańcucha “gnome”:

Listowanie ostatnio dodanych pakietów:

Listowanie zainstalowanych i dostępnych grup pakietów:

Listowanie wszystkich grup pakietów dostępnych do instalacji:

Listowanie konkretnej grupy pakietów o nazwie np. base:

 

Wyświetlanie informacji o pakietach  i o grupach pakietów.

Informacje o pakiecie:

Informacje o grupie pakietów:

 

Pobieranie pakietów.

Narzędzie yumdownloader pozwala pobierać pakiety z dostępnych repozytoriów, np:

 

Wyświetlanie historii tranzakcji yum.

Domyślnie yum przechowuje informacje o tranzakcjach w bazie danych w katalogu /var/lib/yum/history. Baza danych historii zawiera numeryczne ID przypisane każdej tranzakcji, konto użytkownika używane do tranzakcji, data i czas tranzakcjji, przeprowadzoną akcję, pakiety zawiązane z tą akcją, status ukończenia i inne.

Aby wyświetlić ostatnie 20 tanzakcji:

Aby wyświetlić wszystkie poprzednie tranzakcje:

Aby wyświetlić podsumowanie wszystkich ostatnich tranzakcji:

Aby wyświetlić tylko tranzakcję od 1 do 3:

 

Ćwiczenie 1. Tworzenie lokalnego repozytorium yum.

Tworzymy katalog /var/local i wchodzimy do niego:

Kopiujemy pakiet dcraw-9.19-6.el7.x86_64.rpm z katalogu /mnt/Packages do tego katalogu:

Instalujemy pakiet createrepo w systemie:

Wykonujemy polecenie  createrepo w katalogu /var/local directory aby utworzyć niezbędną strukturę katalogów dla tego repozytorium. Tworzony zostaje podkatalog repodata, który zawiera potrzebne pliki.

Tworzymy plik definicji dla repozytorium /etc/yum.repos.d/local.repo. W pliku wpisujemy takie dane:

Czyszczenie cache yum:

Potwierdzenie, że repozytorium zostało utworzone i jest dostępne do użytku:

 

Ćwiczenie 2. Tworzenie repozytorium yum DVD.

Montujemy płytę instalacyjną DVD z RHEL7 w katalogu /mnt:

Tworzymy plik z definicją repozytorium /etc/yum.repos.d/dvd.repo. W pliku definicji wpisujemy:

Potwierdzenie, że repozytorium zostało utworzone i jest dostępne do użytku:

 

Ćwiczenie 3. Zarządzanie pakietami przy użyciu yum.

Usuwamy pakiet ntp:

Zmieniamy katalog na /var/local i pobieramy pakiet ntp:

Wydajemy polecenie ll command na pliku ntp aby się upewnić, że pakiet został pobrany:

Instalujemy pakiet:

Wyświetlamy informacje o pakiecie:

Instalujemy grupę pakietów Smart Card Support:

Wyświetlamy informacje o grupie:

Usuwamy grupę Smart Card Support:

Leave a Reply

Your email address will not be published. Required fields are marked *