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)
- RPM je besplatan i objavljen pod GPL (Opća javna licenca).
- RPM čuva informacije o svim instaliranim paketima u bazi podataka /var/lib/rpm.
- 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.
- 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
- Instaliraj : Koristi se za instaliranje bilo kojeg RPM paketa.
- Ukloni : Koristi se za brisanje, uklanjanje ili deinstaliranje bilo kojeg RPM paketa.
- Nadogradnja : Koristi se za ažuriranje postojećeg RPM paketa.
- Provjeri : Koristi se za provjeru RPM paketa.
- 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.
- http://rpmfind.net
- http://www.redhat.com
- http://freshrpms.net/
- http://rpm.pbone.net/
Pročitajte također :
- 20 primjera YUM komandi u Linuxu
- 10 primjera naredbi Wget u Linuxu
- 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
- -i : instalirajte paket
- -v : opširno za ljepši prikaz
- -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
- -q : Postavite upit za paket
- -p : Navedite mogućnosti koje ovaj paket pruža.
- -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