GNU/Linux >> Linux Esercitazione >  >> Cent OS

Guida per principianti alla gestione del software Linux con RPM

Manutenzione del software tramite RPM (Red Hat Package Manager)

RPM è un potente software manager che può essere utilizzato per creare, installare, interrogare, verificare, aggiornare e disinstallare singoli pacchetti software. Un pacchetto RPM è costituito da un archivio di file e informazioni sul pacchetto come nome, versione, una descrizione e informazioni sulle dipendenze da altri pacchetti RPM.

RPM è più di uno strumento specifico di Red Hat. Anche molte altre distribuzioni moderne, come Ubuntu e SuSE, utilizzano RPM. I vantaggi dell'utilizzo di RPM includono:

  • Distribuzione, installazione, aggiornamento e rimozione semplificate del software
  • Garantisce che:
    • Il software prerequisito è installato sul sistema.
    • Le versioni del software prerequisito rimangono compatibili.
    • I file di configurazione modificati localmente non vengono clonati quando l'RPM viene aggiornato.
    • I file di configurazione modificati localmente vengono salvati con un suffisso ".rpmsave" se il pacchetto viene successivamente eliminato.
  • Consente la certificazione che il software installato non è stato alterato, modificato, corrotto o modificato in alcun modo.

RPM conserva le informazioni sui pacchetti installati nella directory "/var/lib/rpm". I componenti dello strumento RPM sono:

  • Un database personalizzato contenente informazioni su tutto il software installato sul sistema, raccolte dai singoli RPM.
  • Un eseguibile "/bin/rpm".
  • Repository accessibili tramite Internet dei pacchetti RPM disponibili.

Tipi di pacchetti RPM

I pacchetti RPM sono di due categorie:
1. fonte
2. binario

RPM sorgente

Un RPM sorgente può sempre essere riconosciuto perché il nome del file termina con la stringa “.src.rpm”. In un RPM sorgente non ci sono solo i file del codice sorgente del programma originale, ma gli script che consentono al codice di essere ricompilato automaticamente, installato automaticamente e rimosso automaticamente. Non sono presenti file eseguibili dell'utente finale in un RPM di origine. Di solito, solo gli sviluppatori sono interessati a un RPM sorgente.

RPM binario

Un RPM binario contiene i componenti dell'utente finale di un RPM. I nomi dei file RPM binari identificano l'architettura host per i contenuti. Ad esempio, il file RPM binario:

bash-3.1-16.1.x86_64.rpm

– contiene file utilizzabili solo su una CPU con architettura Intel X86 a 64 bit. Altri valori di architettura comuni includono "i386" per host Intel a 32 bit. Alcuni RPM binari possono essere installati su qualsiasi architettura CPU perché i loro file funzioneranno su qualsiasi host; un esempio di questi pacchetti “.noarch.rpm” è l'RPM “tzdata” che contiene informazioni sui fusi orari mondiali. Per aggiornare il tuo sistema all'ultima versione di un pacchetto, avrai bisogno dell'RPM binario più recente.

Schema di denominazione degli RPM

Ogni pacchetto RPM è contenuto in un unico file. Il nome del file ha diversi campi per identificare completamente il contenuto del pacchetto. Sebbene gli strumenti RPM stessi non si basino sul nome del file stesso, dovresti comprendere la convenzione del nome del file per aiutarti a identificare o scaricare il pacchetto corretto.

Ecco un esempio di nome file RPM:

bash-3.1-16.1.x86_64.rpm

Questo RPM è per la shell BASH ("/bin/bash"). Il nome del file è composto da più parti:

[name]-[version]-[release].[arch].rpm

dove:

  • [nome] è il nome del programma o del pacchetto. Il [nome] viene solitamente assegnato dall'autore del programma. Nel nostro esempio, gli sviluppatori hanno deciso di chiamare il loro prodotto "bash" per ragioni che sembravano loro divertenti.
  • [versione] identifica quale edizione del software contiene questo RPM. Il numero [versione] è assegnato dall'autore del programma. L'utilizzo del numero [versione] consente di determinare quale versione dei sorgenti dell'autore è stata utilizzata per generare l'RPM.
  • [rilascio] fornisce il numero di edizione del file RPM stesso e non la versione dei file sorgente dell'autore. Un RPM aggiornato può essere rilasciato per fornire una versione patchata del software originale dell'autore. Non è necessario che la patch provenga dallo sviluppatore originale, quindi l'RPM [release] viene incrementato invece della [versione].
  • [arcata] descrive il contenuto dell'RPM e indica se questo file contiene l'origine del prodotto (un ".src.rpm"), file indipendenti dall'architettura (un ".noarch.rpm") o file che possono essere installati solo su un particolare host tipo (un ".sh.rpm" funzionerà solo su un processore incorporato STRONGHOLD).
Nota :la [versione] è controllata dall'autore originale e la [versione] è controllata da chi ha costruito l'RPM.

Installazione e rimozione di file

Di solito è possibile installare solo una [versione] o una [versione] di un RPM alla volta. Le versioni successive vengono solitamente installate utilizzando la funzione RPM "-U" (aggiornamento) anziché la funzione RPM "-i". Eccezioni comuni all'unica regola RPM sono gli RPM del kernel. Un sistema ha comunemente diverse versioni di kernel installate; RPM ha un elenco di quali RPM possono avere più versioni installate. Per eliminare una versione quando ne sono installate diverse, è necessario specificare completamente il nome e la versione del pacchetto.

