Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 8
  • Installazione di pacchetti software in Linux per principianti. Installazione del file RPM nella GUI

Installazione di pacchetti software in Linux per principianti. Installazione del file RPM nella GUI

RPM (gestore pacchetti RedHat)è l'utilità di gestione dei pacchetti più popolare per i sistemi basati su Cappello rosso, ad esempio RHEL, CentOS, Fedora... Lo strumento consente agli amministratori di sistema e agli utenti di installare, aggiornare, disinstallare, interrogare, controllare e gestire i pacchetti software di sistema sui sistemi operativi Unix/Linux... Gestore di pacchetti RPM memorizza le informazioni sulle applicazioni installate sul sistema nel suo database /var/lib/rpm... I file .rpm stessi contengono le versioni compilate del software, le librerie necessarie per il loro funzionamento, nonché informazioni aggiornate su sorgenti, versioni e dipendenze dei pacchetti. RPM non è in grado di gestire software compilato e installato da codici sorgente.

Di fatto RPM funziona in diverse modalità. Richieste e controlli:

  • rpm (-q | --query)
  • rpm (-V | --verify)
Installazione, aggiornamento, rimozione di pacchetti:
  • rpm (-i | --install) PACKAGE_FILE ...
  • rpm (-U | --upgrade) PACKAGE_FILE ...
  • rpm (-F | --freshen) PACKAGE_FILE ...
  • rpm (-e | --erase) [--allmatches] [--justdb] [--nodeps] [--noscripts] [- notriggers] [--test] PACKAGE_NAME ...

1. Controllare la firma rpm del pacchetto gpg

Si consiglia di controllare sempre gpg Firma il pacchetto prima di installarlo per verificarne l'autenticità. # 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. Installazione del pacchetto rpm

Per installare il pacchetto rpm, usa il tasto -io: # rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm Preparazione ... ######################## # ################# 1: pidgin ############################# # ############ -io: Installa pacchetto -v: mostra le informazioni di debug -h: output di cancelletti durante l'installazione

3. Controllare le dipendenze del pacchetto rpm prima dell'installazione

È possibile visualizzare l'elenco delle dipendenze del pacchetto in questo modo: # rpm -qpR htop-2.0.2-2.fc26.aarch64.rpm ld-linux-aarch64.so.1 () (64 bit) ld-linux-aarch64.so. 1 (GLIBC_2.17) (64bit) libc.so.6 () (64bit) libc.so.6 (GLIBC_2.17) (64bit) libm.so.6 () (64bit) libm.so.6 (GLIBC_2. 17) (64bit) libncursesw.so.6 () (64bit) libtinfo.so.6 () (64bit) rpmlib (CompressedFileNames)<= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 rtld(GNU_HASH) -Q: esegui la richiesta -p | --pacchetto: richiesta di informazioni -R: opzione modalità query, elenco delle dipendenze del pacchetto

4.Rpm, installazione di pacchetti senza dipendenze

Se sei sicuro che tutte le dipendenze necessarie siano installate, e rpm curses e non permetta l'installazione del pacchetto, puoi ignorare l'installazione delle dipendenze usando il flag --nodeps: # rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm Preparazione ... ####################### ##################### 1: BitTorrent ######################### # ################ Il comando precedente forzerà l'installazione del pacchetto nonostante gli errori giri/min... Si noti che se risulta che le dipendenze mancano ancora nel sistema, il programma installato non funzionerà e sarà necessario installare separatamente le dipendenze necessarie.

5. Rpm, controlla il pacchetto installato

Per verificare se un pacchetto è installato o meno, è necessario richiedere il pacchetto richiesto: pacchetto htop installato # rpm -q htop htop-2.0.2-1.el7.x86_64 pacchetto impostore non installato # rpm -q fake pacchetto fake non installato

6.Rpm, elenco dei file dei pacchetti installati

L'elenco dei file del pacchetto installato può essere ottenuto su richiesta -ql (elenco di query): # rpm -ql htop / usr / bin / htop /usr/share/doc/htop-2.0.2 /usr/share/doc/htop-2.0.2/AUTHORS /usr/share/doc/htop-2.0. 2 / COPIA /usr/share/doc/htop-2.0.2/ChangeLog /usr/share/doc/htop-2.0.2/README /usr/share/man/man1/htop.1.gz / usr / share / pixmaps / htop.png

7.Rpm, elenco dei pacchetti installati di recente

# rpm -qa --last htop-2.0.2-1.el7.x86_64 sab 03 giu 2017 18:20:07 MSK

8. Rpm, elenca tutti i pacchetti installati

Per ottenere un elenco di tutti i pacchetti installati sul sistema, è necessario eseguire una query -qa senza parametri aggiuntivi # rpm -qa perl-HTML-Parser-3.71-4.el7.x86_64 dracut-network-033-463.el7.x86_64 filesystem-3.2-21.el7.x86_64 .......... ........... l'elenco dei pacchetti sarà abbastanza grande, per l'impaginazione puoi usare utilità come Di più o meno: # rpm -qa | Di più

9. Aggiornamento del pacchetto rpm

Per aggiornare qualsiasi giri/min viene utilizzata l'opzione pacchetto -U (aggiornamento). Questa opzione non solo aggiorna qualsiasi pacchetto all'ultima versione, ma crea anche una copia di backup della vecchia versione del pacchetto. Se dopo l'aggiornamento qualcosa va storto e il software non funziona, puoi tornare a una versione precedentemente installata e funzionante. # rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm Preparazione ... ########################## # ############### 1: nx ############################## ## ##########

10. Rimozione del pacchetto rpm

Per rimuovere un pacchetto, usa l'opzione -e (cancellare), l'opzione vv viene utilizzata per un output più dettagliato dei messaggi di debug: # rpm -evv nx

11. Rimozione del pacchetto rpm senza dipendenze

Parametro --nodeps rimuove forzatamente un pacchetto giri/min dal sistema. Tieni presente che la rimozione di un pacchetto specifico potrebbe danneggiare altre applicazioni di produzione. # rpm -ev --nodeps htop

12. Rpm, richiedi un file appartenente a un pacchetto

Se hai bisogno di scoprire a quale pacchetto appartiene un particolare file, usa l'opzione -qf (file di query): # rpm -qf /etc/my.cnf mariadb-libs-5.5.52-1.el7.x86_64

13. Rpm, ottenere informazioni su un pacchetto installato

Per ottenere informazioni dettagliate sul pacchetto installato, utilizzare l'opzione -qi (informazioni sulla query): # rpm -qi htop Nome: htop Versione: 2.0.2 Release: 1.el7 Architettura: x86_64 Data di installazione: Sun 04 Jun 2017 10:20:51 Gruppo MSK: Applicazioni / Dimensioni del sistema: 212139 Licenza: GPL + Firma : RSA / SHA256, domenica 24 luglio 2016 21:22:13 MSK, ID chiave 6a2faea2352c64e5 Fonte RPM: htop-2.0.2-1.el7.src.rpm Data di costruzione: domenica 24 luglio 2016 13:01:34 MSK Build Host: buildvm-26.phx2.fedoraproject.org Rilocazioni: (non rilocabile) Packager: Fedora Project Vendor: Fedora Project URL: http://hisham.hm/htop/ Sommario: Visualizzatore di processi interattivo Descrizione: htop è un testo interattivo - visualizzatore di processi in modalità per Linux, simile a top (1).

14.Rpm, ottenere informazioni su un pacchetto che non è ancora installato

Per avere informazioni su un pacchetto che è già stato scaricato, ma non ancora installato, puoi richiedere -qip (pacchetto informazioni query): rpm -qip ./pachage_name.rpm

15.Rpm, visualizza i file di documentazione per un pacchetto specifico

Inchiesta -qdf (interrogare il file del documento) elencherà tutti i file di documentazione per il pacchetto: # rpm -qdf / usr / bin / htop /usr/share/doc/htop-2.0.2/AUTHORS /usr/share/doc/htop-2.0.2/COPYING / usr /share /doc/htop-2.0.2/ChangeLog /usr/share/doc/htop-2.0.2/README /usr/share/man/man1/htop.1.gz

16. Controllo di un pacchetto rpm specifico

Quando si controlla un pacchetto, le informazioni sui file del pacchetto installati vengono confrontate con il database giri/min... # rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5 .... T. c /etc/httpd/conf.d/sqlbuddy.conf

17. Controllo di tutti i pacchetti rpm

# 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

18. Importa chiave GPG

Per controllare i pacchetti RHEL / CentOS / Fedora, devi importare GPG chiave. Per fare ciò, esegui il seguente comando: # rpm --import / etc / pki / rpm-gpg / RPM-GPG-KEY-CentOS-7

19.Rpm, visualizza tutte le chiavi importate

# rpm -qa gpg-pubkey * gpg-pubkey-7bd9bf62-5762b5f8 gpg-pubkey-352c64e5-52ae6884 gpg-pubkey-f4a80eb5-53a7ff4b gpg-pubkey-810f8996-552b1d92

20. Ricostruire il database rpm danneggiato

A volte il database rpm può essere danneggiato e l'RPM non può funzionare correttamente. Se ciò accade, è necessario ricostruire il database. giri/min: # cd / var / lib / rpm # rm -f __db. * # rpm --rebuilddb Come al solito: # man rpm Buona fortuna

* .RPM: file simili agli archivi e ai programmi di installazione di Windows SFX.
Di norma, contengono i codici sorgente raccolti dei programmi facili da modificare.
Il codice sorgente del pacchetto stesso viene compilato con l'estensione .SRPM su comando dell'utente.

Le operazioni con i pacchetti dalla console vengono eseguite dal comando RPM.
Ti ricordo:
aiuto su di esso può essere ottenuto digitando "rpm --help" o "rpm -?"; e il manuale dettagliato è "man rpm"
(per uscire dal manuale e tornare al terminale premere "q").

