Wyszukiwanie w witrynie

20 praktycznych przykładów poleceń RPM w systemie Linux


RPM (Red Hat Package Manager) to domyślne narzędzie typu open source i najpopularniejsze narzędzie do zarządzania pakietami dla systemów opartych na Red Hat, takich jak (RHEL , CentOS i Fedora). Narzędzie umożliwia administratorom i użytkownikom systemu instalację, aktualizację, odinstalowanie, zapytanie, weryfikację i zarządzaj pakietami oprogramowania systemowego w systemach operacyjnych Unix/Linux. Plik RPM znany wcześniej jako plik .rpm, który zawiera skompilowane programy i biblioteki wymagane przez pakiety. To narzędzie działa tylko z pakietami zbudowanymi w formacie .rpm.

W tym artykule znajdziesz przydatne przykłady poleceń 20 RPM, które mogą Ci się przydać. Za pomocą tych poleceń obr/min możesz instalować, aktualizować i usuwać pakiety w systemach Linux.

Kilka faktów na temat RPM (menedżera pakietów RedHat)

  1. RPM jest darmowy i udostępniany na licencji GPL (General Public License).
  2. RPM przechowuje informacje o wszystkich zainstalowanych pakietach w bazie danych /var/lib/rpm.
  3. RPM to jedyny sposób na zainstalowanie pakietów w systemach Linux. Jeśli zainstalowałeś pakiety przy użyciu kodu źródłowego, wówczas RPM nie będzie w stanie tego zrobić.
  4. RPM obsługuje pliki .rpm, które zawierają aktualne informacje o pakietach takie jak: co to jest, skąd pochodzi, informacje o zależnościach, informacjach o wersji itp.

Istnieje pięć podstawowych trybów poleceń RPM

  1. Instaluj: służy do instalowania dowolnego pakietu RPM.
  2. Usuń: służy do usuwania, usuwania lub odinstalowywania dowolnego pakietu RPM.
  3. Aktualizacja: służy do aktualizacji istniejącego pakietu RPM.
  4. Weryfikuj: służy do weryfikacji pakietów RPM.
  5. Zapytanie: służy do wysyłania zapytań do dowolnego pakietu RPM.

Gdzie znaleźć pakiety RPM

Poniżej znajduje się lista stron RPM, gdzie możesz znaleźć i pobrać wszystkie pakiety RPM.

  1. http://rpmfind.net
  2. http://www.redhat.com
  3. http://freshrpms.net/
  4. http://rpm.pbone.net/

Przeczytaj także:

  1. 20 przykładów poleceń YUM w systemie Linux
  2. 10 przykładów poleceń Wget w systemie Linux
  3. 30 najbardziej przydatnych poleceń systemu Linux dla administratorów systemu

Pamiętaj, że podczas instalowania pakietów w systemie Linux musisz być użytkownikiem root. Z uprawnieniami roota możesz zarządzać poleceniami RPM z odpowiednimi opcjami.

1. Jak sprawdzić pakiet podpisu RPM

Zawsze sprawdzaj podpis PGP pakietów przed instalacją ich w systemach Linux i upewnij się, że ich integralność i pochodzenie są OK. Użyj poniższego polecenia z opcją –checksig (sprawdź podpis), aby sprawdzić podpis pakietu o nazwie pidgin.

[root@tecmint]# rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm

pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK

2. Jak zainstalować pakiet RPM

Aby zainstalować pakiet oprogramowania RPM, użyj następującego polecenia z opcją -i. Na przykład, aby zainstalować pakiet RPM o nazwie pidgin-2.7.9-5.el6.2.i686.rpm.

[root@tecmint]# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm

Preparing...                ########################################### [100%]
   1:pidgin                 ########################################### [100%]
Polecenie i opcje RPM
  1. -i: instaluje pakiet
  2. -v: szczegółowe dla ładniejszego wyświetlania
  3. -h: wyświetla znaki skrótu podczas rozpakowywania archiwum pakietu.

3. Jak sprawdzić zależności pakietu RPM przed instalacją

Załóżmy, że chcesz sprawdzić zależności przed instalacją lub aktualizacją pakietu. Na przykład użyj poniższego polecenia, aby sprawdzić zależności pakietu BitTorrent-5.2.2-1-Python2.4.noarch.rpm. Wyświetli listę zależności pakietu.

[root@tecmint]# rpm -qpR BitTorrent-5.2.2-1-Python2.4.noarch.rpm

/usr/bin/python2.4
python >= 2.3
python(abi) = 2.4
python-crypto >= 2.0
python-psyco
python-twisted >= 2.0
python-zopeinterface
rpmlib(CompressedFileNames) = 2.6
Polecenie i opcje RPM
  1. -q: zapytanie o pakiet
  2. -p: Lista możliwości udostępnianych przez ten pakiet.
  3. -R: Lista możliwości, od których zależy ten pakiet.

