RPM (Redhat Package Manager) je nástroj pro správu balíčků z příkazového řádku používaný k instalaci, odinstalaci, aktualizaci, dotazování a ověřování softwarových balíčků.
V tomto tutoriálu vysvětlím některé z nejběžnějších příkazů rpm Linuxu pro správce systému. Některé z linuxových distribucí založených na RPM jsou Redhat, Centos, Fedora a OpenSuse. Yum a DNF jsou frontendy pro RPM Management, které mají více funkcí a mohou překonat omezení, která má.
Jak získat balíčky RPM
Existuje několik způsobů, jak získat balíčky RPM, jak je uvedeno níže.
- CD/DVD se softwarem
- CentOS Mirror
- RedHat (potřebujete účet)
- Jakékoli otevřené webové stránky úložiště
Základní režimy příkazu RPM
- Instalovat:Používá se k instalaci libovolného balíčku RPM.
- Odstranit:Používá se k vymazání, odstranění nebo odinstalování jakéhokoli balíčku RPM.
- Upgrade:Používá se k aktualizaci stávajícího balíčku RPM.
- Dotaz:Používá se k dotazování na jakýkoli balíček RPM.
- Ověřit:Používá se k ověření RPM balíčků.
Příklady balíčku RPM
Aplikace GeoIP GeoIP-1.5.0-11.el7.x86_64.rpm
je knihovna balíčků RPM pro mapování země/města/organizace na IP adresu nebo název hostitele. GeoIP
je název balíčku, verze je 1.5.0-11.el7
, vydání je 7
a architektura .x86_64
.
Instalovat
1. Jak zjistit informace o balíčku RPM bez instalace
Poté, co jsme si stáhli balíček a před instalací chceme znát informace o balíčku. Můžeme použít -qip
volba (dotaz info balíčku) pro výpis informací o balíčku.
$ sudo rpm -qip GeoIP-1.5.0-11.el7.x86_64.rpm
output
Name : GeoIP
Version : 1.5.0
Release : 11.el7
Architecture: x86_64
Install Date: (not installed)
Group : Development/Libraries
Size : 2905020
License : LGPLv2+ and GPLv2+ and CC-BY-SA
Signature : RSA/SHA256, Sun 20 Nov 2016 05:49:19 PM UTC, Key ID 24c6a8a7f4a80eb5
Source RPM : GeoIP-1.5.0-11.el7.src.rpm
Build Date : Sat 05 Nov 2016 08:29:17 PM UTC
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem
Vendor : CentOS
URL : http://www.maxmind.com/app/c
Summary : Library for country/city/organization to IP address or hostname mapping
Description :
GeoIP is a C library that enables the user to find the country that any IP
address or hostname originates from. It uses a file based database that is
accurate as of June 2007 and can optionally be updated on a weekly
basis by installing the GeoIP-update package. This database simply contains IP
blocks as keys, and countries as values. This database should be more complete
and accurate than using reverse DNS lookups.
This package includes GeoLite data created by MaxMind, available from
http://www.maxmind.com/
2. Jak nainstalovat balíček RPM
Můžeme použít -ivh
parametry pro instalaci konkrétního balíčku, jak je uvedeno níže.
$ sudo rpm -ivh GeoIP-1.5.0-11.el7.x86_64.rpm
Output
Preparing... ################################# [100%]
package GeoIP-1.5.0-11.el7.x86_64 is already installed
3. Jak zkontrolovat nainstalovaný RPM balíček
Můžeme použít -q
volba s názvem balíčku, zobrazí se, zda je balíček rpm nainstalován nebo ne.
$ sudo rpm -q GeoIP
output
GeoIP-1.5.0-11.el7.x86_64
4. Jak zobrazit seznam všech souborů pro konkrétní nainstalovaný balíček RPM
Můžeme vypsat všechny soubory nainstalovaných rpm balíčků pomocí -ql
možnost pomocí příkazu rpm.
$ sudo rpm -ql GeoIP
output
/etc/GeoIP.conf
/etc/GeoIP.conf.default
/usr/bin/geoiplookup
/usr/bin/geoiplookup6
/usr/bin/geoipupdate
/usr/lib64/libGeoIP.so.1
/usr/lib64/libGeoIP.so.1.5.0
/usr/lib64/libGeoIPUpdate.so.0
/usr/lib64/libGeoIPUpdate.so.0.0.0
/usr/share/GeoIP
/usr/share/GeoIP/GeoIP-initial.dat
/usr/share/GeoIP/GeoIP.dat
/usr/share/GeoIP/GeoIPASNum.dat
/usr/share/GeoIP/GeoIPASNumv6.dat
/usr/share/GeoIP/GeoIPCity.dat
/usr/share/GeoIP/GeoIPCityv6.dat
/usr/share/GeoIP/GeoIPCountry.dat
/usr/share/GeoIP/GeoIPCountryv6.dat
/usr/share/GeoIP/GeoIPv6-initial.dat
...
5. Jak zobrazit seznam nedávno nainstalovaných balíčků RPM
Můžeme použít -qa
možnost s --last
, Zobrazí seznam všech nedávno nainstalovaných balíčků rpm.
$ sudo rpm -qa --last
output
GeoIP-1.5.0-11.el7.x86_64 Sat 01 Sep 2018 11:34:09 AM UTC
wget-1.14-15.el7_4.1.x86_64 Sun 26 Aug 2018 03:21:02 PM UTC
iwl7265-firmware-22.0.7.0-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:18 PM UTC
libgomp-4.8.5-28.el7_5.1.x86_64 Thu 16 Aug 2018 02:10:15 PM UTC
iwl2030-firmware-18.168.6.1-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:15 PM UTC
iptables-1.4.21-24.1.el7_5.x86_64 Thu 16 Aug 2018 02:10:15 PM UTC
yum-plugin-fastestmirror-1.1.31-46.el7_5.noarch Thu 16 Aug 2018 02:10:14 PM UTC
iwl6000-firmware-9.221.4.1-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:14 PM UTC
iwl4965-firmware-228.61.2.24-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:14 PM UTC
iwl105-firmware-18.168.6.1-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:14 PM UTC
iwl100-firmware-39.31.5.1-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:13 PM UTC
iwl1000-firmware-39.31.5.1-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:13 PM UTC
ca-certificates-2018.2.22-70.0.el7_5.noarch Thu 16 Aug 2018 02:10:13 PM UTC
iwl6000g2b-firmware-17.168.5.2-62.2.el7_5.noarch Thu 16 Aug 2018 02:10:12 PM UTC
...
6. Jak nainstalovat balíček RPM bez závislostí
Můžeme použít -ivh
parametry pomocí --nodeps
znamená kontrolu bez závislostí, Chcete-li nainstalovat konkrétní balíček bez závislostí, Jak je uvedeno níže.
$ sudo rpm -ivh --nodeps GeoIP-1.5.0-11.el7.x86_64.rpm
Output
Preparing... ################################# [100%]
package GeoIP-1.5.0-11.el7.x86_64 is already installed
7. Jak nahradit nainstalovaný balíček RPM
Můžeme použít -ivh --replacepkgs
parametry k nahrazení konkrétního nainstalovaného balíčku, jak je uvedeno níže.
$ sudo rpm -ivh --replacepkgs GeoIP-1.5.0-11.el7.x86_64.rpm
Output
Preparing... ################################# [100%]
Updating / installing...
1:GeoIP-1.5.0-11.el7 ################################# [100%]
Odstranit
8. Jak odinstalovat balíček RPM
Můžeme použít -e
parametry pro odinstalaci konkrétního balíčku nainstalovaného bez závislostí (nekontrolujte závislosti), jak je uvedeno níže.
$ sudo rpm -e --nodeps GeoIP
Nyní zadejte příkaz níže, abyste zajistili, že GeoIP není nainstalována.
$ sudo rpm -q GeoIP
Output
package GeoIP is not installed
Upgrade
9. Jak upgradovat nainstalovaný balíček RPM
Můžeme použít -Uvh
parametry pro upgrade konkrétního nainstalovaného balíčku, jak je uvedeno níže.
$ sudo rpm -Uvh GeoIP-1.5.0-11.el7.x86_64.rpm
Output
Preparing... ################################# [100%]
package GeoIP-1.5.0-11.el7.x86_64 is already installed
Dotaz
10. Jak se dotazovat na všechny nainstalované balíčky
Můžeme použít -a
parametry spolu s q
pro dotaz na všechny nainstalované balíčky na serveru, jak je uvedeno níže.
$ sudo rpm -qa
Output
python-firewall-0.4.4.4-14.el7.noarch
ncurses-base-5.9-14.20130511.el7_4.noarch
plymouth-0.8.9-0.31.20140113.el7.centos.x86_64
kbd-misc-1.15.5-13.el7.noarch
vim-common-7.4.160-4.el7.x86_64
bash-4.2.46-30.el7.x86_64
dmidecode-3.0-5.el7.x86_64
filesystem-3.2-25.el7.x86_64
kbd-1.15.5-13.el7.x86_64
vim-enhanced-7.4.160-4.el7.x86_64
firewalld-0.4.4.4-14.el7.noarch
....
11. Jak se dotazovat na konkrétní balíček
Můžeme použít grep
příkaz k vyhledání konkrétního balíčku je nebo není nainstalován, jak je uvedeno níže.
$ sudo rpm -qa | grep GeoIP
Output
GeoIP-1.5.0-11.el7.x86_64
12. Jak se dotazovat na soubor, který patří ke kterému RPM balíčku
V příkladu číslo 9 zadáme příkaz pro výpis všech souborů nainstalovaného RPM balíčku, Nyní chceme vědět /usr/lib64/libGeoIP.so.1.5.0
který RPM balíček patří.
$ sudo rpm -qf /usr/lib64/libGeoIP.so.1.5.0
output
GeoIP-1.5.0-11.el7.x86_64
Ověřit
13. Jak získat informace o konkrétním balíčku
Můžeme použít -i
parametry spolu s q
k získání informací o konkrétním balíčku, jak je uvedeno níže.
$ sudo rpm -qi GeoIP
Output
Name : GeoIP
Version : 1.5.0
Release : 11.el7
Architecture: x86_64
Install Date: Thu 16 Aug 2018 02:04:09 PM UTC
Group : Development/Libraries
Size : 2905020
License : LGPLv2+ and GPLv2+ and CC-BY-SA
Signature : RSA/SHA256, Sun 20 Nov 2016 05:49:19 PM UTC, Key ID 24c6a8a7f4a80eb5
Source RPM : GeoIP-1.5.0-11.el7.src.rpm
Build Date : Sat 05 Nov 2016 08:29:17 PM UTC
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem
Vendor : CentOS
URL : http://www.maxmind.com/app/c
Summary : Library for country/city/organization to IP address or hostname mapping
Description :
GeoIP is a C library that enables the user to find the country that any IP
address or hostname originates from. It uses a file based database that is
accurate as of June 2007 and can optionally be updated on a weekly
basis by installing the GeoIP-update package. This database simply contains IP
blocks as keys, and countries as values. This database should be more complete
and accurate than using reverse DNS lookups.
This package includes GeoLite data created by MaxMind, available from http://www.maxmind.com/
14. Jak ověřit balíček RPM
Balíček můžeme ověřit porovnáním informací o nainstalovaných souborech balíčku s databází rpm pomocí -Vp
možnost (ověřit balíček).
$ sudo rpm -Vp GeoIP-1.5.0-11.el7.x86_64.rpm
15. Jak ověřit všechny balíčky RPM
Můžeme ověřit všechny nainstalované rpm balíčky pomocí -Va
možnost (ověřit vše).
$ sudo rpm -Va
output
S.5....T. c /etc/sysconfig/authconfig
S.5....T. c /etc/yum.repos.d/CentOS-Base.repo
.M....... c /etc/machine-id
.M....... g /etc/udev/hwdb.bin
.M....... g /var/lib/systemd/random-seed
.M....... c /etc/shadow
S.5....T. c /etc/ssh/sshd_config
.M....... c /etc/audit/rules.d/audit.rules
S.5....T. c /etc/NetworkManager/NetworkManager.conf
....L.... c /etc/pam.d/fingerprint-auth
....L.... c /etc/pam.d/password-auth
....L.... c /etc/pam.d/postlogin
...
Přečtěte si také:
- Jak stahovat balíčky bez instalace na RPM Distros
- 21 příkazů DNF pro správu linuxových distribucí založených na RPM
- Jak dotazovat balíčky pomocí příkazu Linux RPM
Balíček rpm se skládá z programových souborů, konfiguračních souborů a seznamu zkompilovaných softwarových programů a knihoven potřebných pro balíčky (závislosti). Tento nástroj rpm funguje pouze s balíčky, které jsou vytvořeny ve formátu '.rpm'.