Qui si suggerisce di familiarizzare prima con la descrizione dei programmi stessi per l'installazione dei pacchetti
(il principale è rpm), e poi - con un elenco di comandi e parametri per questo programma.

Installazione del software su Linux.

Esistono tre modi per installare software su Linux:

  • Tradizionale.
  • Dai pacchetti RPM.
  • Da pacchetti contenenti codice sorgente.

Consideriamo tutti e tre i metodi in ordine.

Questo metodo consiste nel fatto che il programma è distribuito non in forma assemblata, ma sotto forma di codici sorgente. Questo metodo è chiamato tradizionale perché era il primo metodo di installazione di programmi prima dell'avvento di RPM o simili (apt-get).

1. Il modo tradizionale di installazione è l'installazione da sorgenti.

In genere, il codice sorgente è distribuito in un archivio. Solitamente il file contenente il codice sorgente ha una doppia estensione: ad esempio tar.gz o tar.bz2. Ciò significa che questo file è compresso da due archivi: prima tar e poi gzip.

È necessario decomprimere l'archivio secondo il principio dello stack: prima con un archiviatore esterno e poi con uno interno. Supponiamo che prg-2.00.tar.gz sia il nome del file del nostro archivio. Per scompattarlo, devi inserire i comandi:

gunzip prg-2.00.tar.gz
tar xvf prg-2.00.tar

Il primo comando decomprimerà il file prg-2.00.tar, che forniremo come uno degli argomenti nel secondo comando. L'opzione x di tar significa che dobbiamo estrarre i file dall'archivio (l'opzione c è create). È possibile specificare il parametro v a propria discrezione, fornisce ulteriori informazioni quando il programma è in esecuzione.
L'ultimo parametro, f, è obbligatorio quando si lavora con i file.
Il programma tar è stato originariamente progettato per funzionare con streamer a nastro, quindi abbiamo bisogno di usare il parametro f per dire al programma di lavorare con i file.
Se l'estensione esterna non è gz, a bz o bz2, allora invece del primo comando devi inserire i comandi (rispettivamente):

bunzip prg-2.00.tar.bz
bunzip2 prg-2.00.tar.bz2


Quindi, come nel primo caso, è necessario eseguire il comando tar (con gli stessi parametri).

A volte i file sorgente hanno solo un'estensione tgz. In questo caso, devi solo inserire un comando:

tar xzf prg-2.00.tgz


Il parametro z significa estrarre i file usando l'unpacker gzunzip. Tipicamente, i file di archivio creati con il programma tar e passati attraverso il filtro di archiviazione gzip hanno questa estensione.

La fase successiva è l'installazione diretta del programma. Dopo aver completato con successo la prima fase (decompressione), passare alla directory contenente i sorgenti. Di solito è una directory<имя_программы-версия>:

cd prg-2.00

... / configura
Fare
fare installare

Il primo comando configura il software che viene installato per funzionare con il tuo sistema. Questo programma controlla anche se il programma installato può funzionare sul tuo sistema. Se il programma non funziona,
verrà visualizzato un messaggio corrispondente e il processo di installazione verrà interrotto.

Questo di solito accade quando una delle librerie richieste dal nuovo programma non è installata sul tuo sistema. Per procedere con l'installazione, è necessario installare la libreria richiesta e provare a reimmettere il comando. / Configure. Al termine del programma. / Configura, verrà creato un Makefile, che conterrà i parametri necessari (percorsi alle librerie, percorso per l'installazione del programma) per il programma make.

Il secondo comando (make) "costruisce" il programma. In questa fase, il programma viene compilato, ovvero i file eseguibili binari vengono creati dai sorgenti.

Il terzo comando, make install, installa il programma ei file di aiuto nelle directory appropriate. Di solito, i programmi sono installati nella directory /usr/bin, ma questo dipende dal contenuto del Makefile.

Dopo aver installato correttamente il programma, è possibile avviarlo leggendo prima la documentazione di questo programma.

2.Installazione del programma dal pacchetto RPM.

L'installazione del software sulle distribuzioni Red Hat e Mandrake viene eseguita utilizzando il programma rpm. RPM (Red Hat Package Manager) è il gestore di pacchetti di Red Hat. Nonostante il "Red Hat" nel nome, è interamente concepito per funzionare come un sistema di pacchetti open source, disponibile per l'uso da parte di chiunque. Consente agli utenti di prendere il codice sorgente per il nuovo software e impacchettarlo in formato sorgente e binario in modo che i binari possano essere facilmente installati e tracciati e il codice sorgente facilmente
costruito. Questo sistema mantiene anche un database di tutti i pacchetti e dei relativi file, che può essere utilizzato per ispezionare i pacchetti e richiedere informazioni su file e/o pacchetti.

A differenza delle familiari procedure guidate InstallShield utilizzate per installare i programmi Windows, gli RPM (file con estensione .rpm) non sono file eseguibili, ovvero programmi. I pacchetti contengono file (come in un archivio) che devono essere installati, oltre a varie informazioni su questo pacchetto: quale pacchetto è richiesto per il funzionamento di questo pacchetto, con quale pacchetto è in conflitto, informazioni sullo sviluppatore e informazioni che indicano quali azioni intraprendere durante l'installazione di questo pacchetto, ad esempio quali directory creare. Il gestore di pacchetti RPM è utilizzato in molte distribuzioni Linux (Red Hat, Mandrake, ASP, Black Cat) ed è abbastanza leggero e flessibile nell'uso, il che spiega la sua popolarità.

Ad esempio, per il pacchetto software-1.0-I.i386.rpm i seguenti sono: software - nome;

1.0 - versione del programma;
1 - rilascio del pacchetto;
i386 - Piattaforma Intel 386.

Di solito il nome del file del pacchetto contiene il nome, la versione, il rilascio, la piattaforma. Gli ultimi quattro caratteri - ".rpm" - un'indicazione che questo file è un pacchetto. In Linux non esistono estensioni o tipi di file.

Si prega di notare la differenza tra la versione del software e la versione del pacchetto. La versione indicata nel nome del pacchetto è la versione del software in esso contenuto. Il numero di versione è impostato dall'autore del programma, che di solito non è il produttore del pacchetto.
Il numero di versione identifica e fa riferimento al software. Per quanto riguarda il numero di rilascio, caratterizza il pacchetto stesso: indica il numero della versione esistente del pacchetto. In alcuni casi, anche se il software non è cambiato, potrebbe essere necessario riconfezionarlo.

Con il nome e la versione del programma, penso che sia tutto chiaro. Ma l'architettura è un po' più complicata. I pacchetti più "generici" sono quelli per l'architettura Intel 386. Questo programma dovrebbe
eseguire su qualsiasi processore Intel a partire da 80386DX (o compatibile). Tuttavia, se hai un processore 80486, un pacchetto progettato per funzionare con l'architettura 80586 (Pentium) molto probabilmente non verrà installato sul tuo sistema.
In genere, i processori CISC (set di istruzioni x86) utilizzano le seguenti convenzioni:

i386 - Intel 80368DX;
i586 - Intel Pentium (MMX), AMD K5 (K6);
i686 - Intel PPro, Celeron, PII, RSH, PIV.

Nel caso più semplice, il comando di installazione del pacchetto ha il seguente aspetto:

rpm -i<пакет>

Prima di installare il programma, RPM verificherà le dipendenze del pacchetto, ovvero se sul sistema sono installati altri pacchetti necessari o in conflitto con il nuovo programma. Se tutto il necessario
il programma ha dei pacchetti (o il programma non ha bisogno di alcun pacchetto aggiuntivo) e se il nuovo programma non è in conflitto con nessuno dei pacchetti già installati, l'RPM installerà il programma.
Altrimenti, riceverai un messaggio che il programma richiede un pacchetto aggiuntivo o che il programma è in conflitto con un pacchetto già installato.

Se hai bisogno di un pacchetto aggiuntivo, installalo. Ma se il programma è in conflitto con un pacchetto già installato, dovrai scegliere quale pacchetto ti serve di più: già installato o nuovo.

Durante l'installazione del programma, consiglio di specificare due parametri aggiuntivi: h e v. Il primo dice al programma di visualizzare la barra di stato del processo di installazione e il secondo visualizza messaggi aggiuntivi. La barra di stato verrà visualizzata come simboli #. Dati questi due parametri, il comando install diventa un po' più complicato:

rpm -ihv software-1.0-1.i386.rpm

L'installazione può essere eseguita non solo da un disco locale, ma anche tramite FTP:

Per rimuovere un pacchetto, usa il comando:

rpm -e<пакет>

Ancora una volta, ricorda che durante l'installazione o la rimozione dei pacchetti, tieni presente che alcuni pacchetti potrebbero richiedere la presenza di altri pacchetti nel sistema: questo è chiamato dipendenze del pacchetto. Pertanto, a volte non sarai in grado di installare un particolare pacchetto finché non avrai installato tutti i pacchetti necessari per farlo funzionare. Quando si disinstalla un programma, il gestore dei pacchetti controlla anche le dipendenze tra i pacchetti. Se il pacchetto da rimuovere è necessario per altri pacchetti, non è possibile rimuoverlo.

Per saltare il controllo delle dipendenze, usa l'opzione --nodeps.
Questo a volte è utile. Ad esempio, hai installato postfix e devi installare sendmail. Entrambi i programmi vengono utilizzati per inviare la posta.

Tuttavia, molti programmi di posta richiedono un MTA (Mail Transfer Agent), un programma per l'invio di posta (postfix o sendmail).
Pertanto, non è possibile disinstallare il programma postfix utilizzando il parametro -e.
Inoltre, non è possibile installare il programma sendmail senza rimuovere il programma postfix, poiché i pacchetti sono in conflitto tra loro. In questo caso, il comando ti aiuterà:

rpm -e -nodeps postfisso

