Perché i repository di Ubuntu non hanno le ultime versioni del software?

127

Perché i pacchetti nei repository ufficiali di Ubuntu sono più vecchi delle versioni più recenti (upstream) di Debian Sid, PPA, gli autori, ecc.?

    
posta Thomas Ward 15.06.2012 - 16:20

7 risposte

111

Una versione di Ubuntu attraversa diverse fasi prima che diventi effettivamente pubblica come prodotto finito:

  • Qualche tempo prima che Ubuntu lanci una versione, blocca i suoi pacchetti a un certo punto.

  • Prima che venga rilasciato un rilascio ma dopo il blocco del pacchetto, il lavoro viene svolto principalmente per risolvere tutti i bug e i problemi che potrebbero esserci in quei pacchetti. Le nuove versioni dei pacchetti non vengono più importate negli archivi dopo il blocco o il blocco delle funzionalità.

  • Una volta che il rilascio ha luogo, ulteriori cambiamenti a questi pacchetti si verificano solo per problemi di bug fixing e sicurezza. Non ci sono altri aggiornamenti fatti sui pacchetti nel repository ufficiale anche se vengono rilasciate nuove versioni dei pacchetti.

La nuova versione di pacchetti viene costantemente importata (da Debian) per la prossima versione di Ubuntu, fino al prossimo blocco e lo stesso processo si ripete.

Ad esempio, puoi dare un'occhiata al programma di rilascio della 12.04 .

Puoi vedere che anche se 12.04 è stato rilasciato ad aprile, nel 12 gennaio qualcosa chiamato Debian Import Freeze successo.

Questo è solo il primo di molti stadi di congelamento che avvengono prima del rilascio effettivo e significa che a quel punto l'importazione di pacchetti da test Debian o fermate instabili e il lavoro inizia su di essi per personalizzare e risolvere i problemi con essi.

Dopo questo punto non sono stati effettuati aggiornamenti in molti pacchetti e la versione del pacchetto a quel punto è la versione presente e mantenuta per tutta la durata del rilascio.

Quindi, anche se ci sono versioni superiori dello stesso pacchetto nei PPA degli sviluppatori o nei repository di Ubuntu + 1 , questi saranno inclusi solo nella prossima versione di Ubuntu.

Questo è fatto per stabilità, sicurezza e funzionalità. I nuovi pacchetti di bleeding importati continuamente nel repository principale implicano problemi e molti più problemi da risolvere. Un blocco nella versione dei pacchetti aiuta a risolverlo e rende Ubuntu più sicuro e più stabile per l'utente finale.

Una nuova versione di Ubuntu viene rilasciata ogni 6 mesi, quindi ogni 6 mesi vengono preparati, testati, personalizzati e rilasciati nuovi pacchetti con una nuova versione. Le future versioni di un pacchetto possono essere installate nel tuo sistema tramite un PPA o semplicemente scaricandolo da un sito web, ma la versione del pacchetto nel repository ufficiale rimane la stessa.

Per maggiore comprensione e una panoramica interessante di ciò che è accaduto a Ubuntu dalla 10.04 fino al lancio di 12.04, dai un'occhiata a ReleaseSchedule - LTS a LTS e pagina Aggiornamenti di versione stabile per una panoramica completa e una spiegazione di una versione stabile di Ubuntu.

    
risposta data Bruno Pereira 15.06.2012 - 17:01
14

Due ragioni. Il primo è abbastanza ovvio: richiede a un umano di trascorrere del tempo aggiornando il pacchetto quando esce un nuovo upstream. Il secondo è che se si sta eseguendo una versione stabile rispetto alla versione di sviluppo corrente, i pacchetti NON sono intenzionalmente aggiornati, volenti o nolenti, per evitare rotture. Vedi link .

    
risposta data psusi 15.06.2012 - 16:27
13

I pacchetti sono congelati per il rilascio e non aggiornati successivamente per una serie di motivi. Se le nuove versioni sono state introdotte in post-rilascio, quindi la nuova versione ...

  • potrebbe portare nuovi bug, quindi regredire la funzionalità che era presente al momento del rilascio
  • richiede manodopera per confezionare, testare e caricare
  • ha bisogno del proprio set di aggiornamenti per la sicurezza
  • avrebbe bisogno di traduzioni aggiornate per la sua interfaccia utente
  • avrebbe bisogno di documentazione aggiornata (e traduzioni)
  • rende il supporto tecnico più impegnativo
  • potrebbe infastidire gli utenti che si sono abituati alle funzionalità nella vecchia versione
  • potrebbe richiedere nuove dipendenze che potrebbero interrompere altre app se sono state modificate nel repository
  • potrebbe interrompere altri pacchetti che dipendono da questo
  • può interrompere script utente, modelli, strumenti, ecc. creati per la vecchia versione

Tutto ciò che è stato detto, sii consapevole che ci sono casi in cui Ubuntu fa fa gli aggiornamenti completi delle versioni del software nel repository. Firefox per esempio.

Inoltre, c'è un repository ubuntu-backports che gli utenti possono scegliere quali pacchetti software di aggiornamento non causeranno problemi come quelli sopra elencati. Non è abilitato di default in modo che gli utenti debbano opt-in, fatto per eliminare la sorpresa di avere il tuo software cambiare da sotto di te. Inoltre, non ha un organico elevato e quindi non sono sicuro di quanto spesso i pacchetti ricevano aggiornamenti.

