Di solito, un utente installa i pacchetti utilizzando l'utilità della riga di comando yum. I repository CentOS ufficiali contengono migliaia di pacchetti RPM, ma in alcuni casi potresti imbatterti in un file RPM che non si trova in nessun repository.
Alcuni autori di software forniscono solo file RPM scaricabili per l'installazione, ed è per questo che i file RPM sono progettati per essere scaricati e installati in modo indipendente, al di fuori di un repository software.
In questo tutorial impareremo come installare un file .rpm sulla tua distribuzione Linux CentOS.
Cos'è il gestore di pacchetti RPM
Red Hat Package Manager è un sistema di gestione dei pacchetti gratuito e open source per l'installazione, la disinstallazione e la gestione dei pacchetti software in Red Hat e suoi derivati come CentOS e Fedora.
Prerequisiti
Prima di iniziare devi assicurarti di disporre dei privilegi sudo e di aver installato sul tuo sistema alcuni dei gestori di pacchetti RPM, DNF e YUM (tutti inclusi per impostazione predefinita).
Inoltre, assicurati che il pacchetto RPM che desideri installare sia creato per l'architettura del tuo sistema e la tua versione di CentOS.
Ai fini di questo tutorial, scaricheremo e installeremo il pacchetto Slack RPM su CentOS 8.
Scarica il pacchetto di installazione RPM
In genere, viene utilizzato un browser Web per individuare e scaricare un file .rpm, ma puoi anche utilizzare strumenti da riga di comando come il comando wget o curl.
Ad esempio, useremo il comando wget per scaricare il pacchetto slack (rpm) nella directory corrente (sto scaricando in /tmp) come segue:
$ 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]
Per verificare puoi usare il comando ls per elencare il file rpm nella directory '/tmp':
$ ls /tmp/
slack-4.3.2-0.1.fc21.x86_64.rpm
Installazione del file RPM utilizzando il comando RPM
È possibile installare il pacchetto RPM utilizzando due metodi. Il primo sta usando il comando RPM, l'altro sta usando il gestore di pacchetti yum.
Nel comando seguente usiamo -i
opzione per installare il pacchetto rpm di download:
$ 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
Dall'output sopra, possiamo vedere che l'installazione non è riuscita a causa della mancanza di pacchetti di dipendenze. Quindi dobbiamo controllare i pacchetti di dipendenze rpm e installarli manualmente.
Controlla le dipendenze RPM
Per verificare le dipendenze del pacchetto abbiamo due opzioni rpm. Puoi usare -qpR
per interrogare il file rpm e -qR
per eseguire una query in base al nome del pacchetto.
rpm -qpR .rpm-file
rpm -qR package-name
Ad esempio, eseguiamo una query su un file .rpm (usiamo slack rpm, che abbiamo già scaricato in precedenza) per trovare tutti i pacchetti di dipendenze richiesti:
$ 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
Installazione di pacchetti RPM con yum
Ora arriva il pratico strumento chiamato yum
dove non dobbiamo preoccuparci delle dipendenze. Questo gestore di pacchetti yum può estrarre tutte le dipendenze richieste e configurarle per noi.
Useremo ora yum package manager per installare il nostro pacchetto scaricato con il seguente comando:
$ 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]:
Dopo aver digitato y
installerà tutte le dipendenze e il nostro pacchetto:
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!
Rimozione del pacchetto RPM
Per rimuovere il pacchetto RPM, chiediamo a RPM di cancellare il software con -e
opzione.
Nell'esempio seguente, disinstalleremo (rimuoveremo) il pacchetto slack:
$ sudo rpm -e slack-4.3.2-0.1.fc21.x86_64
Conclusione
In questo tutorial, ti abbiamo mostrato come installare e rimuovere i pacchetti RPM su CentOS. Dovresti preferire usare yum su rpm poiché risolve automaticamente tutte le dipendenze per te. Yum semplifica il monitoraggio di installazioni, aggiornamenti e prerequisiti.