Dopo tale rimozione, il normale funzionamento di altri programmi che richiedono MTA non è più possibile, quindi è necessario installare immediatamente il programma sendmail (o altro MTA). In questo caso, è necessario installare il programma, come al solito, utilizzando il parametro -i.

Il parametro -U viene utilizzato per aggiornare i programmi. Consiglio di utilizzarlo durante l'installazione dei programmi, perché se il pacchetto da installare è già stato installato, verrà aggiornato e, in caso contrario, verrà semplicemente installato il nuovo pacchetto. Per visualizzare un indicatore di testo durante l'installazione dei pacchetti, utilizzare l'opzione h. Il comando per aggiornare il pacchetto:

rpm -Uhv<пакет>

Ad esempio:

rpm -Uhv software-1.1-4.i386.rpm

L'indicatore di testo verrà visualizzato come simboli #. Puoi visualizzare tutti i pacchetti installati usando il comando:

rpm -qa ho meno

Se hai bisogno di sapere se è installato un pacchetto specifico, esegui il comando:

rpm -qa | grep nome_pacchetto

È possibile visualizzare informazioni generali su un pacchetto utilizzando il comando:

rpm -qi pacchetto

e informazioni sui file inclusi nel pacchetto:

rpm -ql pacchetto

Gnorpm, kpackage, apt.

Il gestore di pacchetti RPM è un potente strumento per eseguire operazioni sui pacchetti: creare, installare, aggiornare, rimuovere. Tuttavia, l'interfaccia della riga di comando potrebbe non piacere a tutti, specialmente a un amministratore alle prime armi. Esistono anche implementazioni grafiche (per X Window) del gestore di pacchetti, ad esempio kpackage di KDE, gnorpm e altri.
Consiglio di usare gnorpm, che ha un'interfaccia grafica intuitiva. RPM è più adatto per creare nuovi pacchetti e aggiornare un gran numero di pacchetti. È meglio e più conveniente usare gnorpm per installare uno o due pacchetti.

Funzioni del programma gnorpm:

Installazione dei pacchetti.
Rimozione dei pacchetti.
Ottieni informazioni su un pacchetto.
Controllo del pacco.
Cerca un pacchetto nel database RPM.

Per installare qualsiasi pacchetto, fai clic sul pulsante "Installa". Se c'è un CD di installazione nell'unità CD-ROM, nella finestra che appare vedrai un elenco di pacchetti non ancora installati sul sistema.

Se il pacchetto non è nell'elenco o si desidera installare un pacchetto non incluso nel kit di distribuzione, fare clic sul pulsante Aggiungi e aggiungere all'elenco i pacchetti che si desidera installare. Fare clic sul pulsante "Richiedi" per i dettagli del pacchetto.

Se il pacchetto non è ancora installato e hai spazio su disco sufficiente per installarlo, fai clic sul pulsante Installa. Successivamente, il pacchetto verrà controllato per vedere se le dipendenze sono soddisfatte: questo pacchetto richiede la presenza di alcuni pacchetti disinstallati e va in conflitto con i pacchetti già installati. Se tutto è in ordine, vedrai la finestra di stato di installazione del pacchetto.

È possibile trovare un pacchetto utilizzando l'operazione di ricerca. Per fare ciò, fare clic sul pulsante "Cerca" sulla barra degli strumenti di gnorpm o eseguire il comando di menu Operazioni -> Cerca. Nella finestra che si apre, puoi impostare i criteri di ricerca e cliccare sul pulsante "Cerca".

KDE viene fornito con un programma di interfaccia utente grafica per la gestione dei pacchetti, kpackage. È simile in funzione al programma gnorpm. Quale di questi programmi utilizzare è una questione di gusti e di abitudine.

Degno di nota è anche il programma APT. APT è un sistema di gestione di pacchetti software. Il sistema APT è stato originariamente sviluppato per Debian Linux. Ora incluso con alcuni compatibili con Red Hat
distribuzioni (ad esempio, apt-get è incluso in AltLinux, ma non lo troverai su Red Hat Linux). Il programma apt-get viene utilizzato per gestire i pacchetti. Il formato per chiamare il programma apt-get è il seguente:

apt-get [opzioni] [comandi] [pacchetto. ... .]


La distribuzione Linux Mandrake include il proprio strumento di gestione dei pacchetti, rpmdrake. Con la decima versione del kit di distribuzione, è stata leggermente modificata. Ora ha tre parti:

/ usr / sbin / edit-urpm-media - gestore dei sorgenti dei pacchetti (cosa sono i sorgenti, l'ho già detto, quindi non ci soffermeremo su questo);
rpmdrake - gestore dell'installazione dei pacchetti;
rpmdrake-remove è un gestore di rimozione di pacchetti.
È possibile avviare qualsiasi parte da K: System | Impostazione | Pacchi.

Installa da pacchetti contenenti codice sorgente.

A volte gli RPM contengono codice sorgente anziché versioni compilate di programmi. Questo è indicato dalla parola src invece del nome dell'architettura. Per installare un tale pacchetto, inserisci:

rpm --rebuild software-2.00-1.src.rpm

Ovviamente, invece di software-2.00-l.src.rpm, è necessario specificare il vero nome del file. Prima di installare il programma, verrà compilato il suo codice sorgente e quindi verrà installato il programma.

OPZIONI GENERALI.

Queste opzioni possono essere utilizzate in tutte le modalità di funzionamento.

"-vv" Stampa molte informazioni di debug.

"--quiet" Stampa il minor numero di messaggi possibile - di norma vengono emessi solo i messaggi di errore.

"--help" Stampa una guida più dettagliata del solito sull'uso di rpm.

"--version" Stampa una riga contenente il numero di versione dell'rpm che stai utilizzando.

"--rcfile<список-файлов>" Ciascuno dei file da due punti separati<списка-файлов>rpm viene letto in sequenza per le informazioni di configurazione.
Predefinito<список-файлов>assomiglia a /usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc.
In questo elenco deve esistere solo la prima riga; tutte le tilde verranno sostituite con il valore di $ HOME.

"--radice<каталог>"Usa il file system rootato in<каталог>.
Nota che questo significa che il database verrà letto e modificato anche sotto<каталог>, e tutti gli script pre e post verranno eseguiti dopo chroot() in<каталог>.

"--dbpath<путь>"Usa il database RPM in<путь>.

"--justdb" Aggiorna solo il database, non il file system.

"--ftpproxy , --httpproxy " Uso come proxy FTP o HTTP.

"--ftpport<порт>, --httpport<порт>" Uso<порт>come porta FTP o HTTP del server proxy.

"--tubo "Reindirizza l'output rpm all'input di comando .

Manutenzione della banca dati:

rpm -i [--initdb]

rpm -i [--rebuilddb]

OPZIONI DI RICOSTRUZIONE DEL DATABASE.

La forma generale del comando per ricostruire il database RPM è simile a questa:
rpm --rebuilddb
Per creare un nuovo database:
rpm --initdb
Questa modalità supporta solo due opzioni, --dbpath e --root.

In esecuzione
rpm --showrc
stampa i valori che rpm utilizzerà per tutte le opzioni che possono essere impostate nei file rpmrc.

Assemblea:
giri/min [-b | t] +
rpm [--rebuild] +
rpm [--tarbuild] +

OPZIONI DI MONTAGGIO DEL PACCHETTO (EDILIZIA).

La forma generale del comando per creare un pacchetto rpm è simile a questa:
rpm -O [opzioni di compilazione] +
L'argomento -bfR viene utilizzato quando viene utilizzato un file spec per compilare il pacchetto. Se rpmfR ha bisogno di estrarre questo file da un archivio gzip (o compress), viene usato l'argomento -tfR. Il primo argomento è seguito dal successivo (OfR), che indica quali fasi di assemblaggio e confezionamento devono essere eseguite. Questo è uno di:

-bp Esegue la fase di preparazione % del file spec. Questo di solito comporta la decompressione dei sorgenti e l'applicazione di patch.

"-bl" Esegue un "controllo elenco". Nella sezione "% file" del file delle specifiche, le macro vengono espanse e viene verificata l'esistenza dei file elencati.

"-bc" Esegue la fase "% build" del file spec (dopo aver eseguito la fase % prep). Questo di solito si riduce all'esecuzione di un equivalente di "make".

-bi Esegue la fase di installazione % del file spec (dopo aver eseguito le fasi di preparazione e compilazione). Questo di solito si riduce a fare una sorta di equivalente
"fai installare".

"-bb" Crea un pacchetto binario (dopo aver eseguito le fasi di preparazione,% compilazione e% installazione).

"-bs" Compila solo il pacchetto sorgente (dopo aver eseguito le fasi di preparazione, compilazione e installazione).

"-ba" Compila i pacchetti binari (RPM) e sorgente (SRPM) (dopo aver eseguito le fasi di preparazione, compilazione e installazione).

È inoltre possibile utilizzare le seguenti opzioni:

"--short-circuit" Esegue direttamente la fase specificata, saltando le precedenti. Può essere utilizzato solo con -bc e -bi.

"--timecheck" Imposta l'età per il "timecheck" (0 per disabilitare). Questo valore può essere impostato anche definendo la macro "_timecheck".
Il valore di timecheck specifica l'età massima (in secondi) dei file da comprimere nel batch. Verrà visualizzato un avviso per tutti i file più vecchi di questa età.

--clean Rimuove l'albero di compilazione dopo che i pacchetti sono stati compilati.

"--rmsource" Rimuove i sorgenti e il file spec dopo la compilazione (può essere usato separatamente, ad esempio "rpm --rmsource foo.spec").

"--test" Non esegue alcun passaggio di compilazione. Utile per testare i file delle specifiche.

"--sign" Incorpora una firma PGP nel pacchetto. Questa firma può essere utilizzata per verificare l'integrità e l'origine di un pacco. Vedi sezione
FIRME PGP per le opzioni PGP.

"--builroot<каталог>"Usa directory<каталог>come radice per la creazione di pacchetti.

"--obbiettivo<платформа>" Quando si crea un pacchetto, interpretare<платформа>come arch-vendor-os
e imposta le macro _target, _target_arch e _target_os di conseguenza.

"--buildarch "Costruisci pacchetto per l'architettura ignaro dell'architettura
il sistema su cui viene eseguito l'assemblaggio. Questa opzione è deprecata; in RPM 3.0, dovrebbe essere usata invece l'opzione --target.

"--buildos "Crea un pacchetto per il sistema operativo non prestando attenzione a
l'architettura del sistema su cui viene eseguito l'assemblaggio. Questa opzione è deprecata; in RPM 3.0, dovrebbe essere usata invece l'opzione --target.

OPZIONI DI RIASSEMBLAGGIO E RICOMPILLAZIONE.

Ci sono altri due modi per eseguire rpm:

rpm --ricompila<файл_исходного_пакета>+"

rpm --rebuild<файл_исходного_пакета>+"

Quando viene chiamato in questo modo, rpm installa il pacchetto sorgente specificato ed esegue% prep,% build e% install. Inoltre, --rebuild crea un nuovo pacchetto binario. Al termine della compilazione, l'albero utilizzato per la compilazione viene rimosso (come con l'opzione --clean), i sorgenti stessi e il file spec.

