Come installare software o aggiornare da una vecchia versione non supportata?


386

Di recente ho installato una versione precedente di Ubuntu sul mio vecchio computer. Ogni volta che provo a installare qualsiasi software, viene visualizzato un errore che indica che non è stato possibile trovare:

$ sudo apt-get install vlc
Reading package lists... Done               
Building dependency tree       
Reading state information... Done    
E: Couldn't find package vlc

2
Potrebbe valere la pena modificare alcune (o tutte) le risposte a questa domanda, in quanto durante il fine settimana dopo aver trascorso un po 'di tempo cercando di fare questo lavoro ho dalla fortuna resi conto che essi hanno spostato da http://old-releases.ubuntu.com/ubuntu/a http://us.archive.ubuntu.com/ubuntu/(o la propria rispettiva di due lettere abbreviato contea codice all'inizio) a partire dalle 17.10 (essenzialmente in sincronia con il ritorno all'inizio dell'alfabeto).
Isti115,

Risposte:


534

I repository per le versioni precedenti non supportate (come 11.04, 11.10 e 13.04) vengono spostati su un server di archivio. Ci sono repository disponibili su http://old-releases.ubuntu.com .

Il motivo è che ora non è più supportato e non riceve più aggiornamenti e patch di sicurezza.

Vi esorto a prendere in considerazione una distribuzione supportata. Se il tuo computer è troppo vecchio in termini di memoria o processore, dovresti prendere in considerazione una distribuzione come Lubuntu o Xubuntu.

Se si desidera continuare a utilizzare una versione non aggiornata, modificare /etc/apt/sources.liste cambiare archive.ubuntu.come security.ubuntu.comin old-releases.ubuntu.com.

Puoi farlo con sed:

sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

quindi aggiorna con:

sudo apt-get update && sudo apt-get dist-upgrade

A volte, potrebbe essere più veloce creare backup del sistema e reinstallare utilizzando la versione supportata.

Fonte: posso continuare a utilizzare Ubuntu 9.04 se non è aggiornato?


Per eseguire l'aggiornamento a una nuova versione:

Dopo aver eseguito i passaggi precedenti per passare ai mirror delle versioni precedenti, aggiornare Update Manager e quindi do-release-upgrade:

sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade

Vedi anche EOLUpgrades - Community Help Wiki .


9
e, solo per completezza ... che dire del extrasrepository (per Skype ecc.)? Sono disponibili ovunque dopo EOF?
MestreLion,

2
un modo più semplice è sudo vi /etc/apt/sources.liste modificarlo manualmente. Ho dovuto farlo perché sono abbastanza nuovo e non so sed per far funzionare questo per karmico, grazie, la tua risposta è ancora valida e corretta.
Bhathiya-Perera,

18
Un modo ancora più semplice è sudo nano /etc/apt/sources.list, come vi*è solo fastidioso ...
Wilf

4
Il sedcomando non funziona sempre, in quanto vi sono mirror gestiti da organizzazioni esterne a ubuntu.com. Non sono nemmeno sicuro che ci siano tre punti per tutti i nomi di dominio. Per quelli, è necessario modificare manualmente /etc/apt/sources.list.
Olathe,

3
C'è un problema con questo nell'aggiornamento dal 15.04 al 21/03/17. Vivid non è più supportato, tuttavia la dist non è su versioni precedenti.
Matthew Titsworth,

114

Quali sono gli errori 404

Il messaggio di errore 404 o Non trovato è un codice di risposta standard HTTP che indica che il client era in grado di comunicare con il server, ma il server non è riuscito a trovare ciò che è stato richiesto.

Il server di hosting del sito Web genererà in genere la pagina Web "404 - Pagina non trovata", quando gli utenti tentano di seguire un collegamento non funzionante o interrotto.

Perché stiamo affrontando errori 404

Ubuntu segue l'approccio di due diversi cicli di rilascio :

Le versioni normali di Ubuntu sono supportate per 9 mesi. Le versioni LTS sono supportate per 5 anni.

