Perché la maggior parte delle distro (diverse da Debian) raccomandano / richiedono una reinstallazione completa quando si aggiorna a una nuova versione?


10

Avendo trascorso gran parte della mia vita su Linux usando Debian, ho dato un'occhiata ad altre distro e sono davvero sorpreso dalla misura in cui non forniscono un aggiornamento regolare tra le versioni. Debian è aggiornabile all'infinito e ora ho aggiornato alcune delle principali versioni stabili.

Sto parlando di distribuzioni ben supportate come Fedora (e derivati), persino Ubuntu e derivati. Anche distribuzioni stabili orientate al server come CentOS.

È perché il sistema di gestione dei pacchetti Debian e gli script di aggiornamento dei pacchetti sono solo molto più avanzati di qualsiasi altra distribuzione abbia?

O la reinstallazione da zero su un aggiornamento di versione principale è solo un'idea migliore, indipendentemente dalla distribuzione?

Risposte:


6

È una combinazione di una serie di fattori.

La maggior parte delle distribuzioni utilizzano le versioni principali come momento per implementare cambiamenti significativi, a volte rompendo. Ad esempio, Fedora 15 ha aggiunto systemd e Ubuntu ha aggiunto l'avvio in 6.10. Debian è una distribuzione molto conservatrice in molti modi. Grandi cambiamenti di rottura sono disapprovati.

È una conseguenza di ciò, ad esempio, che i cicli di rilascio di Debian sono così distanti, poiché richiedono che ogni pacchetto importante sia modificato per soddisfare gli standard della nuova versione.

La tecnologia di gestione dei pacchetti di Debian non è superiore a quella di Fedora o Ubuntu (ovviamente, perché è la stessa di Ubuntu), ma Debian ha deciso, culturalmente, che avere un sistema di aggiornamento regolare è importante.


5
Più precisamente, hanno deciso che ciò che non si desidera in un server di produzione è reinstallarlo da zero per aggiornare il software su di esso.
Shadur,

Anche con Fedora, tuttavia, eseguendo un aggiornamento (versione singola) tramite l'installer , se possibile, proverai a DTRT rispetto alle modifiche dell'infrastruttura sottostante.
Ignacio Vazquez-Abrams,

1

Per essere più specifici, ho riscontrato problemi su molte distro durante gli aggiornamenti. Ubuntu Ad esempio, cambia drasticamente la sua base di pacchetti installata tra le versioni. Se esegui il tradizionale "dist-upgrade", i pacchetti installati verranno aggiornati alle loro nuove versioni, ma il risultato finale è privo di nuove modifiche alla formazione. Se un pacchetto dall'installazione predefinita viene retrocesso, fino a "supportato" o peggio "non supportato", si conserva comunque quel pacchetto. Se un nuovo pacchetto si trova ora nell'installazione predefinita, non sarà installato. Anche se la tua versione è "tecnicamente" la versione aggiornata, non riflette la nuova esperienza di rilascio. Lo stesso caso è anche molto accurato, confrontando CentOS5 con CentOS6, hanno completamente riorganizzato i nomi dei loro imballaggi.

Debian dà la priorità agli aggiornamenti regolari, al costo di tali cambiamenti drastici. Questo è il motivo per cui Debian è più lento nelle nuove funzionalità, per la loro comunità il compromesso è accettabile. Per fare eco alla risposta precedente, non ha nulla a che fare con la tecnologia di gestione dei pacchetti in sé. Dirò, le costanti reinstallazioni di Ubuntu mi stanno consumando.


Ubuntu include uno strumento speciale per gli aggiornamenti che presumibilmente si occupa di più di un semplice aggiornamento dist. Ne sai di più ed è buono?
tr

1

Ciò che affermi non è vero per l'intera famiglia di distribuzioni a rilascio continuo .

Per un software di manutenzione del sistema, è molto più difficile risolvere i problemi di compatibilità tra pacchetti quando si aggiornano solo alcune parti del sistema o si mantiene la coerenza della configurazione durante gli aggiornamenti. Vari pacchetti software devono essere adattati per funzionare bene tra loro.

Questo è il motivo per cui la soluzione più semplice (ovvero la più affidabile con lo stesso impegno in termini di tempo di sviluppo ) per fornire un aggiornamento del sistema è preparare periodicamente una versione completa, completamente testata e completa dell'installazione. Le soluzioni aziendali come Red Hat sostengono che il cliente deve disporre di un sistema affidabile ed essere turbato interrompendo gli aggiornamenti il ​​più a lungo possibile. (Naturalmente, aggiornamenti minori e correzioni di bug devono essere disponibili o addirittura estratti automaticamente). Questa è anche la filosofia generale alla base delle distro server gratuite come CentOS.

Fornire all'utente finale un percorso di aggiornamento continuo tra le versioni è una grande sfida per gli sviluppatori di sistema. Molte distro scelgono di non sacrificare il loro scarso tempo per questo. Molti pacchetti popolari (come QT per esempio) sono difficili da aggiornare, spesso richiedono una reinstallazione completa. Ciò che è ancora più importante, molti progetti mostrano una diminuzione dello sforzo di sviluppo o sono sostituiti da nuove tecnologie. Nel caso di pacchetti di sistema, ciò richiede spesso una riprogettazione significativa del sistema. Le procedure di migrazione possono essere particolarmente difficili da implementare se devono tenere conto del fatto che alcune persone vorranno passare dalla versione C alla D, ma altre passeranno dalla forma B o dalla A o da un qualche stato personalizzato nel mezzo.

Quindi, come avrete già intuito, l'approccio più impegnativo è il rilascio progressivo. Non conosco i dettagli dell'approccio di Debian, ma dalla tua descrizione vedo che sono da qualche parte nel mezzo.


Debian supporta completamente gli aggiornamenti dalla versione precedente alla versione corrente. Poiché sono distanti tra 2 o 3 anni, coinvolgono importanti transizioni come glibc, KDE da 3 a 4, il prossimo Gnome da 2 a 3, ecc. Dici che alcuni pacchetti sono difficili da aggiornare e devono essere reinstallati - questo è ciò che è noto all'interno di Debian come una "grande transizione", eppure il loro gestore di pacchetti è perfettamente in grado di gestirli e li testano e li supportano completamente per gli utenti finali. Penso che abbia molto più a che fare con la mentalità di quanto affermi - Debian crede che sia il modo giusto di farlo, quindi lo fanno accadere.
trr
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.