RPM je zkratka pro "Redhat Package Manager" je nástroj pro správu balíčků příkazového řádku pro operační systém založený na RHEL/CentOS. Balíček můžete nainstalovat, odinstalovat, aktualizovat, dotazovat se a ověřit pomocí příkazu RPM. Tento nástroj funguje pouze s balíčky vestavěnými ve formátu .rpm. Příkaz RPM může nainstalovat pouze určený balíček, nemůže nainstalovat závislosti požadované pro tento balíček.
V tomto tutoriálu vám na několika příkladech ukážeme, jak používat správce balíčků RPM. Pokud hledáte průvodce novým správcem balíčků RedHat DNF, podívejte se sem: CentOS 8 Package Management s DNF na příkazovém řádku
Předpoklady
- Server se systémem CentOS, RHEL nebo Fedora.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Základní syntaxe
Základní syntaxe příkazu RPM je uvedena níže:
rpm [MOŽNOST] [NÁZEV PACKAGE]
Všechny dostupné možnosti pomocí příkazu RPM můžete zobrazit pomocí následujícího příkazu:
rpm --help
Měli byste vidět následující obrazovku:
Instalace, aktualizace a odebrání balíčku s RPM
Před instalací jakéhokoli balíčku RPM můžete pomocí následujícího příkazu zobrazit seznam závislostí tohoto balíčku:
rpm -qpR epel-release-latest-8.noarch.rpm
Výstup:
warning:epel-release-latest-8.noarch.rpm:Hlavička V3 RSA/SHA256 Podpis, ID klíče 2f86d6a1:NOKEYconfig(epel-release) =8-7.el8redhat-release>=8rpmlib(CompressedFileNames) <=3.0.4-1rpmlib(FileDigests) <=4.6.0-1rpmlib(PayloadFilesHavePrefix) <=4.0-1rpmlib(PayloadIsXz) <=5.2-1
Informace o tomto balíčku můžete také získat pomocí následujícího příkazu:
rpm -qip epel-release-latest-8.noarch.rpm
Výstup:
warning:epel-release-latest-8.noarch.rpm:Hlavička V3 RSA/SHA256 Podpis, ID klíče 2f86d6a1:NOKEYName :epel-releaseVersion :8Release :7.el8Architecture:noarchInstall Date:(Datum instalace)G System:( Environment/BaseSize :30269Licence :GPLv2 Signature :RSA/SHA256, Thursday 10 October 2019 12:19:30 PM EDT, Key ID 21ea45ab2f86d6a1 Source RPM:epel-release-28s 91.10 October 16:18 EDTBuild Host:buildvm-04.phx2.fedoraproject.orgRelocations:(nelze přemístit)Balík:Fedora ProjectVendor:Fedora ProjectURL:http://download.fedoraproject.org/pub/epelBug URL:https://bugz. fedoraproject.org/epel-releaseSummary :Extra balíčky pro Enterprise Linux repository configurationPopis :Tento balíček obsahuje Extra Packages for Enterprise Linux (EPEL) repositoryGPG klíč a také konfiguraci pro yum.
Tento balíček můžete nainstalovat pomocí následujícího příkazu:
rpm -ivh epel-release-latest-8.noarch.rpm
Výstup:
warning:epel-release-latest-8.noarch.rpm:Hlavička V3 RSA/SHA256 Podpis, ID klíče 2f86d6a1:NOKEYOvěřování... ################## ############### [100%]Příprava... ########################## ###### [100%]Aktualizace / instalace... 1:epel-release-8-7.el8 ###################### ########## [100 %]
Pomocí následujícího příkazu můžete nainstalovat jakýkoli balíček RPM bez jakýchkoli závislostí:
rpm -ivh --nodeps epel-release-latest-8.noarch.rpm
Chcete-li aktualizovat nainstalovaný balíček RPM, spusťte následující příkaz:
rpm -Uvh epel-release-latest-8.noarch.rpm
Výstup:
warning:epel-release-latest-8.noarch.rpm:Hlavička V3 RSA/SHA256 Podpis, ID klíče 2f86d6a1:NOKEYOvěřování... ################## ############### [100%]Příprava... ########################## ###### [100%] balíček epel-release-8-7.el8.noarch je již nainstalován
Chcete-li odebrat nainstalovaný balíček RPM, spusťte následující příkaz:
rpm -ev epel-release
Výstup:
Příprava balíčků...epel-release-8-7.el8.noarch
Zobrazení informací o balíčku s RPM
Chcete-li zobrazit podrobné informace o jakémkoli balíčku, spusťte následující příkaz:
rpm -ql epel-release
Výstup:
/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8/etc/yum.repos.d/epel-playground.repo/etc/yum.repos.d/epel-testing.repo/ etc/yum.repos.d/epel.repo/usr/lib/systemd/system-preset/90-epel.preset/usr/share/doc/epel-release/usr/share/doc/epel-release/GPL/ usr/share/doc/epel-release/README-epel-8-packaging.md
Konfigurační soubory libovolného balíčku můžete najít pomocí následujícího příkazu:
rpm -qc httpd
Výstup:
/etc/httpd/conf.d/autoindex.conf/etc/httpd/conf.d/userdir.conf/etc/httpd/conf.d/welcome.conf/etc/httpd/conf.modules.d/ 00-base.conf/etc/httpd/conf.modules.d/00-dav.conf/etc/httpd/conf.modules.d/00-lua.conf/etc/httpd/conf.modules.d/00- mpm.conf/etc/httpd/conf.modules.d/00-optional.conf/etc/httpd/conf.modules.d/00-proxy.conf/etc/httpd/conf.modules.d/00-systemd. conf/etc/httpd/conf.modules.d/01-cgi.conf/etc/httpd/conf/httpd.conf/etc/httpd/conf/magic/etc/logrotate.d/httpd/etc/sysconfig/htcachecleanDalší informace o libovolném balíčku můžete zobrazit pomocí následujícího příkazu:
rpm -qi httpdVýstup:
Jméno :httpdVersion :2.4.37Vydání :16.module_el8.1.0+256+ae790463Architektura:x86_64Datum instalace:Čtvrtek 23. ledna 2020 23:48:36 PM Systemicense 25D29SA:00 Systemicense 6Signature EST15D2991:00 , Pondělí 23. prosince 2019 17:22:02 EST, ID klíče 05b555b38483c65dSource RPM :httpd-2.4.37-16.module_el8.1.0+256+ae790463.src.rpm3Build Date:9d 2016Build:99 Hostitel :x86-02.mbox.centos.org Přemístění :(nelze přemístit) Balíček :CentOS Buildsys <[chráněn e-mailem]>Dodavatel :CentOSURL :https://httpd.apache.org/Summary :Apache HTTP ServerDescription :The Apache HTTP Server je výkonný, efektivní a rozšiřitelný webový server.Chcete-li najít balíček z adresáře nebo souboru, použijte následující příkaz:
rpm -qf /etc/NetworkManager/Výstup:
NetworkManager-1.14.0-14.el8.x86_64dhcp-client-4.3.6-30.el8.x86_64Ověřit balíček pomocí RPM
Chcete-li ověřit jakýkoli balíček před jeho instalací, použijte následující příkaz:
rpm -Vp epel-release-latest-8.noarch.rpmVýstup:
warning:epel-release-latest-8.noarch.rpm:Hlavička V3 RSA/SHA256 Podpis, ID klíče 2f86d6a1:NOKEYChcete-li ověřit všechny nainstalované balíčky rpm, spusťte následující příkaz:
ot./min -VaVýstup:
.......T. c /etc/kdump.conf.M....... g /var/lib/plymouth/boot-duration.M....... g /var/cache/dnf/packages.db... ..UG.. g /var/lib/sss/mc/group.....UG.. g /var/lib/sss/mc/initgroups.....UG.. g /var/lib/sss /mc/passwd.M....... c /etc/rc.d/rc.local.M....... c /etc/machine-idZkontrolovat informace o nainstalovaném balíčku s RPM
Chcete-li ověřit jakýkoli balíček, zda je nainstalován nebo ne, pomocí následujícího příkazu:
Chcete-li ověřit nainstalovaný balíček, spusťte následující příkaz:
rpm -q epel-releasePokud je zadaný balíček nainstalován, měli byste vidět následující výstup:
epel-release-8-7.el8.noarchChcete-li ověřit balíček, který není nainstalován, spusťte následující příkaz:
rpm -q mysql-serverMěli byste získat následující výstup:
balík mysql-server není nainstalovánChcete-li zobrazit seznam všech balíčků nainstalovaných ve vašem systému, spusťte následující příkaz:
rpm -qaVýstup:
dos2unix-7.4.0-3.el8.x86_64platform-python-pip-9.0.3-13.el8.noarchgeolite2-country-20180605-1.el8.noarchsymlinks-1.4-19.el8.x86-six-11python. .0-8.el8.noarchfontpackages-filesystem-1.44-22.el8.noarchrootfiles-8.1-22.el8.noarchpolkit-0.115-6.el8.x86_64xkeyboard-config-2.24-3.el8.noarchiwl-6050-firm. -92.el8.1.noarchlibmodulemd1-1.8.0-5.el8.x86_64pkgconf-m4-1.4.2-1.el8.noarchiwl5000-firmware-8.83.5.1_1-92.el8.1.noarchsamba-common-4.9 1-8.el8.noarchkbd-misc-2.0.4-8.el8.noarchChcete-li zobrazit všechny nainstalované balíčky podle názvu a velikosti, spusťte následující příkaz:
rpm -qa --queryformat '%{name} %{size}\n'Výstup:
dos2unix 682042platforma-python-pip 7746190geolite2-country 3424334symlinks 19682python3-six 100282fontpackages-filesystem 0rootfiles 599Najít manuální stránku libovolného balíčku s RPM
Chcete-li zjistit seznam dokumentace pro balíček, který vlastní soubor nebo složku, můžete spustit následující.
rpm -qdf /etc/NetworkManager/Výstup:
/usr/share/doc/NetworkManager/AUTHORS/usr/share/doc/NetworkManager/CONTRIBUTING/usr/share/doc/NetworkManager/NEWS/usr/share/doc/NetworkManager/README/usr/share/doc/ NetworkManager/TODO/usr/share/doc/NetworkManager/examples/server.conf/usr/share/man/man1/nm-online.1.gz/usr/share/man/man1/nmcli.1.gz/usr/ share/man/man5/NetworkManager.conf.5.gz/usr/share/man/man5/nm-settings-ifcfg-rh.5.gz/usr/share/man/man5/nm-settings-keyfile.5. gz/usr/share/man/man5/nm-settings.5.gz/usr/share/man/man5/nm-system-settings.conf.5.gz/usr/share/man/man7/nmcli-examples. 7.gz/usr/share/man/man8/NetworkManager.8.gz/usr/share/doc/dhcp-client/README.dhclient.d/usr/share/doc/dhcp-client/dhclient-enter-hooks/ usr/share/doc/dhcp-client/dhclient.conf.example/usr/share/doc/dhcp-client/dhclient6.conf.example/usr/share/man/man5/dhclient.conf.5.gz/usr/ share/man/man5/dhclient.leases.5.gz/usr/share/man/man8/dhclient-script.8.gz/usr/share/man/man8/dhclient.8.gzZávěr
Ve výše uvedeném tutoriálu jsme se naučili, jak spravovat balíčky pomocí RPM na operačním systému CentOS 8. Doufám, že vám to pomůže při provádění každodenních úkolů.
Linux