Inoltre, il team SRU ha aggiornato di recente un po 'le politiche che, si spera, renderanno un po' più semplice ottenere aggiornamenti del pacchetto solo per bugfix.

    
risposta data Bryce 20.06.2012 - 10:32
11

Normalmente gli aggiornamenti nelle versioni rilasciate di Ubuntu sono per la sicurezza e le correzioni di bug, esempi di tali bug includono:

  • Bug che possono, in circostanze realistiche, causare direttamente una vulnerabilità di sicurezza. Questi vengono eseguiti dal team di sicurezza e sono documentati in SecurityTeam / UpdateProcedures.

  • Bug che rappresentano gravi regressioni dalla versione precedente di Ubuntu. Questo include pacchetti che sono totalmente inutilizzabili, come essere disinstallabili o in crash all'avvio.

  • Bug che possono, in circostanze realistiche, causare direttamente una perdita di dati dell'utente Bug che non rientrano nelle categorie precedenti, ma (1) hanno una patch ovviamente sicura e (2) influenzano un'applicazione piuttosto che pacchetti di infrastrutture critiche (come X.org o il kernel).

  • Per le versioni di supporto a lungo termine vogliamo regolarmente abilitare il nuovo hardware. Tali modifiche sono appropriate a condizione che possiamo garantire di non pregiudicare gli aggiornamenti sull'hardware esistente. Ad esempio, le modalias dei driver introdotti di recente non devono sovrapporsi ai driver forniti in precedenza. -Nuove versioni del software commerciale nell'archivio partner Canonical.

    -FTBFS (Fails To Build From Source) può anche essere considerato. Si noti che in generale il processo di rilascio garantisce che non ci siano binari che non sono stati creati da una fonte corrente. Di solito questi bug dovrebbero essere SRUed in combinazione con un'altra correzione di bug.

    -Per le nuove versioni upstream di pacchetti che forniscono nuove funzionalità, ma non correggere bug critici, è necessario richiedere un backport.

Tratto dall'eccellente pagina wiki StableReleaseUpdates .

    
risposta data pl1nk 13.06.2012 - 19:38
11

Cercherò di rispondere alle tue domande sulla base delle mie esperienze passate dai forum di ubuntu e dal pianeta ubuntu.

Credo che mi stia chiedendo come vengono aggiornati i repository apt e da chi.

I repository APT vengono aggiornati dal team di packaging di Ubuntu. Il team di packaging ottiene tutti i pacchetti upstream dagli sviluppatori che eseguono un test iniziale di imballaggio e altre cose. Quindi il team di test esegue il test finale dando un segnale di go. Ma il team di confezionamento e i team di test sono molto cauti riguardo alle dipendenze e ai suoi effetti sul sistema stabile.

Quando c'è un ritardo, è perché lo sviluppatore non ha spinto la versione più recente sul server pertinente?

Se vedi le modifiche a monte, ci sono migliaia di sviluppatori che vogliono spingere i loro pacchetti. Ma non tutti sono riusciti nel flusso principale questo perché per vari motivi. Si assuma l'applicazione Gedit, una versione 2.2 è adatta e funziona bene con Dbus 2.1 e Gtk 2.4, ecc. Dove la versione Gedit 2.4 (molto nuova) ha bisogno di Gtk 2.5 e Dbus2.3 per funzionare. Ora il team di testing e packaging (anche il team di rilascio) non lo accetta perché la modifica di un sistema esistente con vecchi dbus e gtk con il nuovo rompe ogni altra cosa. Spero che tu abbia capito il senso della dipendenza.

C'è ancora molto lavoro da fare per lo sviluppatore per ottenere il rilascio in un modulo che il repository può usare?

Non al canale upstream. Ma per il canale di rilascio sì :).

P.S: Potrebbero esserci un po 'di cambiamenti nel processo ora nel canonico rispetto a quello spiegato sopra. Ma è più o meno lo stesso.

    
risposta data Zenwalker 13.06.2012 - 19:46
6

La risposta accettata nel link fossfreedom pubblicata come commento è molto buona.

In generale, le versioni dei pacchetti rilasciate dopo la prima parte del processo di sviluppo della nuova release non compaiono nei repository principali di quella release, in modo che una versione affidabile di Ubuntu possa essere testata a fondo.

Potresti scoprire che alcuni pacchetti sono rilasciati nel repository dei backport se sono incorporati con successo in una futura versione di Ubuntu e se gli sviluppatori credono che funzionerà anche con quelli precedenti. I backport possono essere attivati ​​e disattivati ​​nel Software Center (Edit- & gt; Software Sources- & gt; Updates Tab- & gt; Updates non supportati)

    
risposta data John S Gruber 30.06.2012 - 00:58
-3

La risposta non è completa.

Ci sono alcuni pacchetti, che possono essere installati in una versione di backport da Software Center. Nella parte destra della finestra, a sinistra del pulsante Installa / Cambia, c'è una casella di selezione in cui puoi cambiare la versione.

Exempli gratia: il valore predefinito conky è ora 1.8.x e tu hai lì 1.9.0 (precise-backports) come backport. Ovviamente, i backport dovrebbero essere abilitati per la prima volta.

Fonte: link

EDIT: come indicato di seguito, non tutti i pacchetti hanno un backport, ma potresti avere un accesso anticipato a volte se sei abbastanza fortunato.

    
risposta data Benjamin 27.06.2012 - 01:48

Leggi altre domande sui tag