Po zapoznaniu się ze sposobami wyboru listy pakietów we wpisie Zadawanie zapytań w aplikacji rpm: wybór pakietów czas na poznanie sposobów wyświetlenia informacji o nich.
Wybór informacji do wyświetlenie
- brak kryteriów
Jeżeli zostanie pominięty ten parametr, to po prosty polecenierpm
wyświetli nazwę i wersję pakietu:# rpm -q bash
bash-3.2-24.el5 -i
– wyświetlenie informacji o pakieciePolecenie to pozwala na wyświetlenie szczegółowych informacji o wybranym pakiecie:
# rpm -q -i bash
Name : bash Relocations: (not relocatable)
Version : 3.2 Vendor: Red Hat, Inc.
Release : 24.el5 Build Date: Tue 21 Oct 2008 02:15:55 PM CEST
Install Date: Tue 23 Feb 2010 08:06:34 PM CET Build Host: hs20-bc1-7.build.redhat.com
Group : System Environment/Shells Source RPM: bash-3.2-24.el5.src.rpm
Size : 5349546 License: GPLv2+
Signature : DSA/SHA1, Mon 08 Dec 2008 01:25:44 PM CET, Key ID 5326810137017186
Packager : Red Hat, Inc. <http: //bugzilla.redhat.com/bugzilla>
URL : http://www.gnu.org/software/bash
Summary : The GNU Bourne Again shell (bash) version 3.1.
Description :
The GNU Bourne Again shell (Bash) is a shell or command language
interpreter that is compatible with the Bourne shell (sh). Bash
incorporates useful features from the Korn shell (ksh) and the C shell
(csh). Most sh scripts can be run by bash without modification. This
package (bash) contains bash version 3.1, which improves POSIX
compliance over previous versions.Znaczenie powyższych pól jest następujące:
Name
– nazwa pakietu, którego dotyczyło pytane. Najczęściej jest powiązane z nazwą aplikacji jaka jest instalowana przez podany pakiet, ale nie zawsze (np. pakietyhttpd
,coreutils
).Version
– główna wersja aplikacji, taka na podstawie której został stworzony pakiet instalacyjny.Release
– wersja wydania danego pakietu. Jeżeli zmienia się poleVersion
to powinna mieć wartość1
. Jest zwiększana zawsze w momencie wprowadzenia zmian w stosunku do podstawowej wersji aplikacji.Install date
– data instalacji pakietu w systemie.Group
– grupa, do której należy pakiet.Size
– łączony rozmiar wszystkich plików jakie znajdują się w danym pakiecie.Summary
– krótki opis pakietu.Description
– dłuższy, dokładniejszy opis pakietu.Packager
– kto jest odpowiedzialny za stworzenie pakietu (pakietu, nie samej aplikacji).Build Date
– data utworzenia pakietu.Build Host
– nazwa komputera, na którym nastąpiło utworzenie pakietu.Source RPM
– nazwa źródłowego pliku RPM, na podstawie którego utworzono pakiet.License
– licencja na podstawie której jest rozprowadzana dana aplikacji.URL
– adres do strony danej aplikacji.
-l
– lista plików
Parametr ten powoduje wyświetlenie listy plików, jakie znajdują się w danym pakiecie:# rpm -ql bash
/bin/bash
/bin/sh
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc
/usr/bin/bashbug-32
/usr/share/doc/bash-3.2
/usr/share/doc/bash-3.2/CHANGES
/usr/share/doc/bash-3.2/COMPAT
....Można także dodatkowo dodać przełącznik
-v
, który spowoduje wyświetleni dodatkowych informacji o poszczególnych plikach:# rpm -qvl bash
-rwxr-xr-x 1 root root 729292 Oct 21 2008 /bin/bash
lrwxrwxrwx 1 root root 4 Oct 21 2008 /bin/sh -> bash
-rw-r--r-- 1 root root 33 Oct 21 2008 /etc/skel/.bash_logout
-rw-r--r-- 1 root root 176 Oct 21 2008 /etc/skel/.bash_profile
-rw-r--r-- 1 root root 124 Oct 21 2008 /etc/skel/.bashrc
-rwxr-xr-x 1 root root 7044 Oct 21 2008 /usr/bin/bashbug-32
drwxr-xr-x 2 root root 0 Oct 21 2008 /usr/share/doc/bash-3.2
-rw-r--r-- 1 root root 221125 Sep 26 2006 /usr/share/doc/bash-3.2/CHANGES
-rw-r--r-- 1 root root 11659 Aug 29 2006 /usr/share/doc/bash-3.2/COMPAT
-rw-r--r-- 1 root root 73644 Oct 10 2006 /usr/share/doc/bash-3.2/FAQ
....-c
– wyświetlenie plików konfiguracyjnych
W pliku RPM pliki z konfiguracją aplikacji są traktowane w specyficzny sposób, w związku z czym muszą być odpowiednio oznaczone. Z tego też powodu możemy w łatwy sposób sprawdzić, jakie pliki konfiguracyjne zwiera dany pakiet:# rpm -qc bash
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc-d
– wyświetlenie plików z dokumentacją
Przełącznik ten pozwala na wyświetlenie wszystkich plików z dokumentacją, jakie znajdują się w danym pakiecie:# rpm -qd bash | head
/usr/share/doc/bash-3.2/CHANGES
/usr/share/doc/bash-3.2/COMPAT
/usr/share/doc/bash-3.2/FAQ
/usr/share/doc/bash-3.2/INTRO
/usr/share/doc/bash-3.2/NEWS
/usr/share/doc/bash-3.2/NOTES
/usr/share/doc/bash-3.2/POSIX
/usr/share/doc/bash-3.2/article.ms
/usr/share/doc/bash-3.2/article.ps
/usr/share/doc/bash-3.2/article.txt
....--provides
– zależności dostarczane przez pakietMożna wyświetlić informacje, jakie dodatkowe zależności, możliwości udostępnia wybrany pakiet (są one potem używane przez inne pakiety do określenia co jest wymagane do instalacji danego pakietu):
# rpm -q --provides -p libicu-3.6-5.11.4.i386.rpm
libicudata.so.36
libicui18n.so.36
libicuio.so.36
libicule.so.36
libiculx.so.36
libicutu.so.36
libicuuc.so.36
libicu = 3.6-5.11.4--requires
– czego wymaga dany pakiet do instalacjiW każdym pakiecie może znajdować się informacja o zależnościach, które muszą zostać spełnione zanim zostanie on zainstalowany:
# rpm -q --requires -p x3270-3.3.4p7-3.el5.4.i386.rpm
config(x3270) = 3.3.4p7-3.el5.4
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libcrypto.so.6
libicui18n.so.36
libicuuc.so.36
libnsl.so.1
libssl.so.6
libutil.so.1
rpmlib(CompressedFileNames) < = 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
xorg-x11-font-utilsJak widać, pakiet
x3270-3.3.4p7-3.el5.4.i386.rpm
wymaga spełnienia szeregu różnych zależności w celu jego instalacji. Można zauważyć, że na liście są wymieniane bibliotekiibicui18n.so.36
orazlibicuuc.so.36
, które są udostępniane przez pakietlibicu-3.6-5.11.4.i386.rpm
.--scripts
– wyświetlenie skryptów instalacyjnychPolecenie to spowoduje wyświetlenie skryptów wykonywanych zarówno przed/po instalacji/odinstalowaniu aplikacji.
# rpm -q --scripts initscripts
preinstall scriptlet (using /bin/sh):
/usr/sbin/groupadd -g 22 -r -f utmp
postinstall scriptlet (using /bin/sh):
touch /var/log/wtmp /var/run/utmp /var/log/btmp
chown root:utmp /var/log/wtmp /var/run/utmp /var/log/btmp
chmod 664 /var/log/wtmp /var/run/utmp
chmod 600 /var/log/btmp
/sbin/chkconfig --add netfs
/sbin/chkconfig --add network
/sbin/chkconfig --add netconsole
/sbin/chkconfig --add rawdevices
preuninstall scriptlet (using /bin/sh):
if [ $1 = 0 ]; then
/sbin/chkconfig --del netfs
/sbin/chkconfig --del network
/sbin/chkconfig --del netconsole
/sbin/chkconfig --del rawdevices
fiqueryformat
– samodzielne utworzenie informacji o pakieciePolecenie to pozwala na samodzielne zdefiniowanie listy informacji, jakie zostaną wyświetlone o danym pakiecie. Pełny opis polecenie znajduje się w dokumentacji oraz na stronach podanych na końcu wpisu.
Wyświetlenie nazwy oraz wersji pakietu:
# rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' bash
bash-3.2-24.el5Wyświetlenie daty instalacji pakietu:
# rpm -q --queryformat '%{NAME} was installed on %{INSTALLTIME:date}\n' bash
bash was installed on Tue 23 Feb 2010 08:06:34 PM CETWyświetlenie listy plików, które znajdują się w pakiecie łącznie z ich rozmiarami:
# rpm -q --queryformat '%{NAME}: [%{FILENAMES} (%{FILESIZES} bytes)\n]' bash
bash: /bin/bash (729292 bytes)
/bin/sh (4 bytes)
/etc/skel/.bash_logout (33 bytes)
/etc/skel/.bash_profile (176 bytes)
/etc/skel/.bashrc (124 bytes)
/usr/bin/bashbug-32 (7044 bytes)
/usr/share/doc/bash-3.2 (4096 bytes)
/usr/share/doc/bash-3.2/CHANGES (221125 bytes)
/usr/share/doc/bash-3.2/COMPAT (11659 bytes)
/usr/share/doc/bash-3.2/FAQ (73644 bytes)
....Można także wyświetlić lisŧę wszystkich tagów, jakie mogą zostać użyte w opcji
queryformat
:# rpm --querytags
HEADERIMAGE
HEADERSIGNATURES
HEADERIMMUTABLE
HEADERREGIONS
HEADERI18NTABLE
SIGSIZE
SIGPGP
SIGMD5
PKGID
SIGGPGOpis częsci z poszczególnych tagów można znaleźć w artykule Available Tags For –queryformat
Źródła
- Strona MAN: rpm(8)
- The Parts of an RPM Query
- Available Tags For –queryformat
- A Few Handy Queries