rpm(8)

NAZWA
rpm - Menedżer pakietów Red Hat i PLD

SKŁADNIA
rpm [opcje]

OPIS
rpm jest potężnym menedżerem pakietów, który może być używany do budowania, instalowania, zapytywania, weryfikowania, odświerzania i odinstalowywania konkretnych pakietów oprogramowania. Pakiet składa się z archiwum plików i informacji o pakiecie, włączając w to nazwę, wersję i opis. Istnieje osiem podstawowych trybów działania, z których każdy używa innego zestawu opcji. Są to Instalowanie, Zapytywanie, Weryfikowania, Sprawdzanie sygnatury, Odinstalowywanie, Budowanie, Przebudowywanie bazy danych i Pokazywanie RC. Tryb instalowania:
rpm -i [opcje-instalowania] <plik_pakietowy>+
Tryb zapytywania:
rpm -q [opcje-zapytywania]
Tryb weryfikowania:
rpm -V|-y|--verify [opcje-weryfikowania]
Tryb sprawdzania sygnatury:
rpm --checksig <plik_pakietowy>+
Tryb odinstalowywania:
rpm -e <nazwa_pakietu>+
Tryb budowania:
rpm -bO [opcje-budowania] <specyfikacja_pakietu>+

OPCJE OGÓLNE
Opcje te mogą być użyte we wszystkich trybach.

-vv Drukuje sporo brzydkich danych debuggowych.

--keep-temps
    Nie usuwaj plików tymczasowych (/tmp/rpm-*). W zasadzie przydatne tylko do debuggowania rpm.

--quiet
    Drukuj jak najmniej informacji - typowo tylko informacje o błędach.

--help
    Wydrukuj dłuższą niż normalnie informacje o użyciu.

--version
    Wydrukuj pojedynczą linię zawierającą numer wersji rpm.

--rcfile <file>
    Użyj pliku <file> zamiast /etc/rpmrc i $HOME/.rpmrc.

--root <dir>
    Użyj podanego katalogu jako katalogu nadrzędnego wszystkich operacji.

OPCJE INSTALOWANIA
Ogólna forma komendy instalowania to

    rpm -i [opcje-instalowania] <plik_pakietowy>+

<plik_pakietowy> może być podany jako URL typu FTP, w którym to wypadku pakiet przed instalacją zostanie pobrany. Zobacz OPCJE FTP dla dalszych informacji o wsparciu dla FTP.

--force
    To samo, co użycie naraz --replacepkgs, --replacefiles i --oldpackage.

-h, --hash
    Drukuj 50 znaków krzyżyka podczas rozpakowywania pakietu. W połączeniu z -v daje ładne wyjście.

--oldpackage
    Umożliw upgrade aby zastąpić nowszy pakiet starszym.

--percent
    Drukuj procenty podczas rozpakowywania plików z archiwum. Ma to na celu ułatwić wywoływanie RPM-a z innych narzędzi.

--replacefiles
    Instaluj pakiety nawet w wypadku, gdy zamieniają one pliki z innych, już zainstalowanych pakietów.

--replacepkgs
    Instaluj pakiety nawet w wypadku, gdy niektóre z nich są już zainstalowane.

--root <dir>
    Dokonuj instalacji na systemie zakorzenionym w katalogu <dir>. Zauważ, że znaczy to iż baza danych będzie odświeżana w <dir>.

--nodeps
    Nie dokonuj sprawdzenia zależności przed zainstalowaniem nowego pakietu.

--noscripts
    Nie wywołuj skryptów preinstalacyjnych i postinstalacyjnych.

--excludedocs
    Nie instaluj plików zaznaczonych jako dokumentacja (włącza się tu strony podręcznika man i dokumenty texinfo).

--includedocs
    Instaluj pliki z dokumentacją. Jest to potrzebne tylko w wypadku gdy w pliku rpmrc podano excludedocs: 1.

--nodeps
    Nie sprawdzaj zależności przed instalowaniem pakietów.

--test
    Nie instaluj pakietu, sprawdź tylko i zgłoś potencjalne konflikty.

