In breve : apt-get install
fa tutto ciò che è necessario affinché il sistema possa eseguire correttamente la nuova applicazione software installata.
Versione più lunga:
Preliminari:
Dalla manpage :
Tutti i pacchetti richiesti dai pacchetti specificati per l'installazione verranno anche recuperati e installati.
Tali pacchetti sono archiviati in un repository nella rete (internet). Quindi, apt-get
scarica tutti i pacchetti necessari in una directory temporanea ( /var/cache/apt/archives/
). Verranno scaricati da un server Web o ftp. Sono specificati nel cosiddetto sources.list
; un elenco di repository per il gestore pacchetti apt. Da quel momento in poi, vengono installati uno per uno in modo procedurale.
I primi da installare sono quelli che non hanno ulteriori dipendenze; quindi nessun altro pacchetto deve essere installato per funzionare correttamente. In questo modo, altri pacchetti (che in precedenza avevano dipendenze) non hanno più dipendenze. Il sistema continua a ripetere questo processo fino a quando non vengono installati i pacchetti specificati.
Ogni pacchetto viene sottoposto a una procedura di installazione.
Procedura di installazione del pacchetto:
Nelle distribuzioni Linux basate su Debian, come Ubuntu o Mint, quei pacchetti sono in un formato standardizzato specificato chiamato: deb -> Il formato del pacchetto binario Debian .
Tale pacchetto contiene i file da installare sul sistema. Inoltre contengono un file di controllo . Tale file contiene script che il sistema di packaging dovrebbe eseguire in una situazione specifica; i cosiddetti script del manutentore . Tali script sono suddivisi in:
preinst
: prima dell'installazione dei file nella gerarchia dei file di sistema
postinst
: dopo l'installazione
prerm
: prima della disinstallazione
postrm
: dopo la disinstallazione
Tali script sono il luogo in cui vengono creati utenti specifici o alcuni servizi che devono essere riavviati o altri preliminari necessari per il funzionamento del pacchetto.
Oltre a questi script, il sistema di pacchetti ha trigger che sono destinati a eventi specifici. Ad esempio, la rigenerazione di initrd durante l'installazione di una nuova versione del kernel o ldconfig o man-db. Sono attivati da uno o più pacchetti ed eseguiti al termine dell'intero processo di installazione.
C'è un'immagine interessante, che mostra la procedura di installazione di un nuovo pacchetto:
Esistono anche più file di controllo, i più importanti sono i seguenti:
Se sei interessato, puoi decomprimere un pacchetto deb (dopo il download) manualmente e guardare cosa c'è dentro:
# to only download the package (no installation)
apt-get download package
# to unpack the deb file
ar x package.deb
Ora vedi un file chiamato data.tar.gz
contenente i file e un file chiamato control.tar.gz
contenente i quattro script del manutentore e i file di controllo sopra menzionati.
dpkg-deb -x package.deb
invece diar x package.deb
, poichédpkg
è il gestore di pacchetti deb ufficiale (su cui viene usato apt-get).