4. Jak zainstalować pakiet RPM bez zależności

Jeśli wiesz, że wszystkie potrzebne pakiety są już zainstalowane, a RPM jest po prostu głupi, możesz zignorować te zależności, używając opcji –nodeps (brak sprawdzania zależności) przed instalacją pakiet.

[root@tecmint]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm

Preparing...                ########################################### [100%]
   1:BitTorrent             ########################################### [100%]

Powyższe polecenie wymusza instalację pakietu RPM, ignorując błędy zależności, ale jeśli brakuje tych plików zależności, program w ogóle nie będzie działał, dopóki ich nie zainstalujesz.

5. Jak sprawdzić zainstalowany pakiet RPM

Użycie opcji -q z nazwą pakietu pokaże, czy pakiet RPM jest zainstalowany, czy nie.

[root@tecmint]# rpm -q BitTorrent

BitTorrent-5.2.2-1.noarch

6. Jak wyświetlić listę wszystkich plików zainstalowanego pakietu RPM

Aby wyświetlić wszystkie pliki zainstalowanych pakietów RPM, użyj komendy -ql (lista zapytań) z komendą RPM.

[root@tecmint]# rpm -ql BitTorrent

/usr/bin/bittorrent
/usr/bin/bittorrent-console
/usr/bin/bittorrent-curses
/usr/bin/bittorrent-tracker
/usr/bin/changetracker-console
/usr/bin/launchmany-console
/usr/bin/launchmany-curses
/usr/bin/maketorrent
/usr/bin/maketorrent-console
/usr/bin/torrentinfo-console

7. Jak wyświetlić listę ostatnio zainstalowanych pakietów RPM

Użyj następującego polecenia RPM z opcją -qa (zapytaj o wszystko), wyświetli listę wszystkich ostatnio zainstalowanych pakietów RPM.

[root@tecmint]# rpm -qa --last

BitTorrent-5.2.2-1.noarch                     Tue 04 Dec 2012 05:14:06 PM BDT
pidgin-2.7.9-5.el6.2.i686                     Tue 04 Dec 2012 05:13:51 PM BDT
cyrus-sasl-devel-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:06 PM BDT
cyrus-sasl-2.1.23-13.el6_3.1.i686             Tue 04 Dec 2012 04:43:05 PM BDT
cyrus-sasl-md5-2.1.23-13.el6_3.1.i686         Tue 04 Dec 2012 04:43:04 PM BDT
cyrus-sasl-plain-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:03 PM BDT

8. Jak wyświetlić listę wszystkich zainstalowanych pakietów RPM

Wpisz następujące polecenie, aby wydrukować wszystkie nazwy zainstalowanych pakietów w systemie Linux.

[root@tecmint]# rpm -qa

initscripts-9.03.31-2.el6.centos.i686
polkit-desktop-policy-0.96-2.el6_0.1.noarch
thunderbird-17.0-1.el6.remi.i686

9. Jak zaktualizować pakiet RPM

Jeśli będziemy chcieli dokonać aktualizacji dowolnego pakietu RPM, zostanie użyta opcja „–U” (upgrade). Jedną z głównych zalet korzystania z tej opcji jest to, że nie tylko zaktualizuje ona najnowszą wersję dowolnego pakietu, ale także zachowa kopię zapasową starszego pakietu, tak aby w przypadku, gdy nowszy zaktualizowany pakiet nie uruchomi poprzednio zainstalowanego pakietu można użyć ponownie.

[root@tecmint]# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm
Preparing...                ########################################### [100%]
   1:nx                     ########################################### [100%]

10. Jak usunąć pakiet RPM

Aby odinstalować pakiet RPM, na przykład używamy nazwy pakietu nx, a nie oryginalnej nazwy pakietu nx-3.5.0-2.el6.centos.i686.rpm . Opcja -e (kasowanie) służy do usuwania pakietu.

[root@tecmint]# rpm -evv nx

11. Jak usunąć pakiet RPM bez zależności

Opcja –nodeps (Nie sprawdzaj zależności) wymusza usunięcie pakietu RPM z systemu. Pamiętaj jednak, że usunięcie określonego pakietu może spowodować uszkodzenie innych działających aplikacji.

[root@tecmint]# rpm -ev --nodeps vsftpd

12. Jak wysłać zapytanie do pliku, który należy do którego pakietu RPM

Załóżmy, że masz listę plików i chcesz dowiedzieć się, który pakiet należy do tych plików. Na przykład poniższe polecenie z opcją -qf (plik zapytania) wyświetli plik /usr/bin/htpasswd, który jest własnością pakietu httpd-tools-2.2.15-15.el6.centos.1.i686.

[root@tecmint]# rpm -qf /usr/bin/htpasswd

httpd-tools-2.2.15-15.el6.centos.1.i686

13. Jak zapytać o informacje o zainstalowanym pakiecie RPM