Le versioni precedenti potrebbero avere pianificazioni di supporto diverse (ad esempio, le versioni normali (prima del 13.04) erano supportate per 18 mesi, mentre le versioni LTS (prima del 12.04) erano supportate per 3 anni sul desktop e 5 anni sul server).

EOL: al termine del periodo di supporto per una determinata versione; vengono chiamati End Of Life (EOL) e tutti gli aggiornamenti e i repository di pacchetti per quella versione vengono trasferiti su un altro server che provoca 404 errori durante l'esecuzione sudo apt-get update. Puoi confermare se la tua versione è diventata EOL andando su questa pagina . Se la tua versione di Ubuntu è menzionata nella tabella "End Of Life (EOL)", la versione non è più supportata e dovresti provare ad aggiornare a una versione supportata più recente . Tuttavia, se si desidera continuare a utilizzare questa versione non supportata, è necessario apportare le modifiche necessarie /etc/apt/sources.listper puntare al old-releasesserver di Ubuntu.

I passaggi per apportare le modifiche necessarie

  1. Apri il tuo terminale:

    • Premi Ctrl+ Alt+ T; O
    • Se hai Gnome: ApplicationsAccessoriesTerminal; O
    • Se si dispone di Unity: premere Super(il tasto tra Left Ctrle Left Alt) e cercare Terminal.
  2. Eseguire il comando seguente per accedere alla shell di root:

    sudo -i
    

    inserire la password dell'utente e premere Enter. Il prompt cambierebbe e indicherebbe che l'utente root è ora connesso. Qui eseguire il comando seguente:

    gedit /etc/apt/sources.list
    
  3. Il file si aprirà in una nuova finestra di Gedit. Trova la prima riga che non inizia con #. Supponiamo che tu stia eseguendo Karmic Koala (Ubuntu 9.10): dovrebbe essere come la seguente riga:

    deb <siteurl> karmic main restricted
    

    dove <siteurl>è il tuo server preferito, http://gb.archive.ubuntu.com/ubuntunel tuo caso (ad esempio).

  4. Premere Ctrl+ Hper sostituire il vostro <siteurl>con http://old-releases.ubuntu.com/ubuntu.

    • Cerca: http://gb.archive.ubuntu.com/ubuntuie;<siteurl>
    • Sostituisci con: http://old-releases.ubuntu.com/ubuntue
    • stampa Replace All
  5. Di nuovo:

    • Cerca: http://security.ubuntu.com/ubuntu(questo URL esatto per tutte le versioni di Ubuntu - qualunque sia il server attuale che stai usando)
    • Sostituirlo con: http://old-releases.ubuntu.com/ubuntu
    • stampa Replace All
  6. Salva il tuo file ed esci da Gedit.

  7. Eseguire il comando seguente per uscire dalla shell di root:

    logout
    

    Scoprirai che il prompt torna indietro per indicare che l'utente normale è ora connesso. Quindi esegui quanto segue:

    sudo apt-get update
    

Ecco qua No 404 errori questa volta. Ora puoi installare tutti i pacchetti disponibili per la tua versione di Ubuntu. Puoi anche eseguire sudo apt-get dist-upgradeper installare eventuali aggiornamenti di sicurezza / correzione di bug che non sono stati ancora installati ma non otterrai ulteriori aggiornamenti di sicurezza / correzione di bug da Ubuntu.


6
+1 per includere anche le istruzioni per aggiornare il repository di sicurezza.
Gaffi,

In realtà la prima riga senza un # era raring main restricted, senza deb di sorta. L'ho modificato come specificato, quindi ho anche sostituito gli URL, ma ho ancora 404 secondi.
Yokhen,

2
@Yokhen Se la linea non è iniziata deb <siteurl>, molto probabilmente il tuo /etc/apt/sources.listfile è stato danneggiato per qualche motivo. Seguire le risposte fornite su: Come ripristinare i repository predefiniti? . Ciò ripristinerebbe il corretto /etc/apt/sources.listper te e quindi seguire la mia risposta per cambiare i server in modo che rimandino al server delle versioni precedenti.
Aditya,

Grazie! In qualche modo sono riuscito a passare dal 13.04 al 13.10, e ora sto andando alla 14.04.
Yokhen,

1
@Dan, modificata la risposta, ora entriamo nella shell di root e quindi eseguiamo il programma grafico. Non c'è più bisogno di usare gksudo. Voglio mantenere questa risposta per gli utenti alle prime armi come me e non voglio complicare le cose con l'uso di editor basati su terminali, per quanto facili o potenti possano essere.
Aditya,

57

La risposta breve è aggiungere il repository apt successivo al software di terze parti (o altro software nelle versioni più recenti) in Origini software (o software e aggiornamenti nelle versioni più recenti):

deb http://old-releases.ubuntu.com/ubuntu code_name main restricted universe multiverse

La lunga risposta ...

Metodo GUI

Bene, in realtà lo faremo senza usare alcun terminale . Neanche una volta. Solo la GUI, lo prometto ;-)

Innanzitutto, apri Origini software (o software e aggiornamenti nelle versioni più recenti). Non importa quanti anni ha Ubuntu, c'è sicuramente qualcosa del genere. Per Ubuntu 9.04 (Jaunty Jackalope) guarda l'immagine successiva per vedere dove si trova:

Apri fonti software

Dopo che Sorgenti software (o software e aggiornamenti ) è aperto, vai nelle schede Software e aggiornamenti di Ubuntu e deseleziona tutto come nelle foto seguenti. Non hai più bisogno di queste cose poiché la tua versione di Ubuntu è End of Life :

Scheda Software Ubuntu


inserisci qui la descrizione dell'immagine

Senza chiudere Sorgenti software (o Software e aggiornamenti ), vai nella scheda Software di terze parti (per le versioni più recenti questa scheda è denominata Altro software ) e aggiungi un nuovo repository apt. Inserisci esattamente la riga successiva quando ti viene chiesto:

deb http://old-releases.ubuntu.com/ubuntu jaunty main restricted universe multiverse

Se la tua versione di Ubuntu è diversa da 9.04, sostituisci nella riga sopra jauntycon il tuo nome in codice Ubuntu (ad esempio se hai Ubuntu 9.10, sostituisci con karmice così via):

Scheda Software di terze parti

Ora, quando chiuderai le fonti software (o software e aggiornamenti ) ti verrà chiesto di ricaricare le informazioni sul software disponibile. Assicurati solo di avere una connessione Internet funzionante:

Ricarica il software disponibile


Download del software disponibile

E ora sei libero di scaricare quasi tutto quello che vuoi. Per 9.04 è possibile utilizzare Synaptic Package Manager . Per le versioni più recenti c'è Ubuntu Software Center .

Ad esempio, per installare VLC in Ubuntu 9.04 utilizzando Synaptic Package Manager, seguire le istruzioni nelle immagini seguenti:

Apri Synaptic Package Manager


Cerca VLC in SPM


Mark VLC


Segna VLC adizionale


Applica VLC


Scarica VLC


Apri VLC

Se vuoi aggiornare Ubuntu a una nuova versione, vai su Sistema > Gestione aggiornamenti :

Gestione aggiornamenti


aggiornamento

Ho testato questo metodo da una sessione live di Ubuntu 9.04 (Jaunty Jackalope) e come puoi vedere da queste immagini ha funzionato. Se sei su una sessione installata di Ubuntu, ti verrà chiesto a volte la password di root o admin. Inserisci la tua password utente personale quando ti viene chiesto.


1
Ho appena fatto tutto questo dalla versione 10.10 (maverick) installata. Tutto bene come descritto. @Radu, la tua risposta è impeccabile!
Gediminas Jeremiah Gudelis,

1
Quelle immagini devono essere aggiornate ... aspetta ... cosa stai facendo con un pre-12.04?
Braiam,

1
@Braiam Quelle immagini sono aggiornate. Se proverai Ubuntu 9.04 (Jaunty Jackalope) , capirai.
Radu Rădeanu,

1
@ RaduRădeanu Ubuntu 9.04 è stata la mia prima incursione nel mondo di Linux. Ah, quegli screenshot riportano alla memoria!
Tyzoid,

Non riesco a farlo funzionare per 15.04 da aggiornare a 16.04. Non riesco a superare l'aggiunta della nuova linea APT per favore aiutatemi.
MrMule,

