20 praktičnih primjera RPM naredbi u Linuxu


RPM (Red Hat Package Manager) je zadani open source i najpopularniji uslužni program za upravljanje paketima za Red Hat sisteme kao što je (RHEL , CentOS i Fedora). Alat omogućava administratorima sistema i korisnicima da instaliraju, ažuriraju, deinstaliraju, pitaju, potvrde i upravljajte sistemskim softverskim paketima u Unix/Linux operativnim sistemima. RPM ranije poznat kao .rpm datoteka, koja uključuje kompajlirane softverske programe i biblioteke potrebne paketima. Ovaj uslužni program radi samo sa paketima koji su napravljeni u formatu .rpm.

Ovaj članak pruža neke korisne primjere naredbi od 20 RPM koje bi vam mogle biti od pomoći. Uz pomoć ove rpm komande možete upravljati instaliranjem, ažuriranjem, uklanjanjem paketa u vašim Linux sistemima.

Neke činjenice o RPM-u (RedHat Package Manager)

  1. RPM je besplatan i objavljen pod GPL (Opća javna licenca).
  2. RPM čuva informacije o svim instaliranim paketima u bazi podataka /var/lib/rpm.
  3. RPM je jedini način za instaliranje paketa pod Linux sistemima, ako ste instalirali pakete koristeći izvorni kod, onda rpm neće njime upravljati.
  4. RPM se bavi .rpm datotekama, koje sadrže stvarne informacije o paketima kao što su: šta je, odakle dolazi, informacije o ovisnostima, informacije o verziji itd.

Postoji pet osnovnih načina za RPM komandu

  1. Instaliraj : Koristi se za instaliranje bilo kojeg RPM paketa.
  2. Ukloni : Koristi se za brisanje, uklanjanje ili deinstaliranje bilo kojeg RPM paketa.
  3. Nadogradnja : Koristi se za ažuriranje postojećeg RPM paketa.
  4. Provjeri : Koristi se za provjeru RPM paketa.
  5. Upit : Koristi se za upite bilo kojeg RPM paketa.

Gdje pronaći RPM pakete

Ispod je lista rpm stranica, gdje možete pronaći i preuzeti sve RPM pakete.

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

Pročitajte također :

  1. 20 primjera YUM komandi u Linuxu
  2. 10 primjera naredbi Wget u Linuxu
  3. 30 najkorisnijih Linux naredbi za sistemske administratore

Imajte na umu da morate biti root korisnik kada instalirate pakete u Linux, sa root privilegijama možete upravljati rpm komandama sa njihovim odgovarajućim opcijama.

1. Kako provjeriti RPM potpisni paket

Uvijek provjerite PGP potpis paketa prije nego što ih instalirate na svoje Linux sisteme i provjerite jesu li njegov integritet i porijeklo OK. Koristite sljedeću naredbu sa –checksig (provjeri potpis) opcijom da provjerite potpis paketa koji se zove 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. Kako instalirati RPM paket

Za instaliranje rpm softverskog paketa koristite sljedeću naredbu sa opcijom -i. Na primjer, da instalirate rpm paket pod nazivom 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%]
RPM komanda i opcije
  1. -i : instalirajte paket
  2. -v : opširno za ljepši prikaz
  3. -h: ispisati hash oznake dok se arhiva paketa raspakuje.

3. Kako provjeriti zavisnosti RPM paketa prije instaliranja

Recimo da biste željeli obaviti provjeru ovisnosti prije instaliranja ili nadogradnje paketa. Na primjer, koristite sljedeću naredbu da provjerite zavisnosti paketa BitTorrent-5.2.2-1-Python2.4.noarch.rpm. Prikazaće listu zavisnosti paketa.

