LA GESTIONE DEI PACCHETTI INTRODUZIONE
La gestione dei pacchetti Nella giungla delle distribuzioni Linux c’è un concetto costante, ovvero il concetto di pacchetto. I pacchetti sono insiemi di file File di configurazione del pacchetto stesso (nome, descrizione, guida all’installazione) File contenenti il programma stesso e le eventuali librerie Script da eseguire prima dell’installazione e dopo l’installazione del pacchetto Questi hanno estensione deb. Esistono poi altri pacchetti speciali che contengono, se il software è open source, il codice sorgente I pacchetti rappresentano i diversi programmi installati su una distribuzione (chiariremo meglio questo concetto)
La gestione dei pacchetti è importante È importante perché rappresenta la struttura portante di una distro linux Per gestire i pacchetti esistono diversi strumenti Grafici (synaptic) Da riga di comando (apt) Parleremo di tutte e due Ci sono principalmente due gestori di pacchetti Rpm (Red hat , Open Suse) Apt (Ubuntu, Debian, Linux Mint)
Teoria: Che cos’è un pacchetto E’ l’unità base di un software in un sistema software a pacchetti. Un pacchetto può contenere al suo interno numerosi programmi e file che sono utili per l’esecuzione di tali programmi. Il pacchetto contiene anche i metadati del pacchetto, per esempio la descrizione del pacchetto e il suo contenuto. Il pacchetto è creato da una persona chiamato maintainer, può essere una persona che lavora per la ditta che produce il software, ma potrebbe essere semplicemente un volontario. Il maintainer si preoccupa che funzioni un po’ dappertutto in tutte le distro linux conosciute. Rilascerà diversi pacchetti a seconda delle diverse distribuzioni dell’ecosistema Linux.
Teoria: Repository La maggioranza dei pacchetti sono creati proprio dai maintainer della distribuzione, ma la maggioranza sono disponibile per tutte le distribuzioni Per esempio Libreoffice. I pacchetti sono raccolti in repository, ovvero grandi collezioni sicure e certificate online di migliaia di pacchetti mantenuti dal maintainer della distribuzione. Se l’utente di una distro non trova un pacchetto nei repository ufficiali di una distribuzione, può tramite comandi del terminale aggiungere un repository esterno che contiene tale pacchetto e potrà pertanto installarlo. N.B. Occorre fare attenzione ad aggiungere repository esterni, perché potrebbero contenere codice malevolo
Teoria: Dipendenze I programmi sono normalmente una composizione di diversi microprogrammi, normalmente di più basso livello. Le attività principali come la gestione della memoria, l’input e l’ouput sono gestiti da particolari programmi che sono condivisi dagli altri programmi. Questi programmi vengono chiamate librerie condivise. Se un pacchetto richiede una risorsa condivisa, significa che necessita di una dipendenza I package manager (tranne alcuni casi particolari, come GENTOO) si dice che risolvono le dipendenze, ovvero se un pacchetto richiede altri pacchetti per essere installato, installerà prima i pacchetti dipendenze e successivamente il pacchetto richiesto.
I pacchetti Debian Un pacchetto debian contiene molte informazioni, ma in questi video parleremo non di come sono fatti, ma di come si gestiscono pacchetti già realizzati Ha come estensione .deb I due programmi da linea di comando per gestire i pacchetti debian sono due Dpkg è il programma che gestisce i file deb, estrarre un pacchetto, lo analizza e lo scompatta. APT è un group di programmi che permettono l’esecuzione di operazioni ad alto livello alla distribuzione: Installare e rimuovere pacchetti (con la risoluzione automatica delle dipendenze) Aggiornare il sistema Cercare un pacchetto Vedere i pacchetti disponibili nei diversi repository configurati nel sistema C’è anche uno strumento grafico Synaptic
Nel prossimo video cominceremo a parleremo di DPKG MA PRIMA
Storia di Debian Debian è una distribuzione Gnu Linux Fondata da Ian Murdock nel 1993 Il nome Debian è una contrazione di Ian (il fondatore) e Debra (la sua fidanzata) E’ stata creata sotto la direzione della Free Software Foundation, Doveva avere due caratteristiche principali Qualità: stabile e creata con cura, con molta attenzione ai diversi rilasci del kernel Non commerciale, ma adatta a competere con le altre distribuzioni commerciali (come Red Hat)
Software libero: le 4 libertà essenziali Le quattro libertà essenziali Un programma è software libero se gli utenti del programma godono delle quattro libertà fondamentali: Libertà di eseguire il programma come si desidera, per qualsiasi scopo (libertà 0). Libertà di studiare come funziona il programma e di modificarlo in modo da adattarlo alle proprie necessità (libertà 1). L'accesso al codice sorgente ne è un prerequisito. Libertà di ridistribuire copie in modo da aiutare il prossimo (libertà 2). Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti da voi apportati (e le vostre versioni modificate in genere), in modo tale che tutta la comunità ne tragga beneficio (libertà 3). L'accesso al codice sorgente ne è un prerequisito. Tratto dal sito del progetto GNU