22

Sono arrivato qui poiché non ho potuto aggiornare un sistema dal 15.10 (EOL) al 16.04. Ma nessuna delle risposte ha funzionato per me ... anche dopo aver fatto tutto ciò che è stato suggerito qui ho continuato a ottenere dalla sudo do-release-upgradefastidiosa risposta:

Checking for a new Ubuntu release  
No new release found

E non ho avuto successo nella corsa update-manager; continuava a generare eccezioni che non riuscivo a risolvere. Ho il sospetto che qualcosa sia danneggiato nella mia installazione 15.10, ma la linea di fondo è che gli aggiornamenti integrati falliscono.

Quindi ho cercato un metodo non incorporato e abbastanza sicuro l'ho trovato guardando questa risposta .

Ecco la soluzione che ha funzionato per me:

  1. Apri http://changelogs.ubuntu.com/meta-release
  2. Individua la versione a cui desideri eseguire l'aggiornamento. Nel mio caso è Xenial Xerus (16.04 Supporto a lungo termine).
  3. Individua l'URL di UpgradeTool. Per xenial è questo . Scarica il tarball da quell'URL in una cartella vuota e aprilo ( tar -xzfo usando la GUI).
  4. Individua il file eseguibile con lo stesso nome della distribuzione (nel mio caso xenial). Eseguilo con sudo:

    sudo ./xenial &

  5. Approvare l'aggiornamento e attendere il completamento del download: ci sono migliaia di file e probabilmente su un Gigabyte. Procedere con l'installazione dell'aggiornamento ...

