aboutsummaryrefslogtreecommitdiff
path: root/guides/repository/02-funzionamento.rst
blob: 9d609612a5497ac9e2c9d0b39a39000566c82211 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Repository e distribuzioni
==========================

Quando si "installa Linux", si sta generalmente installando una 
distribuzione, ovvero l'insieme di un sistema operativo GNU/Linux, 
un'interfaccia utente e dei programmi applicativi che girano sullo 
stesso.

Parte integrante di una distribuzione sono i cosidetti repository, 
ovvero delle raccolte di software in pacchetti di formato specifico 
e pronti per l'installazione, come ad esempio .deb per Debian 
ed Ubuntu, o .rpm per Fedora.

L'accesso principale a questi repository avviene generalmente 
tramite un gestore di pacchetti, ovvero un insieme di programmi 
in grado di gestire ricerca, download, installazione e 
rimozione di tali programmi; alcuni esempi sono apt-get e i 
suoi *front-end* per i .deb o yum per i .rpm.

Le distribuzioni offrono generalmente diversi repository a cui 
accedere tramite gestore di pacchetti; generalmente viene fatta 
una distinzione tra programmi di base, sui quali si effettua 
la maggior parte dei test, e programmi aggiuntivi, meno controllati.
Ad esempio ubuntu suddivide i programmi in main ed universe.
Un altro repository potrebbe poi contenere programmi scaricabili 
e distribuibili, ma con restrizioni di licenza che li rendono 
non liberi, ad esempio restricted e multiverse di ubuntu, 
o non-free di debian.

È poi possibile installare programmi di terze parti, sia tramite 
repository non ufficiali che tramite download diretto del pacchetto; 
questo può però comportare rischi maggiori, e richiede accortezza 
nel verificare l'origine del programma e la sua compatibilità 
con il resto del sistema.

Versioni ed aggiornamenti
-------------------------

La gestione delle versioni dei programmi e librerie presenti nei 
repository è poi uno dei punti nei quali si 
notano maggiori differenze tra una distribuzione e l'altra. 

Innanzitutto si ha la distinzione tra *rolling release* e 
*versioned release*: la prima consiste nell'aggiornare continuamente 
i pacchetti indipendentemente gli uni dagli altri, la seconda 
nel rilasciare periodicamente nuove versioni nelle quali si aggiorna 
tutto il sistema e limitarsi a bugfix ed aggiornamenti di sicurezza 
tra una release e l'altra.

Il sistema a versioni offre in generale maggiore stabilità, 
dato che gli aggiornamenti vengono testati prima di essere rilasciati 
al pubblico, ed è usato dalle distribuzioni più diffuse come 
Debian, Fedora ed Ubuntu; il suo principale svantaggio è il ritardo 
con cui si hanno a disposizione le nuove versioni dei pacchetti, soprattutto 
per quello che riguarda programmi dallo sviluppo molto rapido.

Il sistema delle *rolling release*, al contrario, permette di avere 
un sistema sempre aggiornato, al prezzo di tollerare eventuali 
problemi in fase di installazione delle nuove versioni: per 
questo motivo viene usato praticamente solo in distribuzioni 
per smanettoni come Gentoo o Arch, i cui utenti non hanno problemi 
ad incontrare e risolvere malfunzionamenti anche gravi.

Un ulteriore distinzione sta nella frequenza e nella gestione dei rilasci 
di nuove versioni: distribuzioni come Ubuntu e Fedora stabiliscono 
un calendario abbastanza rigido nei quali i sei mesi di intervallo 
tra una versione e l'altra sono suddivisi in una fase di sviluppo in 
cui cercare di aggiungere nuove funzionalità ed una fase di testing 
nella quale risolvere i problemi, eventualmente rinunciando a 
quanto non è stato possibile far funzionare in tempo.
Distribuzioni come Debian, al contrario, basano la suddivisione tra 
le fasi in base alle funzionalità: quando lo sviluppo ha raggiunto gli 
obiettivi che ci si era prefissi lo si blocca e si passa alla fase 
di testing e risoluzione dei problemi, quando infine tutti i bug 
importanti sono stati chiusi si procede con il rilascio.
Anche qui si ha un compromesso tra maggiore regolarità ed aggiornamento 
nel primo caso e maggiore stabilità nel secondo.

Un ultima distinzione si ha infine nella durata del supporto per le versioni 
rilasciate in passato: se ad esempio Fedora fornisce aggiornamenti 
di sicurezza solo per l'ultima versione, Ubuntu le mantiene 
da 9 mesi a 5 anni, a seconda delle versioni e Debian offre supporto 
fino ad un anno dopo l'uscita della versione stabile successiva, 
in modo da venire incontro anche alle esigenze di sistemi server, 
dove gli aggiornamenti possono causare problemi maggiori.