FIRMA ESISTENTE RPM.

rpm --resign<файл_бинарного_пакета>+ Questa opzione genera e inserisce nuove firme nei pacchetti specificati.
Tutte le firme esistenti dai pacchetti vengono rimosse.

rpm --addsign<файл_бинарного_пакета>+ Questa opzione genera e aggiunge nuove firme ai pacchetti specificati.
Tutte le firme dei pacchetti esistenti vengono conservate.

FIRME PGP.

Per utilizzare la funzionalità di firma, rpm deve essere configurato per eseguire PGP e deve essere in grado di trovare il keyring pubblico con la chiave RPM al suo interno. Per impostazione predefinita, rpm usa le impostazioni predefinite di PGP per trovare i portachiavi (rispettando PGPPATH).
Se i keyring non sono dove PGP si aspetta di trovarli, devi impostare la macro "_pgp_path" nella directory contenente i keyring.

Se vuoi essere in grado di firmare i pacchetti che crei, devi anche creare la tua coppia di chiavi pubblica/privata (vedi la documentazione di PGP). Oltre alla suddetta macro, devi anche configurare le macro

"_signature" Tipo di firma. Attualmente è supportato solo pgp.

"_pgp_name" Nome utente " le cui chiavi vuoi usare per firmare i tuoi pacchi.

Quando si creano pacchetti, si aggiunge l'opzione --sign alla riga di comando. Ti verrà chiesta una password e il tuo pacchetto verrà creato e firmato.

Ad esempio, per utilizzare PGP per firmare pacchetti per conto dell'utente "John Doe "dai keyring che si trovano in /etc/rpm/.pgp, devi includere

"% _firma"
pgp
"% _pgp_name"
/etc/rpm/.pgp
"% _pgp_name"
Giovanni lo fa "

Nel file di configurazione della macro. Usa /etc/rpm/macros per l'intero sistema e ~/.rpmmacros per la configurazione personalizzata.

Servire i pacchetti installati:

rpm [--install] [opzioni-installazione] [file-pacchetto] +
rpm [--eshen | -F] [opzioni-installazione] [file-pacchetto] +
rpm [--uninstall | -e] [uninstall-options] [pacchetto] +
rpm [--verify | -V] [opzioni-verifica] [pacchetto] +

OPZIONI DI INSTALLAZIONE E AGGIORNAMENTO.

La forma generale del comando di installazione di rpm è simile a questa:
rpm -i [opzioni di installazione]<файл_пакета>+
Questo comando installa nuovi pacchetti.

La forma generale del comando di aggiornamento rpm è simile a questa:
rpm -U [opzioni di installazione]<файл_пакета>+
Questo comando aggiorna i pacchetti installati. Questo comando funziona esattamente come il comando di installazione, tranne per il fatto che tutte le altre versioni del pacchetto vengono rimosse dal sistema.

rpm [-F | --eshen] [opzioni di installazione]<файл_пакета>+
Tale comando aggiorna i pacchetti, ma solo se esistono versioni precedenti di questi pacchetti nel sistema.
Compito consentito<файл_пакета>come URL in stile ftp o http. In questo caso, prima dell'installazione, il file sarà ottenuto dal server specificato nell'URL.

"--force" Uguale alla combinazione di --replacepkgs, --replacefiles e --oldpackage.

"-h, --hash" Stampa 50 # caratteri mentre l'archivio del pacchetto viene scompattato. Usato con -v per la bellezza.

"--oldpackage" Consente di sostituire un nuovo pacchetto con uno più vecchio durante l'aggiornamento (rollback).

"--percent" Stampa la percentuale pronta quando l'archivio del pacchetto viene decompresso. Progettato per semplificare l'utilizzo di rpm da altre utilità.

"--replacefiles" Installa i pacchetti anche se sovrascrivono i file di altri pacchetti già installati.

"--replacepkgs" Installa i pacchetti anche se alcuni sono già installati sul sistema.

--allfiles Installa o aggiorna tutti i file identificati come missingok, anche se esistono già.

"--nodeps" Non controllare le dipendenze prima di installare o aggiornare un pacchetto.

"--noscripts" Non esegue script prima e dopo l'installazione.

"--notriggers" Non esegue script di trigger armati per installare questo pacchetto.

"--ignoresize" Non controllare il filesystem per avere spazio libero sufficiente prima di installare questo pacchetto.

"--excludepath<путь>"Non installare file i cui nomi iniziano con<путь>.

"--excludedocs" Non installa alcun file contrassegnato come file di documentazione (include manuali e documenti texinfo).

"--includedocs" Installa i file di documentazione. Questo è il comportamento predefinito.

"--test" Non installate il pacchetto, controllate solo se può essere installato e segnalate eventuali problemi.

"--ignorearch" Installa o aggiorna anche se l'architettura dell'RPM binario e la macchina non corrispondono.

"--ignoreos" Installa o aggiorna anche se i sistemi operativi dell'RPM binario e la macchina non corrispondono.

"--prefisso<путь>"Imposta il prefisso di installazione su<путь>per i pacchetti trasferibili.

"--trasferirsi<старый_путь>=<новый_путь>" Per i pacchetti rilocabili: converte i file che avrebbero dovuto essere installati in<старый_путь>v<новый_путь>.

--badreloc Da usare con --relocate. Si sposta anche se il pacchetto non è riposizionabile.

"--noorder" Non riordina l'elenco dei pacchetti installati. Di solito l'elenco viene riordinato per soddisfare le dipendenze.

Inchiesta:
rpm [--query] [opzioni-query]
rpm [--querytag]

RICHIEDI OPZIONI.

La forma generale del comando di richiesta rpm (ispezione) è simile alla seguente:
rpm -q [opzioni-richiesta]
È possibile impostare il formato in cui verranno visualizzate le informazioni sul pacchetto. Per fare ciò, usa l'opzione --queryformat seguita da una stringa di formato.

I formati di query sono una versione modificata della formattazione standard printf (3). Il formato è costituito da stringhe statiche (che possono includere sequenze di escape C standard per nuove righe, tabulazioni e altri caratteri speciali) e formati simili a quelli utilizzati in printf (3). Poiché rpm conosce già i tipi di dati da stampare, gli identificatori di tipo dovrebbero essere omessi e sostituiti con i nomi dei tag di intestazione (chiavi) da stampare, racchiusi tra (). La parte del nome del tag RPMTAG_ può essere omessa.

È possibile specificare formati di output alternativi aggiungendo il tag: typetag al nome. Attualmente sono supportati i seguenti tipi: octal, date, shescape, perms, fflags e depflags.

Ad esempio, per visualizzare solo i nomi dei pacchetti richiesti, è possibile utilizzare % (NAME) come stringa di formato. È possibile utilizzare% -30 (NAME)% (DISTRIBUTION) per visualizzare i nomi dei pacchetti e le informazioni sulla distribuzione in due colonne.

Quando viene eseguito con l'argomento --querytags, rpm elencherà tutti i tag di cui è a conoscenza.

Esistono due serie di opzioni per la query: selezione del pacchetto e selezione delle informazioni.

Opzioni di selezione del pacchetto:

"<название_пакета>" Richiedere un pacchetto installato chiamato<название_пакета>.

"-a, --all" Interroga tutti i pacchetti installati.

"--ciò che richiede "Richiesta per tutti i pacchetti che richiedono per il corretto funzionamento.

"--cosa fornisce "Richiesta per tutti i pacchetti che forniscono servizio.

"-F<файл>, --file<файл>" Richiesta del pacchetto che possiede il file<файл>.

"-G<группа>, --gruppo<группа>" Richiesta di pacchetti da un gruppo<группа>.

"-P<файл_пакета>"Richiesta di un pacchetto (disinstallato)<файл_пакета>.
File<файл_пакета>può essere specificato come URL in stile ftp o http; in questo caso, l'intestazione del pacchetto verrà ricevuta dal server specificato.

"--specifica "Analisi e query come se fosse un pacco. Sebbene non tutte le informazioni (come gli elenchi di file) siano disponibili, questo tipo di richiesta consente di utilizzare rpm per estrarre informazioni dai file di specifica senza dover scrivere un parser di file di specifica.

"--querybynumber "Richiedi direttamente il numero di registrazione del database ... Utile per scopi di debug.

"--innescato da<имя_пакета>" Interroga tutti i pacchetti che contengono script trigger attivati ​​dal pacchetto<имя_пакета>.

Opzioni di selezione delle informazioni:

"-io"
Visualizza le informazioni su un pacchetto, inclusi nome, versione e descrizione. Usa --queryformat se fornito.