Załóżmy, że zainstalowałeś pakiet RPM i chcesz poznać informacje o pakiecie. Następująca opcja -qi (informacje o zapytaniu) wyświetli dostępne informacje o zainstalowanym pakiecie.

[root@tecmint]# rpm -qi vsftpd

Name        : vsftpd				   Relocations: (not relocatable)
Version     : 2.2.2				   Vendor: CentOS
Release     : 11.el6				   Build Date: Fri 22 Jun 2012 01:54:24 PM BDT
Install Date: Mon 17 Sep 2012 07:55:28 PM BDT      Build Host: c6b8.bsys.dev.centos.org
Group       : System Environment/Daemons           Source RPM: vsftpd-2.2.2-11.el6.src.rpm
Size        : 351932                               License: GPLv2 with exceptions
Signature   : RSA/SHA1, Mon 25 Jun 2012 04:07:34 AM BDT, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://vsftpd.beasts.org/
Summary     : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.

14. Przed instalacją uzyskaj informacje o pakiecie RPM

Pobrałeś pakiet z Internetu i chcesz poznać informacje o pakiecie przed instalacją. Na przykład poniższa opcja -qip (zapytanie o pakiet informacji) spowoduje wydrukowanie informacji o pakiecie sqlbuddy.

[root@tecmint]# rpm -qip sqlbuddy-1.3.3-1.noarch.rpm

Name        : sqlbuddy                     Relocations: (not relocatable)
Version     : 1.3.3                        Vendor: (none)
Release     : 1                            Build Date: Wed 02 Nov 2011 11:01:21 PM BDT
Install Date: (not installed)              Build Host: rpm.bar.baz
Group       : Applications/Internet        Source RPM: sqlbuddy-1.3.3-1.src.rpm
Size        : 1155804                      License: MIT
Signature   : (none)
Packager    : Erik M Jacobs
URL         : http://www.sqlbuddy.com/
Summary     : SQL Buddy â Web based MySQL administration
Description :
SQLBuddy is a PHP script that allows for web-based MySQL administration.

15. Jak sprawdzić dokumentację zainstalowanego pakietu RPM

Aby uzyskać listę dostępnej dokumentacji zainstalowanego pakietu, użyj następującego polecenia z opcją -qdf (plik dokumentu zapytania), aby wyświetlić strony podręcznika związane z pakietem vmstat.

[root@tecmint]# rpm -qdf /usr/bin/vmstat

/usr/share/doc/procps-3.2.8/BUGS
/usr/share/doc/procps-3.2.8/COPYING
/usr/share/doc/procps-3.2.8/COPYING.LIB
/usr/share/doc/procps-3.2.8/FAQ
/usr/share/doc/procps-3.2.8/NEWS
/usr/share/doc/procps-3.2.8/TODO

16. Jak zweryfikować pakiet RPM

Weryfikacja pakietu porównuje informacje o zainstalowanych plikach pakietu z bazą danych RPM. -Vp (weryfikuj pakiet) służy do weryfikacji pakietu.

[root@tecmint downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm

S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf

17. Jak zweryfikować wszystkie pakiety RPM

Wpisz następujące polecenie, aby sprawdzić wszystkie zainstalowane pakiety RPM.

[root@tecmint]# rpm -Va

S.5....T.  c /etc/rc.d/rc.local
.......T.  c /etc/dnsmasq.conf
.......T.    /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf
S.5....T.  c /etc/yum.conf
S.5....T.  c /etc/yum.repos.d/epel.repo

18. Jak zaimportować klucz RPM GPG

Aby zweryfikować pakiety RHEL/CentOS/Fedora, musisz zaimportować klucz GPG. Aby to zrobić, wykonaj następujące polecenie. Zaimportuje klucz GPGCentOS 6.

[root@tecmint]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

19. Jak wyświetlić listę wszystkich zaimportowanych kluczy GPG RPM

Aby wydrukować wszystkie zaimportowane klucze GPG w swoim systemie, użyj następującego polecenia.

[root@tecmint]# rpm -qa gpg-pubkey*

gpg-pubkey-0608b895-4bd22942
gpg-pubkey-7fac5991-4615767f
gpg-pubkey-0f2672c8-4cd950ee
gpg-pubkey-c105b9de-4e0fd3a3
gpg-pubkey-00f97f56-467e318a
gpg-pubkey-6b8d79e6-3f49313d
gpg-pubkey-849c449f-4cb9df30

20. Jak odbudować uszkodzoną bazę danych RPM

Czasami baza danych RPM ulega uszkodzeniu i zatrzymuje całą funkcjonalność RPM i innych aplikacji w systemie. Zatem w tym momencie musimy odbudować bazę danych RPM i przywrócić ją za pomocą następującego polecenia.

[root@tecmint]# cd /var/lib
[root@tecmint]# rm __db*
[root@tecmint]# rpm --rebuilddb
[root@tecmint]# rpmdb_verify Packages