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: