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

Comprensione delle versioni RPM e degli schemi di denominazione

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.

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.

Capire le versioni RPM

I campi RPM [versione] e [versione] non sono sempre strettamente numerici e possono contenere altri caratteri oltre alle normali cifre. È comune vedere sia una versione "10" che una versione "10a" dello stesso pacchetto. A volte scegliere la versione più recente può essere complicato. Ecco come lo stesso RPM confronta internamente i numeri di versione e di rilascio:

1. Rimuovere il prefisso [nome] e il suffisso “.[arch].rpm”. Ad esempio, "bash-3.1-16.1.x86_64.rpm ” diventa “3.1-16.1 " e "bash-3.1-16.5a.1.x86_64.rpm ” diventa “3.1-16.5a.1

2. Confronta le stringhe rimanenti carattere per carattere, da sinistra a destra finché non viene trovata una cifra. Se i caratteri differiscono, il carattere successivo nella sequenza di confronto è l'RPM più recente.

3. Quando si incontra una cifra, convertire l'intera sequenza di cifre in un unico numero binario. Nel nostro esempio, i due caratteri “16” sono combinati in un valore di sedici (16). I valori binari risultanti vengono confrontati e il valore maggiore è l'RPM più recente. Pertanto, un RPM con una [versione] di "0010" è più recente di uno con una [versione] di "9".

4. I passaggi 2 e 3 vengono ripetuti secondo necessità finché non si verifica una differenza.


Cent OS
  1. Come installare il repository RepoForge (RPMForge) su CentOS 5, CentOS 6 e CentOS 7

  2. Come installare Python su Ubuntu 20.04 e 18.04?

  3. Intestazione sqlite e versione sorgente non corrispondenti?

  4. Downgrade di un pacchetto rpm a una versione inferiore (usando il comando "rpm")

  5. Comprendere la versione efficace del kernel di Ksplice

Che cos'è la replica dei dati? {Tipi di replica e schemi spiegati}

Come scaricare e installare la versione server minima di CentOS 8

Come installare e abilitare EPEL Repo su CentOS 5, CentOS 6 e CentOS 7

Modificare la versione PHP e le impostazioni PHP in Plesk?

Comprendere l'etichettatura dei file di SELinux e il contesto di SELinux

Come modificare la versione di PHP in cPanel