Perché `do-release-upgrade` salta una versione?


14

Ho risposto a questa domanda sul fatto di do-release-upgradenon consentire un aggiornamento dal 14.10 al 15.04 solo al 15.10, supponevo fosse dovuto alla fine del ciclo di vita del 15.04.

Un utente (@xangua) ha pubblicato che non era possibile saltare una versione do-release-upgrade, quindi ho cercato queste informazioni eseguendo il comando sulla mia casella 14.04, ma è qui che è iniziata la confusione.

Il mio 14.04 vuole passare direttamente al 15.04?

Naturalmente questo invalida la mia risposta in quanto il 15.04 è la fine della vita, ma perché questo comando sembra saltare le versioni, se non basato sulla fine della vita?

Non ci sono indicazioni dal 14.10 in fase di download dall'aggiornamento e software-updaterdice che Ubuntu 15.04 è ora disponibile per il download, alcuni chiarimenti su questo sarebbe fantastico.


2
Non è normale che il sistema 14.04 desideri eseguire l'aggiornamento a 15.04, poiché questo non è supportato. Ad esempio, le note di rilascio per 15.04 menzionano solo l'aggiornamento dalla 14.10. Quando corro do-release-upgradesul mio sistema 14.04, dice "nessuna nuova versione trovata", come è normale dal momento che un sistema 14.04 poteva essere aggiornato solo a 14.10, ma 14.10 ora è EOL.
fkraiem,

1
Quindi ci deve essere qualcosa di anormale nel tuo sistema. Qual è la tua versione di ubuntu-release-upgrader-core?
fkraiem,

1
Non posso più fornire queste informazioni, che l'installazione è andata a causa di un pasticcio con il comando, la reinstallazione è stata più semplice della correzione degli errori causati dall'interruzione dell'aggiornamento.
Mark Kirby,

1
@fkraiem, in realtà, le versioni saltate sono supportate poiché i gestori del repository possono "scrivere" a modo loro.
Braiam,

Risposte:


12

La tua ipotesi originale era giusta. 15.04 è supportato fino al 04-02-2016, quindi do-release-upgradesta provando ad aggiornarti alla prossima versione supportata rispetto a quella che hai.

Ecco la descrizione della normale modalità di richiesta di aggiornamento da /etc/update-manager/release-upgrades:

Verifica se è disponibile una nuova versione. Se viene rilevata più di una nuova versione, l'upgrade della versione tenterà di eseguire l'aggiornamento alla versione immediatamente successiva alla versione in esecuzione.

Quindi, se sono su 14.04 dovrebbe provare a portarmi a 14.10, ma in questo momento do-release-upgradesta cercando di prendere l'OP (e io) a 15.04 invece.

Quindi leggendola /usr/lib/python3/dist-packages/DistUpgrade/MetaRelease.pysembra che saltiamo le versioni non supportate quando capiamo a quale versione aggiornare (a meno che tu non stia usando il flag di sviluppo):

    # then see what we can upgrade to
    upgradable_to = ""
    for dist in dists:
        if dist.date > current_dist.date:
            # Only offer to upgrade to an unsupported release if running
            # with useDevelopmentRelease, this way one can upgrade from an
            # LTS release to the next supported non-LTS release e.g. from
            # 14.04 to 15.04.
            if not dist.supported and not self.useDevelopmentRelease:
                continue
            upgradable_to = dist
            self._debug("new dist: %s" % upgradable_to)
            break

Dovrei aggiungere che non consiglio di provare a aggirare questo problema do-release-upgrade -d. Quando l'ho provato prompt=normal, ho ottenuto 404s, dal 14.10 è EoL. Penso anche che nel mio delirio ci abbia provato do-release-upgrade -p, che ha cercato di portarmi direttamente al 16.04. Quando mi sono reso conto che mi stava portando allo xenial, tutto era rotto e ho dovuto ripristinare dalla fabbrica. Alla fine ho deciso che aspetterò fino al 16.04 e farò una nuova installazione.


1
Hai qualcosa per sostenerlo o hai appena indovinato?
Ken Sharp,

1
Dettagli aggiunti. Stavo riscontrando lo stesso problema di OP.
mmaluff,

3
Solida risposta a una domanda che pensavo sarebbe caduta nell'oscurità :)
Mark Kirby,

2
Il comportamento descritto in questa eccellente risposta è ancora valido e si applica anche agli aggiornamenti tramite Software Updater e do-release-upgrade. Attualmente, i sistemi 16.04 LTS offrono automaticamente l'aggiornamento a 17.04 , e lo faranno direttamente , saltando 16.10 perché è fuori uso . Queste risposte trarrebbero beneficio da questa correzione o potrebbe essere pubblicata una nuova risposta che descriva pienamente il comportamento attuale. Vuoi pubblicare qualcosa?
Eliah Kagan,

5

do-release-upgrade non sa nulla delle "versioni saltanti". Scarica semplicemente il piano di aggiornamento dai manutentori del repository Ubuntu. Questo è specificato in README do-release-upgrade :

2) Lo strumento di aggiornamento deve essere in grado di scaricare informazioni aggiornate su come eseguire l'aggiornamento (ad es. Passaggi aggiuntivi come aggiornare prima alcune librerie)

Inoltre, nelle specifiche sugli aggiornamenti automatici :

Un file meta-release con informazioni sulle distribuzioni disponibili viene archiviato su un server centrale ed è testato If-Modified-Since su ogni esecuzione di Update-Manager. Se viene trovata una nuova versione, update-manager lo mostra visivamente.

Questo è ciò che consente a do-upgrade-release e qualsiasi altro strumento di aggiornarsi senza problemi.

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.