Sull'architettura x86_64, è comune avere entrambi i pacchetti RPM ".i386" a 32 bit e ".x86_64" a 64 bit installati per supportare applicazioni sia a 32 bit che a 64 bit. Normalmente, RPM non mostra l'architettura di un pacchetto su una query, ma puoi visualizzarla manualmente.

Installazione e rimozione

  • rpm -i o -installa ### (installa nuovo RPM; errore se già installato)
  • rpm -U o -upgrade ### (elimina l'RPM esistente, se presente; installa il nuovo)
  • rpm -F o –freshen ### (aggiorna RPM solo se il pacchetto è già installato)
  • rpm -e o -cancella ### (rimuovi, elimina, elimina)

Opzioni comuni

  • Risultato :-v (verboso – nome del file), -h (cancelletto)
  • Prerequisiti :–nodeps, –replacefiles, –force (ATTENZIONE QUI!!!)
  • Trasloco :–excludepath, –prefix, –relocate, –badreloc, –root
  • Supporto URL :ftp, http

Esempi:

rpm -ivh binutils-2.11.90.0.8-12.i386.rpm
rpm -Uvh finger-0.17-9-i386.rpm
rpm -Fvh ftp://updates.redhat.com/current/i386/*.rpm
rpm -e diffutils
rpm -e kernel-enterprise-2.4.9-e.12

Suggerimenti e trucchi

– Mai, mai, utilizzare l'opzione “-U” per installare un nuovo RPM del kernel.
– La funzione di aggiornamento “-U” elimina prima l'RPM corrente dal sistema e poi tenta di installare il nuovo RPM. Qualsiasi problema che impedisce l'installazione del nuovo RPM lascerà il sistema non avviabile. Questo non è quello che vuoi, quindi usa sempre l'opzione "-i" per installare un RPM del kernel.

Esempi di comandi RPM per interrogare, installare, rimuovere e aggiornare i pacchetti

Query (pacchetti e/o informazioni)

Utilizzare una query per informazioni sui pacchetti installati. È possibile eseguire query su tutti i pacchetti installati o su un singolo pacchetto installato. Puoi anche scoprire quale RPM fornisce un particolare file.

  • rpm -q [pacchetti] [informazioni]
  • rpm -qa
  • rpm -q nome_pacchetto
  • rpm -qf [nome file]
  • rpm -qp [nome file pacchetto]

Informazioni

predefinito (nome pacchetto)
-i :informazioni generali
-l :elenco file

Esempi:

rpm -qa
rpm -q kernel -i (information)
rpm -q kernel -l (files contained in package)
rpm -q kernel --requires (prereqs)
rpm -q kernel --provides (capabilities provided by package)
rpm -q kernel --scripts (scripts run during installation and removal)
rpm -q kernel --changelog (revision history)
rpm -q kernel -queryformat format (rpm --querytags for list of options)

Suggerimenti e trucchi

– Durante la ricerca di un particolare pacchetto RPM quando il nome esatto non è noto, una pipeline di comandi come:

$ rpm -qa | grep foo

è comunemente usato. Le versioni successive dello strumento RPM consentono di farlo in modo succinto come:

$ rpm -qa '*foo*'

Query – Verifica (file)

Il database RPM contiene molti attributi su ogni singolo file installato da un RPM. È possibile verificare lo stato corrente del file rispetto alle informazioni catalogate da RPM al momento dell'installazione del pacchetto.

  • rpm -V nome_pacchetto
  • rpm -Va (verifica tutto)
  • rpm -Vf (nome file)
  • rpm -Vp (nome file pacchetto)

Molte distribuzioni Linux includono un "prelink ” RPM che tenta di ridurre il tempo necessario per avviare un'applicazione utilizzando una libreria condivisa (la maggior parte delle applicazioni utilizza almeno una libreria condivisa e potenzialmente dozzine) aggiungendo informazioni speciali direttamente nel file di programma di un'applicazione.

L'aggiunta di queste informazioni rende le applicazioni più veloci, ma le modifiche ai file invalidano la maggior parte degli attributi del file nel database RPM, come la data dell'ultima modifica del file, la dimensione del file e il checksum MD5 del file.

Query – Verifica (pacchetti)

Di seguito sono riportate alcune query RPM per le verifiche dei pacchetti.

  • rpm -import /mnt/cdrom/RPM-GPG-KEY
  • rpm -q gpg-pubkey
  • rpm – checksig m4-1.4.1-11.i386.rpm

Esempi:

rpm -qf /path/filename (what package owns filename)
rpm -qf /path/filename -i (what does it do)
rpm -qp m4-1.4.1-11.i386.rpm -l (files in m4)
rpm -qp m4-1.4.1-11.i386.rpm --requires (prereqs needed to install m4)
rpm -q --whatprovides glibc.so (what package provides requisite library)


Cent OS
  1. Comando RPM Linux con 10 esempi utili

  2. Lavora con i file ZIP in Linux

  3. Guida per principianti alla configurazione del modulo del kernel in Linux

  4. Guida per principianti allo scambio di gestione dello spazio in Linux

  5. Come risolvere i problemi di prestazioni su Linux - Guida per principianti

Come installare file RPM (pacchetti) su CentOS Linux

Comandi RPM in Linux con esempi

Gestione dei pacchetti Linux con YUM e RPM

Gestione file Linux dal terminale

Guida per principianti alla gestione degli utenti MySQL

lsof Command in Linux con esempi