-U, --upgrade
    Odświerz (upgrade) obecnie zainstalowany pakiet do wersji z nowego RPM. Jest to to samo co install, lecz wszystkie inne wersje pakietu są usuwane z systemu.

OPCJE ZAPYTAŃ
Ogólną postacią zapytania rpm jest

    rpm -q [query-options]

Możesz podać format, w jakim informacje powinny być drukowane. Aby tego dokonać, użyj opcji --queryformat, po której nastąpi string formatu. Formaty zapytań są zmodyfikowanymi wersjami standardowego formatowania printf(3). Format ten jest stworzony dla statycznych stringów (które mogą zawierać standardowe znaki escape'owe C, takie jak nowe linie, tabulacje, itp.) oraz formatki typów. Jako, że rpm wie z góry jaki typ drukuje, specyfikator typu musi być pominięty i zamieniony na tag drukowanego nagłówka, ujętego w znaki {}. Część RPMTAG_ tagu może być pominięta, a nazwa może być poprzedzona przez -, co powoduje formatowanie tagu tak jak datę. Na przykład aby wydrukować tylko nazwy zapytanych pakietów, możesz użyć jako stringu formatującego %{NAME}. Aby wydrukować nazwy pakietów i informacje o dystrybucji w dwóch kolumnach, możesz użyć %-30{NAME}%{DISTRIBUTION}. Gdy wywoła się rpm z argumentem --querytags, to wydrukuje on wszystkie tagi, jakie zna. Istnieją dwa podzestawy opcji dla zapytań: wybór pakietu i wybór informacji. Opcje wyboru pakietu:

<nazwa_pakietu>
    Zapytaj pakiet o nazwie <nazwa_pakietu>.

-a  Zapytaj wszystkie pakiety.

-whatrequires <capability>
    Zapytaj wszystkie pakiety wymagające <właściwości> dla prawdiłowego działania.

-whatprovides <virtual>
    Zapytaj wszystkie pakiety, które udostępniają właściwość <virtual>.

-f <file>
    Zapytaj pakiet-właściciel pliku <file>.

-F  Jak -f, lecz odczytuj nazwy plików ze stdin.

-p <package_file>
    Zapytaj (niewylistowany) pakiet <package_file>. Plik ten może być podany jako URL do ftp. Zobacz sekcję OPCJE FTP.

-P  Jak -p, lecz odczytuj nazwy plików pakietów ze stdin.

Opcje wyboru informacji:

-i  Wyświetl informację o pakiecie, włączejąc nazwę, wersję i opis. Opcja używa (o ile podano) formatu --queryformat.

-R  Listuj pakiety, od których ten zależy (to samo co --requires).

--provides
    Listuj właściwości, jakie ten pakiet udostępnia.

-l  Listuj pliki z pakietu.

-s  Wyświetl stany plików w pakiecie (implikuje -l). Stan każdego pliku może być jednym z następujących: normal (normalny), not installed (nie zainstalowany) lub replaced (zamieniony).

-d  Listuj tylko pliki z dokumentacją (implikuje -l).

-c  Listuj tylko pliki konfiguracyjne (implikuje -l).

--scripts
    Listuj specyficzne dla pakietu skrypty shellowe, które są używane do instalacji/deinstalacji.

--dump
    Wyrzuć informacje plikowe według: ścieżka rozmiar czas-modyfikacji suma-md5 tryb właściciel grupa czy-konfiguracyjny czy-dokumentacja rdev symlink. (wersja angielska dla tych co się pogubili: path size mtime md5sum mode owner group isconfig isdoc rdev symlink.) Musi to być używane z przynajmniej jednym z -l, -c, -d.

OPCJE WERYFIKACJI
Ogólna postać komendy weryfikacji rpm to

    rpm -V|-y|--verify [verify-options]

Weryfikacja pakietu porównuje dane o zainstalowanych w pakiecie plikach z danymi o plikach wziętych z oryginalnego pakietu, zapisanych w bazie danych rpm. Obok wielu innych rzeczy, weryfikacja porównuje rozmiar, sumę md5, prawa, typ, właściciela i grupę każdego z plików. Wszelkie niezgodności są wyświetlane. Opcje specyfikacji pakietu są takie same jak przy zapytywaniu pakietu. Pliki, które nie były instalowane z pakietu, np. dokumentacja którą wyłączono podczas instalacji, zostaną cicho pominięte. Domyślnym formatem wyjścia jest ośmioznakowy ciąg, prawdopodobne "c", wskazujące na plik konfiguracyjny, a następnie nazwa pliku. Każdy z ośmiu znaków wskazuje na wynik porównania atrybutów pliku do wartości zapisanej w bazie RPM. Pojedyncza kropka oznacza, że test przeszedł bezbłędnie. Następujące znaki określają błędy na konkretnych testach:

5   suma MD5

S   Rozmiar pliku

L   Symlink

T   Czas modyfikacji (mtime)

D   Urządzenie (device)

U   Użytkownik (user)

G   Grupa

M   Tryb (włącza prawa i rodzaj pliku)

SPRAWDZANIE SYGNATURY
Ogólną postacią komendy sprawdzania sygnatury w rpm to

    rpm --checksig <package_file>+

Sprawdza to sygnaturę PGP wbudowaną do pakietu, aby zapewnić integralność oraz źródło pakietu. Dane konfiguracyjne PGP znajdują się w /etc/rmprc. Zobacz sekcję o SYGNATURACH PGP dla dalszych szczegółów.

OPCJE DEINSTALACJI
Ogólną postacią komendy deinstlacji jest

        rpm -e <package_name>+

--noscripts
    Nie wywołuj skryptów predeinstalacyjnych i postdeinstalacyjnych.

--nodeps
    Nie sprawdzaj zależności przed deinstalacją.

--test
    Nie deinstaluj tak naprawdę niczego, tylko przejdź przez ruchy. -vv option.

--nodeps
    Nie szukaj zerwanch zależności przed usunięciem pakietu

OPCJE BUDOWANIA
Ogólną postacią komendy budowania jest

    rpm -bO [build-options] <package_spec>+

gdzie -bO określa stopnie budowy i pakietowania, które trzeba wykonać i jest jednym z:

-bp Włącza poziom "%prep" z pliku spec. Normalnie prowadzi to do rozpakowywania źródeł i załączania wszelkich patchów.

-bl Dokonaj "sprawdzenia listy". Sekcja "%files" pliku spec jest rozwijana i dokonywane są sprawdzenia, aby upewnić się czy pliki istnieją.

-bc Wykonaj poziom "%build" z pliku spec (po dokonaniu poziomu prep). Ogólnie załącza to ekwiwalenta "make".

-bi Wykonaj poziom "%install" z pliku spec (po dokonaniu poziomów prep i build). Generalnie załącza to ekwiwalent "make install".

-bb Zbuduj pakiet binarny (po wykonaniu poziomów prep, build i install).

-ba Zbuduj pakiet binarny i pakiety źródłowe (po wykonaniu poziomów prep, build i install).

Użyte mogą zostać dodatkowo następujące opcje:

--short-circuit
    Przejdź wprost do podanego poziomu (np. pomiń wszystkie poziomy prowadzące do podanego poziomu). Jest to prawidłoweg tylko z -bc i -bi.

--timecheck
    Ustaw czas "sprawdzenia czasu" (timecheck) (0 wyłącza). Wartość ta może być ustawiona w rpmrc jako "timecheck:". Wartość ta wyraża w sekundach najdłuższy wiek pakowanego pliku. Dla plików spoza tego zakresu będą drukowane ostrzeżenia.

--clean
    Usuń drzewo budowy (build tree) po utworzeniu pakietów

--test
    Nie wywołuj żadnych poziomów budowania (build). Przydatne do testowania plików spec.

--sign
    Osadź w pakiecie sygnaturę PGP. Sygnatura może być używana do sprawdzania integralności i źródła pakietu. Zobacz sekcję o SYGNATURACH PGP dla szczegółów /etc/rpmrc.

OPCJE BUDOWY OD NOWA I REKOMPILACJI
Są dwa sposoby wywołania rpm: rpm --recompile <source_package_file>+ rpm --rebuild <source_package_file>+ Gdy uruchomi się go w ten sposób, rpm instaluje podany pakiet źródłowy i wykonuje poziomy prep, compile i install. Dodatkowo, opcja --rebuild buduje nowy pakiet binarny. Gdy budowa zostaje zakończona, katalog budowy jest usuwany (jak w --clean), a pliki źródłowe i plik spec pakietu są usuwane.

PODPISYWANIE ISTNIEJĄCEGO RPM
rpm --resign <binary_package_file>+ Opcja ta generuje i wstawia nowe sygnatury do wymienionych pakietów. Wszystkie istniejące sygnatury są usuwane.

SYGNATURY PGP
Aby uzywać właściwości sygnatur, RPM musi mieć możliwość uruchomiania PGP (musi być zainstalowany w ścieżce) i musi być w stanie znaleźć zbiór kluczy publicznych (public key ring), w którym znajdują się klucze RPM. Domyślnie, RPM używa domyślnych wartości PGP dla odnajdywania kluczy (honorując PHPPATH). Jeśli klucze nie są zlokalizowane tam, gdzie PGP ich oczekuje, musisz wstawić następującą rzecz do swojego /etc/rpmrc

pgp_path
    Ścieżka zamienna dla /usr/lib/rpm. Musi zawierać twoje klucze.

Jeśli chcesz móc podpisywać pakiety, które tworzysz, to będziesz musiał utworzyć swoje własne klucze -- publiczny i prywatny (zobacz w podręczniku PGP). Obok powyższych wpisów /etc/rmprc, powinieneś dodać następujące:

signature
    Typ sygnatury. Obecnie wspierane jest tylko pgp.

pgp_name
    Nazwa użytkownika, którego kluczem chcesz podpisywać swoje pakiety.

Podczas budowania pakietów dodajesz --sign w linii komend. Zostaniesz zapytany o swoją frazę przejścia (pass phrase -- czyli pewnie hasło, ale się nie znam -- przyp. tłum. ;), a twój pakiet zostanie zbudowany i podpisany.

OPCJE PRZEBUDOWY BAZY DANYCH
Ogólną postacią komendy przebudowy bazy danych jest

    rpm --rebuilddb

Jedyne opcje wspierane w tym trybie to --dbpath i --root.

SHOWRC
Uruchamienie

    rpm --showrc

pokaże wartości, których RPM użyje dla wszystkich opcji, które mogą być ustawiane w plikach rpmrc.

OPCJE FTP
RPM zawiera prostego klienta FTP, upraszczającego instalację i zapytywanie pakietów, które są dostępne w internecie. Pliki pakietowe dla instalacji, odnowy (upgrade) i zapytywania mogą być podawane w postaci URL-a ftp:

    ftp://<użytkownik>@<hasło>:nazwahosta/ścieżka/do/pakietu.rpm

Jeśli zostanie pominięta część @hasło, użytkownik zostanie o nie zapytany (raz na parę użytkownik/nazwa hosta). Jeśli nie podano ani pola użytkownik, ani hasło, użyty zostanie anonimowy ftp. We wszystkich wypadkach używane są pasywne (passive) (PASV) transfery ftp. RPM umożliwia używanie następujących opcji z URL-ami ftp:

--ftpproxy <nazwahosta>
    Host <nazwahosta> będzie używany jako serwer proxy transferów, co umożliwia użytkownikom uruchomianie ftp poprzez maszyny firewallowe, które używają systemów proxy. Opcja ta może być też podana w pliku rpmrc.

--ftpport <port>
    Określa numer portu TCP, używanego do połączenia ftp (zamiast domyślnego). Opcja ta może być podana także w pliku rpmrc.

PLIKI
/etc/rpmrc
~/.rpmrc
~/.rpmmacros
/var/lib/rpm/packages
/var/lib/rpm/pathidx
/var/lib/rpm/nameidx
/tmp/rpm*

ZOBACZ TAKŻE
glint(8), rpm2cpio(8), http://www.redhat.com/rpm

AUTORZY
Marc Ewing <marc@redhat.com>
Erik Troan <ewt@redhat.com>