Introduzione alla gestione dei pacchetti in Linux

Introduzione alla gestione dei pacchetti in Linux
Tutti i sistemi operativi dipendono da una serie di applicazioni software per eseguire le attività previste dall'utente. All'inizio, le applicazioni sono state testate contro i bug prima del rilascio per fornire un'esperienza utente migliore. Ora l'applicazione del software viene rilasciata con l'intenzione di applicare le correzioni di bug in nuove versioni. Inoltre, ogni applicazione ha il suo aggiornamento o l'utente ha dovuto capire come ottenere il rilascio del software aggiornato.

Linux ha adottato le pratiche di gestione del software tempestiva creando formati di imballaggio, pacchetti software e strumenti di installazione unici. Questo articolo discute di come il processo di installazione del pacchetto software è stato aggiornato dall'installazione del pacchetto Tarball a Deb e RPM Package Management.

Tarball

La precedente aggiunta di software di Systems Linux ha richiesto all'utente di scaricare il codice sorgente, compilare in file binari e aggiungerlo al sistema. A volte il software è stato reso disponibile da alcuni utenti in una forma compilata nota come Tarball. Un tarball contiene più file tra cui, eseguibili, file di configurazione, documentazione e librerie. In modo tale che tutti i file siano compressi in un singolo file per una facile memoria e distribuzione.

Dopo l'installazione del software, i file si sono diffusi attraverso il sistema in directory pertinenti. Tuttavia, il metodo per creare Tarball può sembrare facile, ma il processo di installazione rende alcune attività difficili, ad esempio:

Richiede all'utente di rintracciare in modo indipendente/manualmente le dipendenze per il software di installazione in modo tale che il software dipendente abbia alcune dipendenze.

Poiché l'installazione del pacchetto Tarball distribuisce i file, non sarà facile individuare i file della documentazione e della configurazione del pacchetto anche se l'utente conosce i comandi.

È difficile individuare i file per disinstallare il software.

L'assenza di metadati in Tarballs lascia gli utenti confusi sui dettagli della versione dopo l'installazione. Ciò rende difficile tenere traccia dei bug e ottenere nuove versioni.

Per superare questi problemi, l'imballaggio software nelle distribuzioni Linux si è evoluta in due formati di imballaggio noti come packaging Deb e RPM.

Packaging Deb

Le distribuzioni Linux con sede a Debian e Debian utilizzano il packaging software Deb-Base. IL .I file DEB includono tutti i file pertinenti con metadati in un .formato di archivio AR. I metadati contengono tutti i dettagli del software pertinenti che coinvolgono versione, descrizione, dipendenze, licenze, ecc. Le distribuzioni Debian offrono più interfacce grafiche e strumenti basati sul terminale da gestire .file di deb. Alcuni di loro includono:

  • Apt: Strumento di imballaggio avanzato Ubuntu che fornisce un comando APT-get per cercare e gestire l'installazione del pacchetto.
  • Attitudine: Il comando è uno strumento di gestione dei pacchetti che fornisce un'interfaccia basata sul testo da eseguire all'interno del terminale. Esegue l'installazione del pacchetto, la rimozione e l'aggiornamento utilizzando i tasti freccia ed evidenziando l'opzione selezionata.
  • Ubuntu Software Center: È un'interfaccia utente grafica intuitiva per l'inizio degli utenti Linux che cercano e installano pacchetti.

Anche se Ubuntu Software Center è intuitivo, il sistema avanzato di gestione degli imballaggi supera tutti gli altri PM per il packaging Deb.

Packaging RPM

Il RPM (.RPM) Il formato di imballaggio è la preferenza di SUSE, Fedora e Red Hat e distribuzioni Linux a base di Rhel. Il pacchetto RPM è l'amalgama dei file per fornire un visualizzatore fotografico, un elaboratore di testi o altri software agli utenti di distribuzione RHEL. Contiene inoltre file di configurazione, metadati e altri documenti richiesti per creare il software.

Il Gestione pacchetti RPM combina binari e tutti i file richiesti disponibili tramite provider di software upstream in un pacchetto RPM. Prima di includere pacchetti nel repository, sono firmati in modo che gli utenti possano verificarne la validità. Ora l'utente può accedere a questi pacchetti per l'installazione dai repository inseriti all'interno di CDS o directory tramite Server NFS o FTP.

