rpm(m) Red Hat Linux rpm(m) NAZWA rpm - Meneder pakietw Red Hat SKADNIA rpm [opcje] OPIS rpm jest potnym menederem pakietw, ktry moe by uywany do budowania, instalowania, zapytywania, weryfikowania, odwieania i odinstalowywania pakietw oprogramowania. Pakiet skada si z archiwum plikw oraz informacji paki- etowej, takiej jak nazwa, wersja i opis. Naley wybra jeden z nastpujcych podstawowych trybw: Inic- jalizowania bazy danych, Przebudowywania bazy danych, Budowania pakietu, Rekompilowania pakietu, Budowania paki- etu z tarballa, Zapytywania, Pokazywania tagw zapytywania, Instalowania, Odwieania, Odinstalowywania, Weryfikowania, Sprawdzania sygnatury, Ponownego podpisywania, Dodawania sygnatury, ustawiania wacicieli i grup oraz Pokazywania konfiguracji. Obsuga bazy danych: rpm -i [--initdb] rpm -i [--rebuilddb] Budowanie: rpm [-b|t] [spec_pakietu]+ rpm [--rebuild] [rdowyrpm]+ rpm [--tarbuild] [rdowtar]+ Querying: rpm [--query] [opcjezapytania] rpm [--querytags] Obsuga zainstalowanych pakietw: rpm [--install] [opcjeinstalowania] [plik_pakietu]+ rpm [--freshen|-F] [opcjeinstalowania] [plik_pakietu]+ rpm [--uninstall|-e] [opcjeodinstalowania] [pakiet]+ rpm [--verify|-V] [opcjeweryfikowania] [pakiet]+ Sygnatury: rpm [--verify|-V] [opcjeweryfikowania] [pakiet]+ rpm [--resign] [plik_z_pakietem]+ rpm [--addsign] [plik_z_pakietem]+ Rne: rpm [--showrc] rpm [--setperms] [pakiet]+ rpm [--setgids] [pakiet]+ OPCJE OGLNE Opcje te mog by uywane we wszystkich trybach. -vv Drukuje duo danych debuggowych. --quiet Drukuje jak najmniej - zazwyczaj tylko komunikaty o bdach. --help Drukuje informacj o uyciu dusz ni normalnie. --version Drukuje pojedyncz lini, zawierajc numer wersji rpm. --rcfile <listaplikw> Kady z plikw w oddzielonej dwukropkami <licieplikw> jest odczytywany kolejno przez rpm w poszukiwnaiu informacji o konfiguracji. Domyln <listplikw jest /usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc. Istnie musi tylko pierwszy plik listy, a tyldy bd rozsz- erzane na warto $HOME. --root <katalog> Uyj do wszystkich operacji systemu zakorzenionego w <katalogu>. Zauwa, e oznacza to e baza danych bdzie odczytywana w <katalogu>, a wszystkie skrypty przed i po bd uruchamiane po chroot(t) na <dir>. --dbpath <cieka> Uyj bazy danych rpm ze <cieki>. --justdb Odwie tylko baz danych, nie system plikw. --ftpproxy <host>, --httpproxy <host> Uyj <hosta> jako proxy FTP lub HTTP. Zobacz OPCJE FTP/HTTP. --ftpport <port>, --httpport <port> Uyj <portu> jako portu FTP lub HTTP na hocie proxy. Zobacz OPCJE FTP/HTTP. --pipe <kmd> Przekazuje potokiem wyjcie rpm do komendy <kmd>. OPCJE INSTALOWANIA I ODWIEANIA Ogln postaci komendy instalowania rpm jest rpm -i [opcje-instalownaia] <plik_pakietu>+ Instaluje to nowy pakiet. Ogoln postaci komendy odwieania rpm jest rpm -U [opcje-instalowania] <plik_pakietu>+ Odwiea to lub instaluje pakiet na wersj, obecn w nowym RPM. Jest to to samo co install, lecz wszystkie inne wer- sje pakietu bda najpierw z systemu usuwane. rpm [-F|--freshen] [opcje-instalowania] <plik_paki- etu>+ Odwiey to pakiety, lecz tylko jeli wczeniejsza wersja ju istnieje. <plik_pakietu> moe by podany jako URL ftp lub http. W tym wypadku pakiet zostanie pobrany przed zainstalowaniem . Zobacz OPCJE FTP/HTTP. --force To samo co uycie --replacepkgs, --replacefiles, i --oldpackage. -h, --hash Drukuje 50 znakw krzyyka, pokazujc proces roz- pakowywania archiwum. Uywajc z -v, uzyskasz adny obraz. --oldpackage Zezwl odwieeniu na zastpienie nowszego pakietu starszym. --percent Drukuj procenty podczas rozpoakowywania plikw z archiwum. Jest to zrobione w celu uatwienia wywoyw- naia RPM z innych narzdzi. --replacefiles Instaluj pakiety nawet jeli zastpuj one pliki z innych, ju zainstalowanych pakietw. --replacepkgs Instaluj pakiety nawet jeli niektre z nich s ju zainstalowane na tym systemie. --allfiles Instaluje lub odwiea wszystkie brakujceok (missin- gok) pliki z pakietu, niezalenie czy istniej. --nodeps Nie dokonuj sprawdzenia zalenoci przed instalowaniem, lub odwieaniem pakietu. --noscripts Nie wywouj skryptw przed i poinstalacyjnych. --notriggers Nie wywouj skryptw, ktre s pocigane przez instalacj tego pakietu. --ignoresize Nie sprawdzaj czy na zamontowanych systemach plikw jest do miejsca na zainstalowanie tego pakietu. --excludepath <path> Nie instaluj plikw, ktrych nazwy rozpoczynaj si od <path>. --excludedocs Nie instaluj adnych plikw, ktre s zaznaczone jako dokumentacja (co tyczy si take podrcznikw man i texinfo). --includedocs Instaluj pliki dokumentacji. Tak jest domylnie. --test Nie instaluj pakietu, po prostu sprawd czy istniej konflikty. --ignorearch Umoliwia to instalacj, lub odwieanie nawet w wypadku gdy architektury binarnego RPM i hosta nie odpowiadaj sobie. --ignoreos Umoliwia to instalowanie, lub odwieanie nawet w wypadku gdy systemy operacyjne binarnego RPM i hosta nie odpowiadaj sobie. --prefix <cieka> Ustawia to przedrostek instalacji na <ciek> dla relokowalnych pakietw. --relocate <staracieka>=<nowacieka> W wypadku pakietw relokowalnych, transluje pliki, ktre byyby wstawione do <starejcieki> na <nowciek>. --badreloc Do uytku w poczeniu z --relocate. Wymusza relokacj nawet gdy pakiet nie jest relokowalny. --noorder Nie porzdkuj pakietw dla instalacji. Lista pakietw w normalnych wypadkach jest porzdkowana na nowo by speni zalenoci. OPCJE ZAPYTA Ogln postaci komendy zapytania rpm jest rpm -q [opcje-zapyta] Moesz poda format, w jakim powinna zosta zapisywana infor- macja pakietowa. Aby tego dokona, uyj opcji [--queryfor- mat|-qf], z doczonym acuchem formatujcym. Formaty zapyta s zmodyfikowanymi wersjami standardowego formatowania printf(f). Format jest zoony ze statycznych acuchw (ktre mog zawiera standardowe znaki specjalne C--dla nowych linii, tabulacji itp.) oraz formatek typu, podobnych do tych z printf(f). Poniwa rpm ju zna typ do drukowania, specyfikator typu jest pomijany. W jego miejsce wchodzi nazwa tagu drukowanego nagwka, ujta w znaki {}. Cz RPMTAG_ nazwy taga moe by opuszczona. Mona zada innych formatw wyjciowych przez zakoczenie taga :typetag. Obecnie obsugiwane s nastpujce typy: octal, date, shescape, perms, fflags i depflags. Na przykad aby wydrukowa tylko nazwy zapytywanych pakietw, moesz uy jako acucha formatujcego samego %{NAME}. Aby wydrukowa nazwy pakietw i informacje dystrybucji (w dwch kolumnach), moesz uy %-30{NAME}%{DISTRIBUTION}. (Name bdzie w 30 znakowym okienku, z wyrwnaniem do lewej--zobacz printf(f)--przyp. tum.) Jeli uruchomi go z argumentem --querytags, rpm bdzie drukowa list wszystkich tagw, o ktrych wie. Istniej dwa podzbiory opcji dla zapytywania: wybr pakietu i wybr informacji. Opcje wyboru pakietu: <nazwa_pakietu> Zapytaj zainstalowany pakiet o nazwie <nazwa_paki- etu>. -a, --all Zapytaj wszystkie zainstalowane pakiety. --whatrequires <waciwo> Zapytaj wszystkie pakiety, wymagajce <waciwoci> do prawidowego dziaania. --whatprovides <wirtualna> Zapytaj wszystkie pakiety, dajce <wirtualn> waciwo. -f <plik>, --file <plik> Zapytaj pakiet, bdcy wacicielem <pliku>. -g <grupa>, --group <grupa> Zapytaj pakiety o grupie <grupa>. -p <plik_pakietu> Zapytaj (niezainstalowany) pakiet <plik_pakietu>. Plik ten moe by podany w stylu ftp lub http. W takiej sytuacji, przed zapytaniem zostanie pobrany. Zobacz OPCJE FTP/HTTP. --specfile <plikspec> Przetwrz i zapytaj <plikspec tak, jakby by paki- etem. Chocia nie jest dostpna caa informacja (np. lista plikw), to ten typ zapyta umoliwia uywanie rpm do wycigania informacji z plikw spec bez potrzeby pisania specyficznego parsera. --querybynumber <num> Zapisaj wprost <num>-ty wpis bazy danych; jest to przydatne do debuggowania. --triggeredby <pkg> Zapytaj pakiety, ktre s pocignite przez pakiety <pkg>. Opcje wyboru informacji: -i Wywietl informacj o pakiecie, cznie z nazw, wersj i opisem. O ile podano --queryformat, to jest on uywany. -R, --requires Listuj pakiety, od ktrych zaley ten pakiet. --provides Listuj waciwoci, ktre udostpnia ten pakiet. --changelog Wywietl informacje zmian dla tego pakietu. -l, --list Listuj pliki z pakietu. -s, --state Wywietl stany plikw w pakiecie (wymusza -l). Stan kadego pliku moe by jednym z normal (normalny), not installed (niezainstalowany), lub replaced (zamieniony). -d, --docfiles Listuj tylko pliki dokumentacji (wymusza -l). -c, --configfiles Listuj tylko pliki konfiguracji (wymusza -l). --scripts Listuj skrypty powoki, specyficzne dla pakietu, ktre s uywane jako cz procesu instalowania i odin- stalowywania (o ile takie skrypty istniej). --triggers, --triggerscripts Wywietl skrypty wywoujce (trigger scripts), zawarte w pakiecie. --dump Wywietl w nastpujcy sposb informacj o pliku: cieka rozmiar czasmodyfukacji sumamd5 prawa waciciel grupa jestkonfiguracyjny jestdokumentacj rdev dow- izaniesymboliczne. Musi to by uyte z przynajmniej jednym z -l, -c, -d. --last Porzdkuje listing pakietw podczas instalowania tak, e ostatnie pakiety s na grze. --filesbypkg Listuje wszystkie pliki z kadego z pakietw. --triggerscripts Pokazuje wszystkie skrypty wywoujce (trigger) z wybranych pakietw. OPCJE WERYFIKACJI Ogln postaci komendy weryfikacji rpm jest rpm -V|-y|--verify [opcje-weryfikacji] Weryfikowanie pakietu porwnuje informacje o zain- stalowanych plikach w pakiecie z informacj o plikach, pobran z oryginalnego pakietu, zapisanego w bazie rpm. Wrd innych rzeczy, porwnywane s rozmiary, sumy MD5, prawa, typ, waciciel i grupa kadego pliku. Wszystkie niezgodnoci s natychmiast wywietlane. Opcje specyfikacji pakietu s takie same jak dla zapytywania pakietw. Pliki, ktre nie byy zainstalowane z pakietu, jak na przykad dokumentacja, wyczona opcj "--excludedocs", s cicho ignorowane. Opcje, ktrych mona uy w trybie weryfikacji: --nofiles Ignoruje podczas weryfikacji brakujce pliki. --nomd5 Ignoruje podczas weryfikacji bdy sum MD5. --nopgp Ignoruje podczas weryfikacji bdy sprawdzania PGP. --nofiles Ignoruje podczas weryfikacji brakujce pliki. (dejavu? przyp. tum. ;) Format wyjcia to acuch 8 znakw, prawdopodobny "c", oznaczajcy plik konfiguracyjny, a nastpnie nazwa pliku. Kady z 8 znakw oznacza wynik porwnania jed- nego atrybutu pliku z wartoci atrybutu, zakodowan w bazie RPM. Kropka "." oznacza, e test przeszed pomylnie. Nastpujce znaki oznaczaj bdy okrelonych testw: 5 suma MD5 S rozmiar pliku L dowizanie symboliczne T czas modyfikacji D urzdzenie U uytkownik G grupa M prawa (wcza prawa i typ pliku) SPRAWDZANIE SYGNATURY Ogln postaci komendy sprawdzania sygnatury jest rpm --checksig <plik_pakietu>+ Sprawdza to sygnatur PGP pakietu plik_pakietu aby zapewni jego integralno i pochodzenie. Informacja konfiguracji PGP jest odczytywana z plikw konfiguracji. Zobacz sekcj o SYG- NATURACH PGP. OPCJE ODINSTALOWANIA Ogln postaci komendy odinstalowania rpm jest rpm -e <nazwa_pakietu>+ --allmatches Usu wszystkie wersjie pakietu, ktre odpowiadaj <nazwie_pakietu. Normalnie wywietlany jest bd gdy nazwa ta odpowiada wielu pakietom. --noscripts Nie wywouj skryptw pre i postinstalacyjnych. --notriggers Nie wywouj skryptw, ktre s pocigane przez usuwanie pakietu. --nodeps Nie sprawdzaj zalenoci przed odinstalowaniem. --test Nie odinstalowuj niczego naprawd, przejd tylko przez kolejne etapy. Przydatne w poczeniu z opcj -vv. OPCJE BUDOWANIA Ogln postaci komendy budowania rpm jest rpm -[b|t]O [opcje-budowania] <spec_pakietu>+ Jeli do zbudowania pakietu uywany jest plik spec, to argu- mentem powinno by -b, a jeli RPM powinien zajrze wewntrz skompresowanego pliku tar w poszukiwaniu speca, to powinna by uyta opcja -t. Po pierwszym argumencie, drugi (O) okrela etapy budwania i pakietowania, ktre naley wykona. Moe to by jedno z: -bp Wykonuje etap "%prep" z pliku spec. Normalnie wymaga to rozpakowania rde i zaczenia wszelkich at. -bl Dokonaj sprawdzenia listy. Sekcja "%files" pliku spec jest makro rozwijana i dokonywane s sprawdzenia, by upewni si e kady plik istnieje. -bc Wykonaj etap "%build" z pliku spec (po dokonaniu etapu prep). Oglnie angauje to ekwiwalenta "make". -bi Wykonaj etap "%install" z pliku spec (po dokonaniu etapw prep i build). Oglnie angauje to ekwiwalenta "make install". -bb Buduj pakiet binarny (po dokonaniu etapw prep, build i install). -bs Buduj pakiet rdowy (po dokonaniu etapw prep, build i install). -ba Buduj pakiety binarny i rdowy (po dokonaniu etapw prep, build i install). Mog by te uyte nastpujce opcje: --short-circuit Przejd wprost do podanego etapu (np. pomi wszystkie etapy prowadzce do podanego). Prawidowe tylko z -bc i -bi. --timecheck Ustaw wiek "sprawdzeniaczasu" (0 wycza). Warto ta moe by te skonfigurowana przez definiowanie makra "_timecheck". Warto ta wyraa w sekundach maksymalny wiek pakowanego pliku. Dla plikw starszych drukowane bd ostrzeenia. --clean Usu drzewo budowania po stworzeniu pakietw. --rmsource Usu rda i plik spec po budowaniu (moe by te uywane samodzielnie, np. "rpm --rmsource foo.spec"). --test Nie wykonuj adnych etapw budowania. Przydatne do testowania plikw spec. --sign Osad w pakiecie sygnatur PGP. Sygnatura ta moe by uywana do weryfikowania integralnoci i pochodzenia pakietu. Zobacz sekcj o SYGNATURACH PGP. --buildroot <dir> Podczas budowania pakieu przeci tag BuildRoot na katalog <dir>. --target <platforma> Podczas budowania pakietu zinterpretuj <platform> jako arch-vendor-os i ustaw odpowiednio makra _tar- get, _target_arch oraz _target_os. --buildarch <arch> Podczas budowania pakietu, ustaw architektur na <arch>. Opcja ta jest przedawniona przez --target z RPM 3.0. --buildos <os> Podczas budowania pakietu, ustaw architektur na <os>. Opcja ta jest przedawniona przez --target z RPM 3.0. OPCJE PRZEBUDOWANIA I REKOMPILACJI Istniej dwa inne sposoby na wywoanie budowania w rpm: rpm --recompile <plik_rdowy_pakietu>+ rpm --rebuild <plik_rdowy_pakietu>+ Po takim wywoaniu, rpm instaluje nazwany pakiet rdowy oraz dokonuje prep, kompilacji i instalacji. Dodatkowo, --rebuild buduje nowy pakiet binarny. Po tym jak budowanie jest zakoczone, katalog budowania jest usuwany (jak w --clean), a potem rda i plik spec dla pakietu s usuwane. PODPISYWANIE ISTNIEJCEGO RPM rpm --resign <binarny_plik_pakietu>+ Opcja ta generuje i wstawia nowe sygnatury do wymienionych pakietw. Wszelkie istniejce sygnatury s usuwane. rpm --addsign <binarny_plik_pakietu>+ Opcja ta generuje i dopisuje nowe sygnatury dla wymienionych pakietw. SYGNATURY PGP Aby uywa waciwoci sygnatur, RPM musi by skonfigurowany aby mg uruchamia PGP. Musi by w stanie znale pk kluczy pub- licznych, w ktrym znajduj si klucze publiczne RPM. Domyl- nie, RPM uywa do ich znalezienia domylnych wartoci PGP (honorujc PGPPATH). Jeli twoje klucze nie s zlokalizowane tam, gdzie PGP ich oczekuje, moesz skonfigurowa makro _pgp_path na ciek pkw kluczy PGP. Jeli chcesz podpisywa pakiety, ktre sam tworzysz, moesz te potrzebowa utworzy swj wasny klucz publiczny i poufny (zobacz podrcznik PGP, pgp(p)) Bdziesz te potrzebowa skon- figurowa makra _signature Typ sygnatury. Obecnie obsugiwany jest tylko pgp. _pgp_name Nazwa "uytkownika", ktrego klucz bdzie uywany do podpisu. Podczas budowania pakietw tzeba wtedy doda w linii komend --sign. Bdziesz zapytany o swoj fraz kodujc, a twj pakiet zostanie zbudowany i podpisany. Na przykad, aby uy PGP do podpisania pakietw jako uytkownik "John Doe <jdoe@foo.com>" z pku kluczy, zlokali- zowanego w /etc/rpm/.pgp, zaczyby %_signature pgp %_pgp_name /etc/rpm/.pgp %_pgp_name John Doe <jdoe@foo.com>" w pliku konfiguracji makr. Do oglnosystemowej konfiguracji uyj /etc/rpm/macros, a dla lokalnej ~/.rpmmacros. OPCJE PRZEBUDOWYWANIA BAZY DANYCH Oglna posta komendy przebudowywania bazy danych rpm to rpm --rebuilddb Aby przebudowa now baz danych, wykonaj: rpm --initdb Jedynymi opcjami dla tych trybw s --dbpath i --root. SHOWRC Uruchamianie rpm --showrc pokazuje wartoci, ktrych RPM bdzie uywa dla wszystkich opcji, ktre mog by ustawione w plikach rpmrc. OPCJE FTP/HTTP RPM zawiera prostych klientw FTP i HTTP, ktre upraszczaj instalowanie i zapytywanie pakietw, ktre s dostpne w sieci. Pliki pakietw mona podawa w url'u w stylu ftp lub http: ftp://<uytkownik>:<haso>@host:<port>/cieka/paki- etu.rpm Jeli cz :haso jest pominita, uytkownik zostanie o nie zapytany (jednokrotnie na par uytkownik/host). Jeli pominito nazw uytkownika i haso, uywany jest anonimowy ftp. We wszystkich przypadkach uywane s pasywne (PASV) transfery ftp. RPM zezwala na uywanie z URL-ami FTP nastpujcych opcji: --ftpproxy <host> Podany host bdzie uywany jako proxy dla wszystkich transferw ftp, co umoliwia uytkownikom ftp przez maszyny cian ognia, ktre uywaj systemw proxy. Opcja ta moe by te podana przez skonfigurowanie makra _ftpproxy. --ftpport <port> Numer portu TCP, ktrego uy do poczenia ftp na serw- erze proxy, zamiast portu domylnego. Opcja ta moe by te podana przez skonfigurowanie makra _ftpport. RPM zezwala na uywanie z URL-ami HTTP nastpujcych opcji: --httpproxy <host> Podany host bdzie uywany jako proxy dla wszystkich transferw http. Opcja ta moe by te podana przez skonfigurowanie makra _httpproxy. --httpport <port> Numer portu TCP, ktrego uy do poczenia http na ser- werze proxy zamiast portu domylnego. Opcja ta moe by te podana przez skonfigurowanie makra _httpport. PLIKI /usr/lib/rpm/rpmrc /etc/rpmrc ~/.rpmrc /var/lib/rpm/packages /var/lib/rpm/pathidx /var/lib/rpm/nameidx /tmp/rpm* ZOBACZ TAKE glint(t), rpm2cpio(o), http://www.rpm.org/ AUTORZY Marc Ewing <marc@redhat.com> Jeff Johnson <jbj@redhat.com> Erik Troan <ewt@redhat.com> Red Hat Software 22 Grudnia 1998 rpm(m)