"-R, --requires" Elenca i pacchetti da cui dipende questo pacchetto.

"--provides" Elenca i servizi e le librerie forniti da questo pacchetto.

"--changelog" Stampa il log delle modifiche per questo pacchetto.

"-l, --list" Elenca i file inclusi in questo pacchetto.

"-s, --state" Elenca lo stato dei file nel pacchetto (implica -l).

Ciascun file può trovarsi in uno dei seguenti stati: normale, non installato o sostituito.

"-d, --docfiles" Elenca solo i file di documentazione (implica -l).

"-c, --configfiles" Elenca solo i file di configurazione (implica -l).

"--scripts" Stampa gli script specifici del pacchetto utilizzati come parte del processo di installazione/disinstallazione, se presenti.

"--trigger, --triggerscript" Mostra tutti gli script trigger, se presenti, contenuti nel pacchetto.

"--dump" Stampa le informazioni sui file come segue: dimensione del percorso mtime md5sum modalità proprietario gruppo isconfig isdoc rdev link simbolico.
Questa opzione deve essere utilizzata insieme ad almeno uno tra -l, -c, -d.

"--last" Ordina l'elenco dei pacchetti in base al tempo di installazione in modo che i pacchetti più recenti siano in cima all'elenco.

"--filesbypkg" Elenca tutti i file in ogni pacchetto.

"--triggerscripts" Mostra tutti gli script trigger per i pacchetti selezionati.

OPZIONI DI VERIFICA.

La forma generale del comando di verifica rpm si presenta così:
rpm -V | -y | --verify [opzioni-verifica]
Durante la verifica del pacchetto, le informazioni sui file installati del pacchetto vengono confrontate con le informazioni del pacchetto originale e del database RPM. La verifica controlla la dimensione, il checksum MD5, i permessi, il tipo, il proprietario e il gruppo di ogni file, tra gli altri. Tutte le incongruenze sono segnalate. Le opzioni per la selezione dei pacchetti sono le stesse della richiesta (ispezione) dei pacchetti.

I file che non sono stati installati dal pacchetto (ad esempio, i file di documentazione che sono stati esclusi dal processo di installazione con l'opzione "--excludedocs") vengono ignorati automaticamente.

Opzioni che possono essere utilizzate nel processo di verifica:

--nofiles Ignora i file mancanti.

"--nomd5" Ignora gli errori di checksum MD5.
"--nopgp" Ignora errori di firma PGP.

Il formato di output è una stringa di otto caratteri, possibilmente "c" che indica un file di configurazione e un nome file. Ciascuno degli otto caratteri indica il risultato del confronto di uno degli attributi del file con il valore registrato nel database RPM. Il punto indica che il test è stato superato. I seguenti simboli indicano errori in alcuni test:

Somma di controllo MD5 "5".

"S" Dimensione del file.

Simlink "L".

"T" Tempo di modifica.

Dispositivo "D".

Maestro "U".

Gruppo "G".

Autorizzazioni "M" (include autorizzazioni e tipo di file).

CONTROLLO DELLA FIRMA

La forma generale del comando di verifica della firma RPM è simile alla seguente:
rpm --checksig<файл_с_пакетом>+
Questo comando verifica la firma PGP incorporata nel pacchetto per verificare l'integrità e l'origine del pacchetto.
Le informazioni sulla configurazione di PGP vengono lette dai file di configurazione. Vedi la sezione FIRMA PGP per maggiori dettagli.

OPZIONI DI RIMOZIONE (DISINSTALLAZIONE)

La forma generale del comando di disinstallazione (disinstallazione) rpm è simile alla seguente:
rpm -e<название_пакета>+

"--allmatches" Rimuove tutte le versioni dei pacchetti corrispondenti<название_пакета>Di solito se<название_пакета>risponde a più pacchetti, viene emesso
messaggio di errore e la cancellazione non viene eseguita.

"--noscripts" Non esegue script prima e dopo l'installazione.

"--notriggers" Non esegue script di trigger armati per rimuovere questo pacchetto.

"--nodeps" Non controlla le dipendenze prima di rimuovere i pacchetti.

"--test" Non cancellare, solo fingere :) Utile insieme all'opzione -vv.

Varie:
rpm [--showrc]
rpm [--setperms] [pacchetto] +
rpm [--setgids] [pacchetto] +

OPZIONI FTP/HTTP.

rpm contiene semplici client FTP e HTTP per facilitare l'installazione e l'esplorazione dei pacchetti disponibili su Internet. File di pacchetto per l'installazione,
gli aggiornamenti e le richieste possono essere specificati come URL in stile ftp o http:
ftp: // :@Nome host: /percorso/del/pacchetto.rpm
Se parte Omessa, verrà richiesta la password (una volta per ogni coppia utente/hostname). Se nessuno dei due Non specificato, verrà utilizzato ftp anonimo. In tutti i casi viene utilizzato il trasferimento FTP passivo (PASV).

Rpm consente di utilizzare le seguenti opzioni con gli URL ftp:

"--ftpproxy " Sistema verrà utilizzato come proxy per tutti i trasferimenti, che consente di effettuare connessioni FTP attraverso un firewall utilizzando un proxy per accedere al mondo esterno. Questa opzione può essere impostata anche impostando la macro _ftpproxy.

"--ftpport "Specifica il numero di porta TCP utilizzato per le connessioni FTP invece della porta predefinita.
Questa opzione può essere impostata anche impostando la macro _ftpport.

Rpm consente di utilizzare le seguenti opzioni con gli URL http:

"--httpproxy " Sistema verrà utilizzato come proxy per tutti gli inoltri, che consente di effettuare connessioni HTTP attraverso un firewall che utilizza un proxy per accedere al mondo esterno. Questa opzione può essere impostata anche impostando la macro _httpproxy.

"--httpport "Specifica il numero di porta TCP utilizzato per le connessioni HTTP invece della porta predefinita.
Questa opzione può essere impostata anche impostando la macro _httpport.

Preparato da Dvoe4nik85

L'articolo descrive i metodi di base per l'installazione di nuovo software su un sistema Linux esistente. Sebbene le versioni delle distribuzioni e delle relative utilità menzionate in esso siano già alquanto obsolete, i principi di base della gestione dei pacchetti software sono rimasti praticamente invariati.

[Sokolov Roman (romanso AT rt.mipt.ru)]

Installazione di pacchetti software in Linux per principianti

Due modi per installare il software.

La necessità di installare nuovi pacchetti software per LINUX nasce in due casi principali:
  • quando appare una nuova versione di uno dei pacchetti che hai già installato;
  • quando diventa necessario utilizzare un pacchetto non ancora installato nel sistema.
Nel secondo caso, potrebbe essere uno dei pacchetti disponibili sul disco di installazione, ma non installato durante il processo di installazione. Tuttavia, molto spesso troverai nuovo software su Internet, soprattutto perché una parte significativa di questo software è gratuito o shareware. Comunque sia, ma prima o poi dovrai comunque affrontare la necessità di installare un nuovo pacchetto.

Esistono due principali forme di distribuzione del software LINUX: nel codice sorgente e sotto forma di moduli eseguibili. In entrambi i casi, il pacchetto software può essere fornito come archivio tar-gz o come pacchetto rpm.

Il modo più semplice è installare il software presentato sotto forma di un pacchetto rpm contenente file eseguibili e considereremo prima questo metodo. Tieni presente che devi essere loggato come root per installare nuovi pacchetti.

Programma giri.

Il nome di questo programma (o comando) è l'acronimo di Redhat Package Manager. Questa trascrizione è fornita nella maggior parte dei libri e dei manuali Linux e mi sembra più corretta e logica, sebbene il capitolo 6 di "The Official Red Hat Linux Reference Guide" dica: "The RPM Package Manager (RPM), è un sistema di packaging aperto disponibile per chiunque e funziona su Red Hat Linux e su altri sistemi Linux e UNIX ".

Il programma rpm è in un certo senso simile alla procedura guidata di installazione per MS Windows. Il vantaggio di utilizzare questo programma rispetto all'installazione di archivi tar-gz è che eseguirà automaticamente tutti i passaggi necessari per installare il software: creare le directory necessarie, distribuire loro file, creare collegamenti. Inoltre, può essere utilizzato non solo per installare un nuovo pacchetto, ma anche per aggiornare le versioni del software, ottenere elenchi di software installato e controllare l'installazione, nonché per disinstallare singoli pacchetti (ad esempio, se dopo un periodo di lavoro di prova con il programma si decide di abbandonarlo ulteriormente). Usando lo stesso programma rpm, puoi creare tu stesso un pacchetto rpm, ma per i principianti probabilmente è meglio non farlo, ma usare pacchetti rpm già pronti.

I pacchetti rpm sono archivi appositamente preparati per essere elaborati dal programma rpm. Gli RPM terminano con il suffisso .rpm, ad esempio xzip-180-1.i386.rpm o xzip-180-1.src.rpm. Come puoi vedere, c'è un altro suffisso prima del suffisso .rpm. Se è .i386 o .i586, il pacchetto contiene file eseguibili e, se questo suffisso è.src, il pacchetto contiene codici sorgente che devono essere compilati dopo l'installazione. Tipicamente, sia sui CD di installazione che nelle directory Internet, i pacchetti rpm con file eseguibili si trovano in directory chiamate RPMS e i pacchetti rpm con codici sorgente si trovano nelle sottodirectory di SRPMS.

Su Internet, i pacchetti rpm possono essere trovati su vari server. Nella mia esperienza, il server più conveniente su Internet per la ricerca di archivi rpm è http://rufus.w3.org. Su di esso è installato un motore di ricerca, che ti consente di organizzare l'elenco dei pacchetti nel modo più conveniente per te:

  • dai nomi dei pacchetti;
  • per distribuzioni;
  • per gruppo di applicazioni;
  • per date;
  • dai fornitori (produttori) di software.