Il nome del pacchetto RPM racconta molto sul software. Ad esempio, digitare il seguente comando per scoprire i dettagli del pacchetto RPM attualmente installato di Firefox:

[fedora@fedora] $ rpm -q firefox
Firefox-87.0-12.FC34.x86_64
  • 87.0: rappresenta un numero di rilascio assegnato dal progetto Mozilla
  • 12: rappresenta il numero di volte in cui Red Hat ricostruisce il pacchetto con lo stesso numero di rilascio.
  • FC34.X86_64: rappresenta che il pacchetto è costruito e compilato per l'architettura Fedora Linux e X86 a 64 bit.

Per trovare ulteriori dettagli sul pacchetto, interrogare il database locale RPM utilizzando il comando RPM con l'opzione -Qi:

[Fedora@Fedora] $ rpm -Qi Firefox
Nome: Firefox
Versione: 87.0
Rilascio: 12.FC34
Architettura: x86_64
Data di installazione: ven 23 aprile 2021 06:58:19 EDT
Gruppo: non specificato
Dimensione: 261285879
Licenza: MPLV1.1 o GPLV2+ o LGPLV2+
Firma: RSA/SHA256, mar 13 aprile 2021 04:59:11 AM EDT, ID chiave 1161AE6945719A39
Fonte RPM: Firefox-87.0-12.FC34.src.RPM
Data di costruzione: lunedì 12 aprile 2021 04:56:26 EDT
Build host: buildhw-x86-10.iad2.Fedoraproject.org
Packager: progetto Fedora
Venditore: progetto Fedora
URL: https: // www.Mozilla.org/firefox/
URL BUG: https: // bugz.Fedoraproject.Org/Firefox
Riepilogo: browser Web Mozilla Firefox
Descrizione:
Mozilla Firefox è un browser Web open source progettato per gli standard
conformità, prestazioni e portabilità.

L'output di cui sopra rappresenta ora le date del pacchetto costruite e di installazione, dimensioni, licenze del gruppo di pacchetti Firefox e molti altri dettagli. Anche se RPM è stato il primo comando di strumento di imballaggio RPM per l'aggiornamento dell'installazione, la query, la rimozione del pacchetto, ecc., Ha alcuni svantaggi fondamentali.

Dipendenza Inferno: L'installazione del pacchetto RPM non riesce in assenza di dipendenze mentre racconta i componenti richiesti. Inoltre, il pacchetto dipendente stesso ha alcune dipendenze necessarie per svolgere il lavoro.

Posizione RPMS: Il responsabile dei pacchetti RPM prevede di ricevere la posizione del pacchetto prima dell'installazione. Se il pacchetto è disponibile nella cartella corrente, richiede un input di Firefox-87.0-12.FC34.x86_64.RPM, se è sul server, richiede http: // esempio.com/Firefox-87.0-12.FC34.x86_64.RPM.

Mentre a quel tempo, l'imballaggio software basato su Deb potrebbe risolvere automaticamente il problema delle dipendenze. Tuttavia, dopo la crescente popolarità dei pacchetti RPM, i problemi sono stati risolti con la struttura Yum.

Progetto Yum

La funzione Yum (YUM) Updater Modified (YUM) è stata introdotta per gestire le dipendenze dei pacchetti RPM considerando ciascun pacchetto RPM come parte di un grande repository di software. In modo tale che il problema di trattare le dipendenze sia per la distribuzione Linux o il software di terze parti.

Risolve i problemi con il concetto che i repository possono costruire l'uno sull'altro. Ad esempio, se un utente installa qualche pacchetto da RPMFusion.repository org, che richiede un comando/strumento dal repository principale di fedora, ha anche accesso a quello. Quindi, verrà scaricato e installato nel frattempo.

Conclusione

Gli articoli forniscono una breve storia di come si è evoluto il sistema di gestione dell'imballaggio Linux. Abbiamo discusso .deb e .Sistemi di imballaggio software basati su RPM per distribuzioni Linux basate su Debian e RHEL, i loro strumenti più comunemente utilizzati. Discutiamo anche dell'evoluzione dei sistemi di gestione dei pacchetti dai problemi affrontati durante le prime fasi di sviluppo.