Komenda rpm
Nazwa rpm wzięła się pierwotnie od skrótu: Red Hat Package Manager. Jak nazwa wskazuje, był to menedżer pakietów on napisany dla Red Hata, jednak wraz ze wzrostem popularności, pojawił się również na innych dystrybucjach, stąd zmieniono rozwinięcie skrótu na: RPM Package Manager. Program służy do instalacji bardzo wygodnych pakietów, dostarczających oprogramowanie.
Spis treści |
Jak używać rpm ?
Komenda rpm nie ma graficznej wersji, działa w konsoli. Wszystkie operację modyfikujące bazę danych o pakietach, należy wykonywać w trybie administratora.
Instalowanie, aktualizacja oraz usuwanie
| Wskazówka: RPM nie jezt zalecanym menedżerem pakietów do aktualizacji systemu czy instalacji nowego oprogramowania, z powodu małej wygody obsługi. |
Aby zainstalować jakiś pakiet, używa się komendy:
rpm -i <nazwa pakietu>
Aby dodatkowo pojawiły nsię informacje o pakiecie oraz pasek postępu instalacji, należy dołączyć kolejne dwa argumenty:
rpm -ivh <nazwa pakietu>
Aby zaktualizować lub zainstalować pakiet używa się:
rpm -U
Podobnie jak w przypadku instalacji, można wzbogacić proces instalacji o pasek postępu oraz dodatkowe informacje, dodająć tylko dwa argumenty:
rpm -Uvh
| Uwaga: Zaleca się używania -Uvh zamiast -ivh, ponieważ w szczególnych warunkach drugie polecenie może doprowadzić do zdublowania pakietu o takiej samej nazwie w bazie. |
Aby usunąć jakiś pakiet, używa się komendy:
rpm -e <nazwa pakietu>
Aby wymusić instalację pakietu pomimo ostrzeżeń (czasem się to przydaje) używa się parametru --force:
rpm -i <nazwa pakietu> --force
Aby wymusić usunięcie pakietu pomimo zależności (również czasami się przydaje) używa się parametru --nodeps:
rpm -e <nazwa pakietu> --nodeps
Uzyskiwanie informacji o zainstalowanych pakietach
Aby sprawdzić wersję pakietu (a przy okazji sprawdzić, czy jest zainstalowany), używa się polecenia:
rpm -q <nazwa pakietu>
Dokumentację programu można znaleźć za pomocą rpm:
rpm -qd <nazwa pakietu>
Czasami wędrując po systemie, można natknąć się na jakiś dziwny plik. Jeśli wchodzi w skład któregoś z zainstalowanych pakietów, to rpm może powiedzieć, z którego pakietu pochodzi:
rpm -qf <scieżka do pliku>
Istnieje też możliwosć wyświetlenia wszystkich plików danego pakietu:
rpm -ql <nazwa pakietu>
Istnieje jeszcze inne polecenie dla programu rpm, przydatne czasami, mianowicie polecenie:
rpm -qa
Polecenie to wyświetla wszystkie zainstalowane pakiety. W połączeniu z programami typu grep można sprawdzić, na przykład, ile pakietów w systemie ma nazwę zaczynająca się na literę "a":
rpm -qa | grep ^a
Przy odrobinie umiejętności i wiedzy, można łatwo znaleźć za pomocą rpm każdy plik będący w jakimś pakiecie - na tym przykładzie niech to będzie startkde:
rpm -ql $(rpm -qa | grep kde.*3) | grep startkde
Inne możliwości
Kolejnym przydatnym poleceniem jest odbudowanie bazy pakietów rpm. Przydaje się, gdy coś się posypie. Wówczas używa się polecenia:
rpm --rebuilddb
Komendę tę warto również wydać, jeśli pakiety instalują się wyraźnie wolniej niż wcześniej - wynika to z pofragmentowania bazy z informacjami o zainstalowanych pakietach.
Dodatkowo rpm potrafi ściągnąc pakiet z internetu za pomocą wbudowanego klienta HTTP/FTP. Wystarczy podać link:
rpm -Uvh http://www.example.org/pakiet-rpm-1.0-1.rpm
Zaawansowane użycie
Oczywiście za pomocą rpm można też odpytywać bazę danych zawierającą informacje o zainstalowanych pakietach:
rpm -q --qf "%{BUILDHOST}\n" kadu
Taka komenda wyświetli informacje o nazwie komputera, na którym zbudowano pakiet.
rpm -qa --qf "%{LICENSE}\n" | sort | uniq -c
W ten sposób można sprawdzić, na ilu i na jakich licencjach, są zainstalowane w systemie pakiety. Oczywiście wynik mógłby być posortowany według ilości pakietów z daną licencją, ale... więcej informacji o tym zagadnieniu znajduje się w artykule programowanie w Bash.