Il volume totale dell'archivio dei pacchetti rpm su questo server è di oltre 66 Gigabyte. Archivi molto ricchi sono anche tenuti da due server ftp in Russia: ftp://ftp.chg.ru/pub/Linux e ftp://ftp.nc.orc.ru/

È solo necessario notare che se si utilizza un computer Windows per scaricare pacchetti da Internet, è molto probabile che tutti i nomi dei pacchetti che si hanno saranno confusi. Il fatto è che a Windows "non piacciono" i nomi in cui ci sono diversi punti (ad esempio, glib-1.0.6-3.i386.rpm e sostituirà i punti "extra", a suo avviso, con trattini bassi - glib- 1_0_6-3_i386. rpm). Quindi, dopo aver ricevuto il pacchetto (quando lo si trasferisce su un PC con sistema operativo Linux), queste "correzioni" devono essere risolte ripristinando i nomi UNIX.

Quindi, hai trovato e scaricato l'archivio rpm con la versione eseguibile del pacchetto di cui hai bisogno. Se stai installando un pacchetto completamente nuovo (non avevi versioni precedenti di questo software sul tuo computer), quindi per installare il pacchetto da questo archivio, devi solo andare nella directory in cui si trova l'archivio e dare un comando ( per i più impazienti: non abbiate fretta di seguire questa raccomandazione, leggete almeno un altro paio di paragrafi)

Rpm -i rpm-archive_name Se avevi una versione precedente del pacchetto installata, nel caso più semplice devi dare un comando nel seguente formato: rpm -U --force rpm-archive_name Qui il parametro -U dice al programma per aggiornare il pacchetto e l'opzione --force richiede incondizionatamente (e senza fare domande) di aggiornare tutti i file inclusi nel pacchetto. Nota che questo è un requisito molto forte e in alcuni casi potrebbe essere meglio mantenere alcuni file (ad esempio di configurazione) della versione precedente. Se l'installazione procede normalmente e non vengono visualizzati messaggi aggiuntivi, al termine del programma (dopo che viene visualizzato il prompt della shell), è possibile utilizzare il pacchetto appena installato.

Sfortunatamente, non è sempre così semplice. Ti faccio un esempio concreto. Avevo installato RedHat Linux versione 5.2 e il programma Midnight Commander (mc) era la versione 4.1.36. Sul server ftp ho visto la versione 4.5.30 di questo programma (pacchetto mc-4.5.30-12.i386.rpm) e, naturalmente, ho deciso di installarlo. Tuttavia, si è scoperto che ciò richiede l'installazione di altri 4 pacchetti, di cui mi ha parlato rpm:

Errore: dipendenze non soddisfatte: redhat-logos necessario per mc-4.5.30-12 libglib-1.2.so .0 necessario per mc-4.5.30-12 libc.so.6 (GLIBC_2.1) necessario per mc-4.5.30 -12 libc.so.6 (GLIBC_2.0) è necessario per mc-4.5.30-12 Ciò non sorprende se si ricorda che durante l'installazione iniziale di Linux, il programma di installazione ha verificato anche le dipendenze dei pacchetti e ha suggerito di installare quelli mancanti . Tuttavia, nel caso dell'installazione, tutti i pacchetti necessari si trovano sullo stesso disco e qui ho dovuto prima cercare i pacchetti necessari. Ho trovato facilmente due pacchetti (redhat-logos-1.0.5-1.noarch.rpm e glibc-2.1.1-6.i386.rpm), dopo di che rpm ha smesso di chiedere GLIBC_2.0. Ma con libglib.so .1 si è rivelato più difficile. Innanzitutto, non sono riuscito a trovare in alcun modo un pacchetto con quel nome. Come si è scoperto, un tale pacchetto non esiste, il file libglib.so .1 è incluso nel pacchetto glib-1.0.6-3.i386.rpm. Mentre lo scoprivo, ho anche appreso che per scoprire quali file verrà installato un particolare pacchetto, è necessario dare il comando rpm -qpl rpm-archive_name e per ottenere informazioni sul pacchetto - il comando rpm -qpi rpm-archive_name Il fatto è che i file RPM, oltre all'archivio vero e proprio dei file, contengono informazioni sul pacchetto, compreso il nome, la versione e una breve descrizione. Utilizzando lo stesso programma rpm, è possibile visualizzare queste informazioni aggiuntive. Ad esempio, per il pacchetto glib-1.0.6-3.i386.rpm, otteniamo i seguenti risultati: rpm -qpi glib-1.0.6-3.i386.rpm L'output sarà qualcosa del genere: Nome: glib Relocations : (non riposizionabile) Versione: 1.0 .6 Fornitore: Red Hat Software Release: 3 Data di creazione: Sat 10 Oct 1998 04:49:03 Data di installazione: (non installato) Host di build: porky.redhat.com Gruppo: Librerie Fonte RPM : glib-1.0.6-3 .i386.rpm Dimensioni: 55305 Packager: Red Hat Software< [e-mail protetta]> Sommario: Pratica libreria di funzioni di utilità Descrizione: Pratica libreria di funzioni di utilità. Le librerie e le intestazioni di sviluppo sono in gtk + -devel. Se dai il comando: rpm -qpl glib-1.0.6-3.i386.rpm, otterrai un elenco dei file inclusi nel pacchetto, indicando dove verranno installati: /usr/lib/libglib.so. 1 / usr / lib / libglib L'RPM .so.1.0.6 fornisce anche un potente sistema di query per i pacchetti installati sul sistema. Con il comando rpm -qà otterrai un elenco di tutti i pacchetti installati nel sistema (l'elenco sarà molto lungo, quindi è meglio inviare subito l'output al filtro more). È possibile cercare informazioni su un singolo pacchetto o su singoli file. Ad esempio, puoi facilmente trovare a quale pacchetto appartiene un file e da dove proviene: rpm -qf / etc / bashrc bash-1.14.7-16. Se sei preoccupato di cancellare accidentalmente un file importante da un pacchetto installato, dai un'occhiata: rpm -Va Sarai avvisato di eventuali anomalie. Se necessario, puoi reinstallare il pacchetto. Eventuali file di configurazione verranno salvati.

RPM è un'utilità molto utile e come puoi vedere ha varie opzioni. Ho fornito solo alcuni esempi. In totale, rpm ha 16 modalità operative principali, che ha senso combinare in 6 gruppi (dopo i due punti, viene fornito il formato del comando per la modalità corrispondente):