(Modificato molto tempo dopo aver eseguito l'aggiornamento ... Ha avuto successo e ho dimenticato di aggiornare)

  1. Attendere il completamento, approvare se richiesto ... Non ricordo i dettagli esatti

  2. Dopo il riavvio, la nuova versione viene eseguita correttamente e tutti gli aggiornamenti possono essere recuperati normalmente.


1
Mi ci è voluto un po 'per trovare questo post. Solo usando il tarball referenziato sono riuscito a far partire l'aggiornamento dal 15.04 / astutamente. Gli approcci che utilizzano gli URL di versioni precedenti non funzionavano. Spero che questo aiuti altri utenti a risolvere questo problema.
Jeroen,

Sono contento che l'abbia trovato utile!
ride il

1
Seriamente grazie per questo, ho appena usato questi passaggi per aggiornare 10.04 a 12.04. Il mio problema era diverso in quanto la mia installazione non era corrotta, ma c'era un errore su do-release-upgrade che non riuscivo a trovare nel terminale. Seguendo questi passaggi è spuntata una finestra di dialogo che mi dice "errore nell'autenticazione di alcuni pacchetti" che mi ha portato a askubuntu.com/a/426121/262601 che DID consente all'aggiornamento di continuare con successo. Mi stava strappando i capelli, ma è colpa mia per non aver aggiornato prima.
Fooxz,

Sfortunatamente, nemmeno questo funziona per il 15.04
MiroJanosik il

Funziona come un fascino! Avevo un server entusiasmante che ho trascurato e l'ho preso ad arte e ho potuto aggiornare ulteriormente da lì, grazie!
Patrick Cornelissen,

17

Per riprendere a apt-getlavorare, cambia le tue fonti software nei vecchi repository di rilascio.

gksudo gedit /etc/apt/sources.list

elimina qualunque cosa sia presente e incolla quanto segue:

# Required
deb http://old-releases.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ karmic-security main restricted universe multiverse

# Optional
#deb http://old-releases.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse

È tutto.


Grazie mikewhatever, ma il risultato è lo stesso quando provo "apt-get install lm-sensor". Forse c'è un'altra fonte mancante: "Lettura degli elenchi dei pacchetti ... Fine Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato ... Fine Pacchetto lm-sensor non è disponibile, ma è indicato da un altro pacchetto. Ciò può significare che il pacchetto è mancante, ha è stato obsoleto o è disponibile solo da un'altra fonte E: il pacchetto lm-sensor non ha candidati all'installazione "
Rorro,

Ecco i debs: old-releases.ubuntu.com/ubuntu/pool/main/l/lm-sensors-3 . Mi fido, hai ricaricato l'elenco delle fonti, giusto?
mikewhatever,

Questa risposta non funziona ... Perché ha così tanti voti positivi? Qualcuno l'ha davvero provato?
Tomáš Zato,

L'ho provato, ma la vera domanda è: perché sei ancora su Karmic? È stato fuori supporto per anni e dovresti davvero passare a una versione più recente.
mikewhatever,

12

Mentre la risposta di Fossfreedom fa un buon lavoro nel descrivere e risolvere il problema , ho trovato una soluzione variante che penso sia più semplice e un po 'più elegante.

Il trucco è aggiungere http://old-releases.ubuntu.com/ubuntu/come mirror , quindi dire a Sorgenti software di passare a quel mirror.

Per fare ciò, eseguire il backup e la modifica /usr/share/python-apt/templates/Ubuntu.mirrors. Scegli una posizione falsa per il server di versioni precedenti (ad es. #LOC:US) E aggiungi la seguente riga sotto di essa:

#LOC:US
http://old-releases.ubuntu.com/ubuntu/

Ora apri la finestra di dialogo Origini software del sistema e seleziona manualmente old-releases.ubuntu.comcome se fosse il tuo mirror regionale. Dovresti trovarlo elencato nella posizione falsa che hai scelto nel passaggio precedente.

La prossima volta che ricarichi le informazioni sul pacchetto tramite Synaptic o Update Manager, dovresti vederlo recuperare correttamente le informazioni aggiornate sul pacchetto.


Funziona bene, molto facile e veloce
doug


5

È possibile trovare i repository nel server "old-release" http://old-releases.ubuntu.com/ubuntu/dists/

E su come modificare gli /etc/apt/sources.list https://help.ubuntu.com/community/EOLUpgrades


Grazie gajdipajti, lo sto cercando nella lista dei pacchetti, ma non riesco a trovare il ".deb" corretto. Il mio ubuntu ha già "libsensors3", ma tutti i pacchetti mi chiedono "libsensors4". So che la soluzione normale dovrebbe essere l'aggiornamento, ma non posso farlo perché il computer è dedicato per essere utilizzato con un software che funziona solo su 9.10.
Rorro,

@Rorro: quale software funziona solo su Ubuntu 9.10?
indimenticabile il

1

Esiste un caso limite - apt-get claim 16.04 LTS non esiste - in cui il vecchio pacchetto (Vivid, nel mio caso) non si trovava sul server "old-release". Ma apt-get ha trovato solo aggiornamenti del kernel e di Google.

Non sono sicuro di quale fosse il mio problema perché avevo seguito ciecamente il sedcomando di risposta accettata (mai una mossa intelligente).

Questo non ha funzionato perché Vivid non era nell'archivio "vecchie versioni" ma era ancora sul gb.archive.ubuntu.commirror.

In quel caso specifico, la soluzione era la seguente:

sudo -i
edit /etc/apt/sources.list

Esamina attentamente tutte le fonti e scopri che una di esse era vecchia e sbagliata e non era stata aggiornata correttamente (o qualcosa del genere). Oppure, come ho fatto, cerca sostituisci da old-releases.ubuntu.coma gb.archive.ubuntu.com. Quindi è stato aggiornato, senza alcun problema, alla versione successiva mentre ho iniziato a leggere.

Quindi neanche:

  1. C'è stato un errore nelle mie fonti
  2. Il gb.archive.unbuntu.commirror ha una serie di versioni precedenti.

Il takeaway qui è che mentre la maggior parte delle risposte qui potrebbero essere applicabili in alcuni casi, sarebbe meglio essere sicuri che tu /etc/apt/sources.listabbia ragione prima di scriverlo per l'archivio "vecchie versioni".

Puoi capire quale dell'archivio o del tuo mirror ha la versione di cui hai bisogno semplicemente puntando una scheda del browser sull'archivio e sulla domanda e cercando il nome della tua versione nell'elenco delle cartelle. Qualunque sia la tua versione, è la fonte che devi usare.

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.