[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
RPM komanda i opcije
  1. -q : Postavite upit za paket
  2. -p : Navedite mogućnosti koje ovaj paket pruža.
  3. -R: Navedite mogućnosti od kojih zavisi ovaj paket..

4. Kako instalirati RPM paket bez zavisnosti

Ako znate da su svi potrebni paketi već instalirani i da je RPM samo glup, možete zanemariti te ovisnosti korištenjem opcije –nodeps (bez provjere ovisnosti) prije instaliranja paket.

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

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

Gornja naredba prisilno instalira rpm paket zanemarujući greške ovisnosti, ali ako te datoteke ovisnosti nedostaju, program uopće neće raditi dok ih ne instalirate.

5. Kako provjeriti instalirani RPM paket

Korištenje opcije -q sa imenom paketa, pokazat će da li je rpm instaliran ili ne.

[root@tecmint]# rpm -q BitTorrent

BitTorrent-5.2.2-1.noarch

6. Kako ispisati sve datoteke instaliranog RPM paketa

Da vidite sve datoteke instaliranih rpm paketa, koristite -ql (listu upita) sa komandom 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. Kako navesti nedavno instalirane RPM pakete

Upotrijebite sljedeću rpm komandu sa -qa (upitaj sve) opcijom, izlistaće sve nedavno instalirane rpm pakete.

[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. Kako navesti sve instalirane RPM pakete

Unesite sljedeću naredbu da ispišete sva imena instaliranih paketa na vašem Linux sistemu.

[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. Kako nadograditi RPM paket

Ako želimo nadograditi bilo koji RPM paket, koristit će se opcija “–U” (nadogradnja). Jedna od glavnih prednosti korištenja ove opcije je da ne samo da će nadograditi najnoviju verziju bilo kojeg paketa, već će također održavati sigurnosnu kopiju starijeg paketa, tako da u slučaju da noviji nadograđeni paket ne pokrene prethodno instalirani paket može se ponovo koristiti.

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

10. Kako ukloniti RPM paket

Za deinstaliranje RPM paketa, na primjer koristimo naziv paketa nx, a ne originalni naziv paketa nx-3.5.0-2.el6.centos.i686.rpm >. Opcija -e (brisanje) se koristi za uklanjanje paketa.

[root@tecmint]# rpm -evv nx

11. Kako ukloniti RPM paket bez ovisnosti

Opcija –nodeps (Ne provjeravajte zavisnosti) nasilno uklanja rpm paket iz sistema. Ali imajte na umu da uklanjanje određenog paketa može pokvariti druge radne aplikacije.

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

12. Kako postaviti upit za datoteku koja pripada kojem RPM paketu

Recimo, imate listu fajlova i želite da saznate koji paket pripada tim fajlovima. Na primjer, sljedeća komanda sa -qf (datoteka upita) će vam pokazati datoteku /usr/bin/htpasswd u vlasništvu paketa 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. Kako tražiti informacije o instaliranom RPM paketu

Recimo da ste instalirali rpm paket i želite znati informacije o paketu. Sljedeća opcija -qi (informacije o upitu) će ispisati dostupne informacije o instaliranom paketu.

[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. Dobijte informacije o RPM paketu prije instaliranja

Preuzeli ste paket sa interneta i želite da saznate informacije o paketu pre instaliranja. Na primjer, sljedeća opcija -qip (upit info paketa) će ispisati informacije o paketu 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. Kako tražiti dokumentaciju instaliranog RPM paketa

Da biste dobili listu dostupne dokumentacije instaliranog paketa, koristite sljedeću naredbu sa opcijom -qdf (upit za datoteku dokumenta) će prikazati stranice priručnika koje se odnose na vmstat paket.

[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. Kako provjeriti RPM paket

Provjera paketa upoređuje informacije o instaliranim datotekama paketa sa rpm bazom podataka. -Vp (provjera paketa) se koristi za provjeru paketa.

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

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

17. Kako provjeriti sve RPM pakete

Unesite sljedeću naredbu da provjerite sve instalirane rpm pakete.

[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. Kako uvesti RPM GPG ključ

Da potvrdite RHEL/CentOS/Fedora pakete, morate uvesti GPG ključ. Da biste to učinili, izvršite sljedeću naredbu. Uvest će CentOS 6 GPG ključ.

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

19. Kako navesti sve uvezene RPM GPG ključeve

Da odštampate sve uvezene GPG ključeve u vašem sistemu, koristite sljedeću naredbu.

[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. Kako obnoviti oštećenu RPM bazu podataka

Ponekad se rpm baza podataka ošteti i zaustavi svu funkcionalnost rpm-a i drugih aplikacija na sistemu. Dakle, u tom trenutku moramo ponovo izgraditi rpm bazu podataka i vratiti je uz pomoć sljedeće naredbe.

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