Query: Query: rpm [--query] Mostra Querytags: rpm [--querytags] Installa e mantiene i pacchetti installati: Installa: rpm [--install] + Aggiorna: rpm [--freshen | -F] + Disinstallazione: rpm [ --uninstall | -e] + Verifica: rpm [--verify | -V] + Firme (i pacchetti sono firmati con una firma digitale in formato PGP, al fine di garantire l'immutabilità e preservare la paternità dei pacchetti): Verifica della firma: rpm [ --verify | -V] + Nuova firma: rpm [--resign] + Aggiunta di una firma: rpm [--addsign] + Utilizzo del database: Inizializzazione del database: rpm -i [--initdb] Ricostruisci database : rpm -i [- -rebuilddb] Crea pacchetti rpm: Crea pacchetto: rpm [-b | t] + Ricompila pacchetto: rpm [--rebuild] + Crea pacchetto da Tarball: rpm [--tarbuild] + Varie: Mostra rpm configurazione del programma: rpm [ --showrc] Imposta utenti: rpm [--setperms] + Imposta gruppi: rpm [--setgids] + Per una descrizione più dettagliata del comando rpm, vedere RPM-HOWTO, pagine man e i info. Non viene qui riportato, principalmente perché nelle modalità grafiche ci sono programmi un po' più convenienti e "umani" per la gestione del software installato nel sistema e dei suoi processi di aggiornamento, di cui parleremo nelle sottosezioni successive.

Nota:

Ho usato RPM versione 3. Attualmente, esiste già la versione 4, ma il seguente messaggio è apparso sulla mailing list di blackcat-list:

> Qualcuno con esperienza nell'installazione di rpm 4.x? > Vorrei installare i pacchetti dalla distribuzione Red Hat 7.0. Lo stesso Pan Kanevsky ;-) non ha consigliato di installare 4.x rpm-3.0.5-9.6x comprende la struttura di 4.x e installa i pacchetti 4.x

Installazione del software dalla sorgente

In alcuni casi, i moduli eseguibili delle applicazioni possono essere forniti come archivi tar-gz. In questo caso, l'installazione dell'applicazione è solo leggermente più complicata dell'installazione da un pacchetto rpm: è sufficiente espandere l'archivio e molto spesso è già possibile eseguire l'applicazione risultante. È un po' più difficile installare un'applicazione se è inclusa nel codice sorgente. Considereremo questo caso in questa sezione.

Elementi essenziali per la programmazione in C

Tanto per cominciare, il sistema operativo UNIX è nato contemporaneamente al linguaggio di programmazione C (C). Inoltre, il linguaggio C è stato creato appositamente per lo sviluppo di questo sistema operativo, una parte significativa di UNIX è stata scritta in C. Anche il sistema operativo Linux è scritto in C. Pertanto, e anche in accordo con il principio della libera distribuzione dei codici sorgente, molte applicazioni Linux sono distribuite sotto forma di testi in C. Naturalmente, affinché tale applicazione possa essere installata nel sistema ed eseguita per l'esecuzione, deve essere compilato. Il programma gcc viene solitamente utilizzato per eseguire procedure di compilazione (sebbene ci siano alcuni progetti alternativi).

Il compilatore GNU C, gcc, contiene 4 componenti principali, corrispondenti alle quattro fasi di conversione del codice sorgente in un programma eseguibile. Il primo componente è un preprocessore che modifica il codice sorgente del programma prima della compilazione secondo le istruzioni del preprocessore contenute nel programma C. Le sostituzioni di testo semplici vengono eseguite in base a questi comandi. Il secondo è il compilatore stesso, che elabora il codice sorgente e lo converte in codice in linguaggio assembly. Il terzo componente è un assembler che genera codice oggetto. Infine, il quarto componente è il linker, che costruisce un eseguibile da file di codice oggetto. Il punto è che i programmi di grandi dimensioni sono solitamente scritti in parti, come tanti file separati contenenti il ​​codice sorgente della parte corrispondente. Il compilatore elabora ciascuno di questi file separatamente e crea moduli oggetto separati (i file di tali moduli di solito hanno l'estensione .o). È compito del linker creare un singolo programma eseguibile da questi moduli. Con questo approccio, se un programmatore apporta una correzione a un modulo, non è necessario ricompilare l'intero programma: è sufficiente compilare il modulo corretto e riavviare il linker.

Il programmatore può utilizzare le funzioni delle librerie standard per eseguire operazioni standard. L'esempio più comune è la libreria libc, che contiene funzioni che eseguono attività come la gestione della memoria e l'I/O. I programmatori possono creare le proprie librerie e usarle quando scrivono nuovi programmi.

Le biblioteche sono statiche, condivise e dinamiche. Una libreria statica è una libreria il cui codice è incorporato in un programma durante la compilazione. Il codice della libreria condivisa non è incorporato nel programma, ma viene caricato in memoria contemporaneamente al programma e il programma accede alle funzioni di questa libreria. Le librerie dinamiche sono una sorta di librerie condivise, solo le funzioni di libreria vengono caricate in memoria solo quando la funzione corrispondente viene chiamata dal programma. Durante l'esecuzione del programma, possono essere scaricati e sostituiti da altre funzioni della stessa o di una libreria diversa. I nomi delle librerie statiche hanno solitamente il suffisso .a e i nomi delle librerie condivise hanno il suffisso .so seguito dai numeri di versione principale e secondaria. Il nome può essere qualsiasi stringa che identifichi in modo univoco la libreria. I nomi delle librerie di solito iniziano con lib. Esempi: libm.so.5 è una libreria matematica generale, libX11.so .6 è una libreria per lavorare con il sistema X Window. Libc.so.5 è collegato automaticamente, mentre la maggior parte delle altre librerie deve essere specificata esplicitamente sulla riga di comando quando si chiama gcc. Questo viene fatto tramite l'opzione -l seguita dalla parte univoca del nome della libreria, ad esempio, per chiamare una libreria matematica, è sufficiente specificare -lm.

Molte librerie di sistema si trovano nelle directory di sistema, come /usr/lib/ e /lib/, ma alcune potrebbero trovarsi anche in altre directory. Queste directory sono elencate nel file /etc/ld.so.conf. Ogni volta che la libreria condivisa viene modificata o reinstallata, è necessario eseguire il comando ldconfig per aggiornare il file /etc/ld.so.conf e i collegamenti ad esso. Se la libreria è installata da un pacchetto RPM, questa operazione viene solitamente eseguita automaticamente, anche se non sempre.

Quando si compilano programmi di grandi dimensioni che utilizzano pezzi di codice sorgente situati in file diversi, può essere molto difficile tenere traccia di quali file devono essere ricompilati e quali devono solo essere collegati. In questi casi, aiuta molto l'utilità make, che determina automaticamente se un file sorgente deve essere compilato, in base alla data dell'ultima modifica. L'utility make opera sui file in base alla loro dipendenza reciproca. Queste dipendenze sono definite da un file chiamato makefile. Una riga di un makefile ha tre parti: il nome del file di destinazione, l'elenco dei file da cui dipende e il comando. Se un file dell'elenco è stato modificato dopo il file di destinazione, viene eseguito il comando specificato nella riga. Diversi comandi possono essere specificati su una riga. In genere, un comando è una chiamata al compilatore per compilare un file sorgente o collegare file di codice oggetto. Le righe di dipendenza sono separate l'una dall'altra da una riga vuota.

Installazione di pacchetti software dalla sorgente

Ora che abbiamo una prima impressione di come vengono compilati i programmi C, possiamo passare a vedere come gestire i pacchetti software distribuiti come codice sorgente. La prima cosa da dire a questo proposito è che per installare tali pacchetti, è naturalmente necessario disporre del gcc e creare utilità sul proprio sistema.

Il processo di installazione del pacchetto effettivo consiste nei seguenti passaggi:

  1. Andare (con il comando `cd ') nella directory contenente i codici sorgente del pacchetto da installare.
  2. Esegui il comando `./configure", che configura il pacchetto in base al tuo sistema. Il processo di esecuzione di questo comando richiede molto tempo e il comando visualizza messaggi sullo schermo che indicano quali particolari funzionalità del sistema vengono testate.
  3. Eseguire il comando `make' per compilare il pacchetto.
  4. È quindi possibile eseguire (questo passaggio è facoltativo) il comando `make check', che invoca le routine di autotest fornite con il pacchetto.
  5. Eseguire il comando `make install' per installare programmi, file di dati e documentazione.
  6. Il passaggio finale è `make clean', che rimuove gli oggetti intermedi e i binari dalla directory dei sorgenti. Per rimuovere i file temporanei creati da `configura' (dopo i quali il pacchetto può essere compilato per altri tipi di computer), è necessario eseguire il comando `rendere dispulito".
Nella maggior parte dei casi, questa sequenza di comandi è sufficiente per installare un nuovo pacchetto.

Quanto spazio su disco è rimasto

Quando si installano nuovi pacchetti, molto spesso si presenta un problema ben noto a tutti gli utenti di computer: spazio su disco insufficiente. Pertanto, prima di installare un nuovo pacchetto, è necessario prima rispondere alla domanda se c'è spazio su disco sufficiente per ospitare questo software?

Il programma rpm consente di determinare quanto spazio è necessario per installare un pacchetto: per questo è necessario inviare una richiesta come rpm -qpi nome_pacchetto e nella riga Size vedrai quanti byte occuperà il pacchetto. Resta da scoprire se c'è così tanto spazio libero su disco.

Per determinare la quantità di spazio libero sul disco, puoi utilizzare il comando df. Se dai questo comando senza argomenti, ti dirà quanto spazio su disco è in tutti i file system montati, quanto è in uso e quanto è ancora libero. L'unità di misura è il blocco di 1 kilobyte. Se vuoi ottenere informazioni sulla quantità di spazio libero in megabyte più familiari, invia il comando con il parametro -h:

Df -h Le informazioni sulla quantità di spazio libero su un disco specifico possono essere ottenute specificando il nome del file del dispositivo come parametro: df -h / dev / hda2 ottiene dati sulla quantità di spazio utilizzato e libero nel file system contenente il file specificato (directory).

Se c'è ancora spazio, puoi procedere all'installazione del pacchetto. Peggio per i possessori di computer con dischetti piccoli: ogni volta bisogna pensare a come liberare spazio per un nuovo programma, cioè cosa si può cancellare dal disco. È possibile eliminare singoli file, ma, ovviamente, dal punto di vista dello spazio libero, è più efficiente eliminare intere directory o pacchetti.

I file (directory) vengono eliminati se non sono più necessari (i file che si trovano al loro interno). Naturalmente, le directory (oi file) del volume più grande vengono selezionate per la cancellazione, e qui il comando du (utilizzo del disco) si rivela utile.

Il comando du ti consente di sapere quanto spazio occupa un particolare file o sottodirectory. Per fare ciò, è necessario dare un comando nel seguente formato (nell'esempio scopriremo la dimensione della directory / usr / lib)

Du -ks / usr / lib Il risultato dell'esecuzione di questo comando sarà approssimativamente la seguente riga 91418 / usr / lib, il che significa che la directory / usr / lib è di 91418 kilobyte (l'opzione k indica che la dimensione deve essere visualizzata in kilobyte ). L'opzione s è stata specificata per visualizzare solo la dimensione totale della directory. Se lo ometti, otterrai dati sul volume di ogni sottodirectory e file nella directory specificata, e queste sono molte informazioni. Tuttavia, l'ultima riga mostrerà comunque il volume totale della directory, quindi se sei affascinato dallo sfarfallio delle linee sullo schermo, puoi concederti questo piccolo piacere.

Se sostituisci la S piccola con una S grande, verranno visualizzate solo le informazioni sulla dimensione delle sottodirectory (ma non i file), il che a volte è anche utile. Puoi scoprire altre opzioni di questi comandi nelle pagine man corrispondenti o usando il comando info.

Ora sai come determinare quanto spazio su disco occuperà un pacchetto installato e quanto spazio libero su disco. Considera cosa puoi fare se non c'è abbastanza spazio libero. Va notato che con un'installazione del sistema operativo Linux standard, sul disco viene generato un numero elevato di file di cui non avrai mai bisogno. Allo stesso tempo, è abbastanza difficile trovare quelli che non ti servono in un'enorme massa di file (soprattutto perché sono nascosti in profondità nella natura selvaggia della struttura della directory). Pertanto, descriverò brevemente la mia esperienza nel trovare file non necessari, sperando che questa esperienza sia utile al lettore.

Liberare spazio su disco

Una volta ho dovuto installare Linux (Black Cat 6.0) su un computer 486 con un disco rigido da 350 MB. Anche se durante l'installazione ho cercato di scegliere la configurazione software più bassa possibile, dopo che l'installazione è stata completata, il disco era pieno per più del 90%. Elencherò brevemente i passaggi che mi hanno permesso di liberare spazio su disco sufficiente per installare nuovi pacchetti.
  1. Il primo passo è pensare alla rimozione di alcuni dei pacchetti software installati durante l'installazione del sistema. Per decidere quale pacchetto o pacchetti rimuovere, impartire il comando:> rpm -qa --queryformat "% 15 (SIZE)% (NAME) \ n" | sort -nr% rpm -q -a> packages Il file dei pacchetti risultante conterrà un elenco di tutti i pacchetti software installati sul sistema. Questo elenco può essere analizzato per identificare i pacchetti che non ti servono e rimuoverli usando il comando rpm con l'opzione -e. Questo cancellerà tutti i file e le directory creati durante l'installazione del pacchetto. Questo metodo è il più sicuro, perché il programma rpm verificherà prima se il pacchetto fornito è utilizzato da qualsiasi altro programma e, se esiste una tale dipendenza, emetterà un avviso appropriato e si rifiuterà di rimuovere qualsiasi cosa.

    Ad esempio, nel file packages ottenuto in questo modo, ho trovato una menzione del pacchetto AfterStep-APPS-990329-2. Eseguendo il comando:

    % rpm -qi AfterStep-APPS ha scoperto che questo pacchetto contiene alcune applet per il window manager AfterStep. Dato che non utilizzavo un gestore del genere, ho rimosso questo pacchetto, così come il pacchetto AfterStep stesso, utilizzando i comandi:% rpm -e AfterStep% rpm -e AfterStep-APPS Questo ha liberato circa 5800 KB (noterò solo che il la rimozione dei pacchetti deve essere eseguita con i diritti di root -a). Usando questa tecnica, puoi rimuovere tutti i pacchetti che non usi. Ad esempio, ho rimosso pacchetti come gnome-core, gnome-libs, gnome-audio, poiché sto usando KDE come ambiente grafico. Nota che quando ho provato a disinstallare gnome-core, rpm si è rifiutato di farlo, dicendo che parte di questo pacchetto è utilizzato dal pacchetto xmms-gnome. Ancora più dipendenze non soddisfatte vengono generate quando si tenta di disinstallare gnome-libs. Tuttavia, poiché tutti i pacchetti menzionati in questi post erano in qualche modo correlati a Gnome, ho corso il rischio di rimuoverli tutti, così come altri pacchetti ad essi associati. Di conseguenza, sono stati liberati circa 7800 KB di spazio su disco.

  2. Esaminando la directory /usr/man, ho trovato due sottodirectory con pagine man in francese e spagnolo. Dopo averli eliminati, sono stati liberati circa 100 KB.
  3. Nella directory /usr/lib/kbd/keymaps, è possibile apparentemente eliminare le sottodirectory che memorizzano le tabelle delle mappe della tastiera destinate ad altri tipi di microprocessori e nelle sottodirectory /usr/lib/kbd/keymaps/i386 per i layout diversi da qwerty.

    Allo stesso modo, i layout di tastiera per le varie lingue che non usi vengono eliminati (perché ho bisogno del cinese o del tailandese, non conosco una sola parola!). Questi font si trovano nella directory /usr/lib/kbd/keymaps/i386/qwerty.

    Puoi provare a rimuovere i caratteri non necessari da / usr / lib / kbd / consolefonts, ma se all'inizio della tabella del layout della tastiera indichi quale lingua serve, allora devi giudicare lo scopo del file di caratteri dal suo nome.

    Poiché, per impostazione predefinita, il sistema installa strumenti di localizzazione per diversi paesi (che, a quanto pare, non avrai bisogno), puoi eliminare dalla directory / usr / share / locale tutte le sottodirectory corrispondenti alle lingue che non ti servono. In totale, ci sono circa 16 megabyte, quindi la rimozione di quelli non necessari può dare circa 15 megabyte di spazio liberato. La cancellazione delle directory /usr/share/i18n/locales e /usr/share/i18n/charaps può fornire anche più di 2 megabyte.

  4. La directory /usr/share/doc/HTML/ contiene sottodirectory con documentazione in varie lingue, la maggior parte delle quali probabilmente non è necessaria. Ho lasciato in questa directory solo tre sottodirectory en, ru default, quest'ultima è solo un collegamento alla sottodirectory en, quindi in effetti sono rimaste solo 2 sottodirectory. La rimozione di questa documentazione ha liberato circa 500 KB.

Prima o poi, dovremo installare software al di fuori dei repository ufficiali. Non tutti i pacchetti sono presenti e non sempre sono presenti le versioni più recenti dei programmi appena rilasciati. Molto spesso, gli sviluppatori pubblicano pacchetti per le distribuzioni più popolari sul loro sito Web ufficiale. Di solito sono deb e rpm. Quest'ultimo è leggermente meno comune, ma se stai usando una distribuzione basata su Red Hat, questo è il formato del pacchetto di cui hai bisogno. Inoltre in rete è spesso possibile trovare librerie e altri componenti che non si trovano nei repository sotto forma di pacchetti.

In precedenza abbiamo esaminato l'installazione di pacchetti deb su Ubuntu. E in questo articolo, verrà discussa in dettaglio l'installazione dei pacchetti rpm in Linux.

RPM o RPM Package Manager è un gestore di pacchetti utilizzato nelle distribuzioni Linux basate su Red Hat. Il formato file di questo gestore di pacchetti ha lo stesso nome.

Questo formato non è molto diverso dallo stesso Deb. Puoi vedere il loro confronto dettagliato nell'articolo che cosa. Qui, tieni presente che il file rpm è un normale archivio cpio, che contiene i file di programma stessi, nonché i metadati che descrivono dove devono essere installati. La base di tutti i pacchetti installati si trova nella directory /var/lib/rpm. Tra le particolarità, si può notare che rpm non supporta i pacchetti consigliati, né supporta né/o le dipendenze di formato.

Per gestire i pacchetti, proprio come nei sistemi Debian, c'è un'utility console di basso livello con lo stesso nome - rpm. Lo considereremo ulteriormente nell'articolo. Sistemi diversi usano gestori di pacchetti differenti, ad esempio Red Hat usa Yum, Fedora usa DNF e OpenSUSE usa zypper, ma tutti questi sistemi usano rpm.

Installazione di pacchetti RPM su Linux

Diamo prima un'occhiata alla sintassi dell'utility rpm stessa:

$ rpm -mode pacchetto di opzioni

L'utilità può funzionare in una delle modalità:

  • -Q- richiesta, ricezione di informazioni;
  • -io- installazione;
  • -V- controllo pacchi;
  • -U- aggiornare;
  • -e- cancellazione.

Consideriamo solo le opzioni di programma più interessanti di cui abbiamo bisogno in questo articolo:

  • -v- mostrare informazioni dettagliate;
  • -h- visualizzare la barra di stato;
  • --forza- eseguire l'azione con la forza;
  • --nodeps- non controllare le dipendenze;
  • --replacefiles- sostituire tutti i vecchi file con quelli nuovi senza preavviso;
  • -io- ottenere informazioni sul pacchetto;
  • -l- elenco dei file del pacchetto;

Ora che hai già un'idea di come lavorare con questa utility, puoi prendere in considerazione l'installazione del pacchetto rpm su Linux. Il comando di installazione più semplice sarà simile a questo:

sudo rpm -i nome_pacchetto.rpm

Per lavorare con il comando directory corrente, deve essere presente una cartella con il pacchetto. Qui impostiamo la modalità di installazione e passiamo il file del pacchetto. Se l'installazione ha esito positivo, l'utilità non visualizzerà nulla, se si verifica un errore, lo scoprirai.

Per visualizzare informazioni più dettagliate durante l'installazione, utilizzare l'opzione -v:

sudo rpm -iv nome_pacchetto.rpm

Puoi anche abilitare la visualizzazione dello stato della barra durante il processo di installazione:

sudo rpm -ivh nome_pacchetto.rpm

Per verificare se un pacchetto è installato, dobbiamo già utilizzare la modalità di richiesta:

sudo rpm -q nome_pacchetto

Puoi anche rimuovere subito il pacchetto se non ti serve:

sudo rpm -e nome_pacchetto

Ma rpm, come dpkg, ha un grosso svantaggio. Il programma non è in grado di risolvere le dipendenze. In assenza del pacchetto richiesto nel sistema, riceverai semplicemente un messaggio di errore e il pacchetto non verrà installato.

Per scaricare automaticamente le dipendenze durante l'installazione di rpm linux, è necessario utilizzare il gestore dei pacchetti di distribuzione. Diamo un'occhiata ad alcuni comandi per le distribuzioni RPM più popolari. Su RedHat e altre distribuzioni che usano Yum usa questo comando:

sudo yum --nogpgcheck localinstall nome_pacchetto.rpm

La prima opzione disabilita la verifica della chiave GPG e la seconda dice che installeremo il pacchetto locale. Fedora lo rende ancora più semplice con dnf:

sudo dnf install nome_pacchetto.rpm

Il gestore di pacchetti Zypper e OpenSUSE fanno altrettanto bene:

sudo zypper install nome_pacchetto.rpm

Ecco come è facile installare rpm con le dipendenze. Ma non a tutti piace lavorare nella console, molti nuovi utenti vogliono utilizzare un'interfaccia grafica per risolvere tutte le attività, inclusa questa. Di seguito esamineremo alcune di queste utilità.

Installazione del file RPM nella GUI

Se stai usando OpenSUSE, questo è molto semplice. Il configuratore di sistema universale YaST, tra le altre cose, consente di installare pacchetti rpm. Puoi farlo utilizzando il file manager, selezionando la voce del menu contestuale per il file aperto con Yast o eseguendo il comando:

yast2 -i nome_pacchetto.rpm

Su Fedora, puoi usare l'application manager della distribuzione per lo stesso scopo. In precedenza c'erano diverse utilità universali per risolvere questo problema, ma ora sono tutte obsolete.

conclusioni

Ora sai come installare il file rpm in Linux. In effetti, è molto semplice e c'è anche non solo un modo, ma diversi. Sebbene le utilità grafiche siano leggermente inferiori rispetto a Ubuntu. Ma mancano completamente le utilità della console. Se hai domande, chiedi nei commenti!

Principali articoli correlati