Obvykle uživatel instaluje balíčky pomocí nástroje příkazového řádku yum. Oficiální úložiště CentOS obsahují tisíce balíčků RPM, ale v některých případech můžete narazit na soubor RPM, který není v žádném úložišti.
Někteří autoři softwaru poskytují k instalaci pouze soubory RPM ke stažení, a proto jsou soubory RPM navrženy tak, aby je bylo možné stahovat a instalovat nezávisle, mimo softwarové úložiště.
V tomto tutoriálu se naučíme, jak nainstalovat soubor .rpm do vaší distribuce Linux CentOS.
Co je správce balíčků RPM
Red Hat Package Manager je bezplatný a otevřený systém správy balíčků pro instalaci, odinstalaci a správu softwarových balíčků v Red Hat a jeho derivátech, jako je CentOS a Fedora.
Předpoklady
Než začneme, musíte se ujistit, že máte oprávnění sudo a že jste na svůj systém nainstalovali některé správce balíčků RPM, DNF a YUM (všechny jsou ve výchozím nastavení součástí).
Také se ujistěte, že balíček RPM, který chcete nainstalovat, je vytvořen pro architekturu vašeho systému a verzi CentOS.
Pro účely tohoto tutoriálu si stáhneme a nainstalujeme balíček Slack RPM na CentOS 8.
Stáhněte si instalační balíček RPM
K vyhledání a stažení souboru .rpm se obvykle používá webový prohlížeč, ale můžete také použít nástroje příkazového řádku, jako je příkaz wget nebo curl.
Například použijeme příkaz wget ke stažení slack package (rpm) do aktuálního adresáře (stahuji do /tmp) následovně:
$ wget https://downloads.slack-edge.com/linux_releases/slack-4.3.2-0.1.fc21.x86_64.rpm
--2020-02-15 23:11:20-- https://downloads.slack-edge.com/linux_releases/slack-4.3.2-0.1.fc21.x86_64.rpm
Resolving downloads.slack-edge.com (downloads.slack-edge.com)... 99.86.243.67, 99.86.243.88, 99.86.243.60, ...
Connecting to downloads.slack-edge.com (downloads.slack-edge.com)|99.86.243.67|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 60768380 (58M) [application/octet-stream]
Saving to: ‘slack-4.3.2-0.1.fc21.x86_64.rpm’
slack-4.3.2-0.1.fc21.x86_6 100%[========================================>] 57.95M 584KB/s in 2m 19s
2020-02-15 23:13:40 (427 KB/s) - ‘slack-4.3.2-0.1.fc21.x86_64.rpm’ saved [60768380/60768380]
Pro ověření můžete použít příkaz ls k vypsání souboru rpm v adresáři '/tmp':
$ ls /tmp/
slack-4.3.2-0.1.fc21.x86_64.rpm
Instalace souboru RPM pomocí příkazu RPM
Balíček RPM můžete nainstalovat dvěma způsoby. První používá příkaz RPM, druhý používá správce balíčků yum.
V následujícím příkazu použijeme -i
možnost instalace balíčku rpm ke stažení:
$ sudo rpm -i /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm
warning: ./slack-4.3.2-0.1.fc21.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 8e6c9578: NOKEY
error: Failed dependencies:
libXScrnSaver is needed by slack-4.3.2-0.1.fc21.x86_64
libappindicator-gtk3 is needed by slack-4.3.2-0.1.fc21.x86_64
Z výše uvedeného výstupu můžeme vidět, že instalace selhala kvůli chybějícím balíčkům závislostí. Takže musíme zkontrolovat balíčky závislostí rpm a nainstalovat je ručně.
Zkontrolujte závislosti RPM
Pro kontrolu závislostí balíčků máme dvě možnosti otáček za minutu. Můžete použít -qpR
pro dotaz na soubor rpm a -qR
na dotaz podle názvu balíčku.
rpm -qpR .rpm-file
rpm -qR package-name
Zeptejme se například souboru .rpm (používáme slack rpm, který jsme si již dříve stáhli), abychom našli všechny jeho požadované balíčky závislostí:
$ sudo rpm -qpR /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm
warning: slack-4.3.2-0.1.fc21.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 8e6c9578: NOKEY
libXScrnSaver
libappindicator-gtk3
libsecret-1.so.0()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
Instalace RPM balíčků s yum
Nyní přichází šikovný nástroj nazvaný yum
kde se nemusíme bát závislostí. Tento správce balíčků yum může stáhnout všechny požadované závislosti a nastavit je za nás.
Nyní použijeme správce balíčků yum k instalaci našeho staženého balíčku pomocí následujícího příkazu:
$ sudo yum localinstall /tmp/slack-4.3.2-0.1.fc21.x86_64.rpm
CentOS-8 - AppStream 6.4 kB/s | 4.3 kB 00:00
CentOS-8 - Base 5.2 kB/s | 3.8 kB 00:00
CentOS-8 - Extras 2.7 kB/s | 1.5 kB 00:00
Extra Packages for Enterprise Linux Modular 8 - x86_6 26 kB/s | 27 kB 00:01
Extra Packages for Enterprise Linux 8 - x86_64 20 kB/s | 29 kB 00:01
Dependencies resolved.
======================================================================================
Package Architecture Version Repository Size
======================================================================================
Installing:
slack x86_64 4.3.2-0.1.fc21 @commandline 58 M
Transaction Summary
======================================================================================
Install 1 Package
Total size: 58 M
Installed size: 185 M
Is this ok [y/N]:
Po zadání y
nainstaluje všechny závislosti a náš balíček:
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : slack-4.3.2-0.1.fc21.x86_64 1/1
Running scriptlet: slack-4.3.2-0.1.fc21.x86_64 1/1
Verifying : slack-4.3.2-0.1.fc21.x86_64 1/1
Installed:
slack-4.3.2-0.1.fc21.x86_64
Complete!
Odebírání balíčku RPM
Chcete-li odstranit balíček RPM, dáme RPM pokyn, aby vymazal software pomocí -e
možnost.
V následujícím příkladu odinstalujeme (odstraníme) slack balíček:
$ sudo rpm -e slack-4.3.2-0.1.fc21.x86_64
Závěr
V tomto tutoriálu jsme vám ukázali, jak nainstalovat a odebrat balíčky RPM na CentOS. Měli byste raději používat yum před rpm, protože automaticky vyřeší všechny závislosti za vás. Yum usnadňuje sledování instalací, aktualizací a předpokladů.