Guida a RPM

Ritratto di Anonimo

Buongiorno

Sperande di far cosa gradita, posto qui una piccola guida a RPM basata sulle mie modestissime conoscenze nonchè su varie informazioni che ho trovayo sul web Blum 3

RPM (Red Hat Package Manager) è stato uno dei primi, se non il primo, gestore di pacchetti mai creati per Linux. Il suo nome si deve alla Red Hat in., l'azienda statunitense nata nel 1995, che creò tale programma, per gestire files con estensione .rpm, formato la cui nascita va rntracciata sempre nell'opera di detta società.

il formato .rpm è un c.d. formato binario, poichè una volta aperto (eseguito) provvedein modo automatico all'installazione del software. Si distingue perciò dal "formato sorgente", che richiede prima l'estrazione dei files contenuti in esso, nonchè tutta una serie di operazioni necessarie per l'installazione dello stasso (la c.d. compilazione da sorgenti)

Esso, al pari di dpkg (usato da Debian), è un tool cd di "basso livello" in quanto calcola si le dipendanze, segnalando all'utenet le varie necessità, ma non le risolve, ossia non provvede all'acquisizione di eventuali pacchetti richiesti dall'installazione di un pacchetto rpm (donde appunto il nome "dipendenze")

Per risolvere il rpoblema dipendenze è stato tuttavia sviluppato un aposito tool, apt-get, (Advanced packaging tool) che però non supporta gli .rpm. Tuttavia tale problema ha trovato una soluzione grazie all'opera di Conectiva (una sompagnia software brasiliana) che svilupoò apt-rpm, una versione modificata del tool di debian in grado di lavorare con gli .rpm
Sono stati sviluppati poi altri tool in grado di risolvere automaticamente le dipendenze in sede di installazione/rimozione pacchetti come yum (yellowdog updater modified). Ma dato che a riguardo si potrebbe scrivere un libro, a chi volesse approfondire il discorso consiglio di documentarsi sul web Smile

I programmi per la gestione dei pacchetti in Linux , come gli altri programmi del sistema operativo, accettano varie opzioni, che, possono essere utilizzate sia nella forma estesa (es. --all) che nella forma abbreviata (-a). Consultare le pagine del manuale della propria distribuzione per maggiori dettagli.

Le informazioni relative alla struttura dei pacchetti installati, sulle distribuzioni GNU/Linux che adoperano il formato .rpm, sono memorizzate in file con formato db4 depositati nella cartella /var/lib/rpm

Una breve panoramica sui comandi, con alcune utili opzioni:

•installare un pacchetto

rpm -i (--nodeps) pacchetto.rpm

opzioni correlate:

--nodeps si usa per ignorare le dipendenze,

--force serve appunto a forzare l’installazione sovrascrive i files)

-–test fa sì che una volta finta l’installazione e mostra eventuali conflitti.

--hash mostra la barra di progresso dell'operazione

•aggiornare un pacchetto

rpm -U pacchetto

l’opzione --nodeps si usa per ignorare le dipendenze

•rimuovere un pacchetto

rpm -e pacchetto

opzioni che potrebbero tornare utili in caso di rimozione, sono:

-–allmatches: indica di rimuove TUTTE le occorrenze del pacchetto ed è utilizzata in caso di situazioni anomale in cui un pacchetto appare nell’elenco come installato più volte (con versioni differenti o con la stessa);

-–repackage: prima di rimuovere il pacchetto ne crea uno partendo dai file attualmente installati nel sistema (assorbendo quindi le eventuali modifiche effettuate). Il pacchetto creato verrà posto in /var/spool/repackage/

--nodeps: Eslude il controllo delle dipendenze prima della disintallazione

•fa una ricerca per il pacchetto nel database di rpm

rpm -q pacchetto

opzioni correlate:

--all per mostrare tutti i pacchetti installati

-–state per mostrare lo stato di un pacchetto

•Capire a quale pacchetto appartiene un determinato file

rpm -qf /etc/passwd

opzioni correlate

l’opzione -f specifica il file

l’opzione -q esegue una ricerca

•Stampare l’elenco dei files contenuti in un pacchetto

rpm -ql setup

l'opzione -l sta per list

•Ricostruire il database dei pacchetti:

rpm --initdb

o

rpm --rebuilddb

è possibile infatti che il database dei pacchetti in seguito ad anomalie o malfunzionamenti si corrompa non permettendo il regolare funzionamento del sistema di pacchettizzazione.

In questo caso è necessario cancellare i file esistenti e ricostruire il database con l’opzione --initdb, che provvede all'inizializzazione del database esistente,accertandosi che esso sia validamente costruito.

Invece se si utilizza -–rebuilddb verrà creato un nuovo database ex novo secondo gli headers dei pacchetti installati, utilizzando però come opzione --dbpath (ove sarà la directory da usare per il database), usando poi --root si specificherà di usare come la directory di livello superiore

OPZIONI GENERALI

-? o --helpMostra l'help esteso

--version Mostra il numero di versione di rpm attualmente in uso

--quiet Stampa a video meno messaggi possibile - normalmente verranno visualizzati solo i messaggi d'errore

-v o --verbose(verbose mode) verranno stampati i messaggi che indicano il progresso delle operazioni in corso.

eventuali correzioni (ove dovuto) e/o osservazioni sono ben accette, come sempre Biggrin

Ritratto di monsee

Bravo, Hell! Smile

Ritratto di hellraiser

monsee wrote:
Bravo, Hell! :-)

grazie Dirol

per qualcosa di ancor più dettagliato/approfondito:

http://www.miamammausalinux.org/2009/01/rpm-panoramica-ed-opzioni-partic...

Blum 3

Ritratto di hellraiser

inoltre, ho riportato una parte delle sopraccitate info, sulla relativa pagina di wikipedia!

Biggrin

Ritratto di Benzocaino

Nella pagina di Wikipedia manca l'agiornamento 2011.09

Ritratto di Manuel .

Visto che siamo in topic, ti andrebbe di darmi una mano a fare un rpm di makehuman, quando faremo la nuova release?