Como instalar o software ou atualizar a partir de uma versão antiga não suportada?

386

Recentemente eu instalei uma versão mais antiga do Ubuntu na minha máquina antiga. Sempre que tento instalar qualquer software, recebo um erro dizendo que não foi encontrado:

$ sudo apt-get install vlc
Reading package lists... Done               
Building dependency tree       
Reading state information... Done    
E: Couldn't find package vlc
feito na Índia
fonte
2
Pode valer a pena editar algumas (ou todas) respostas a esta pergunta, pois durante o fim de semana depois de passar um bom tempo tentando fazer esse trabalho, por sorte, percebi que elas passaram de http://old-releases.ubuntu.com/ubuntu/para http://us.archive.ubuntu.com/ubuntu/(ou seu próprio país abreviado com duas letras) código no início) a partir de 17.10 (essencialmente em sincronia com o início do alfabeto).
Isti115

Respostas:

534

Os repositórios para releases mais antigos que não são suportados (como 11.04, 11.10 e 13.04) são movidos para um servidor de arquivamento. Existem repositórios disponíveis em http://old-releases.ubuntu.com .

A razão para isso é que agora ele está sem suporte e não recebe mais atualizações e patches de segurança.

Exorto você a considerar uma distribuição suportada. Se o seu computador é muito antigo em termos de memória ou processador, considere uma distribuição como o Lubuntu ou o Xubuntu.

Se você quiser continuar usando uma versão desatualizada, edite, /etc/apt/sources.listaltere archive.ubuntu.come security.ubuntu.compara old-releases.ubuntu.com.

Você pode fazer isso com sed:

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

atualize com:

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

Às vezes, pode ser mais rápido criar backups do seu sistema e reinstalar usando a versão suportada.

Fonte: Posso continuar usando o Ubuntu 9.04 se estiver desatualizado?


Para atualizar para uma nova versão:

Depois de executar as etapas acima para mudar para os espelhos de versões antigas, atualize o Gerenciador de Atualizações e faça do-release-upgrade:

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

Veja também EOLUpgrades - Wiki de ajuda da comunidade .

liberdade de expressão
fonte
9
e, apenas por uma questão de integridade ... e o extrasrepositório (para Skype, etc.)? Eles estão disponíveis em qualquer lugar após o EOF?
MestreLion
2
é uma maneira mais fácil sudo vi /etc/apt/sources.liste modifique-a manualmente. Eu tive que fazer isso porque sou bastante novo e não sei o que fazer para que isso funcione para kármico. Obrigado, sua resposta ainda é válida e correta.
Bhathiya-perera
18
Uma forma ainda mais fácil é sudo nano /etc/apt/sources.list, como vi*é apenas irritante ...
Wilf
4
O sedcomando nem sempre funciona, pois há espelhos que são executados por organizações fora de ubuntu.com. Eu nem tenho certeza de que existem três pontos para todos os nomes de domínio. Para aqueles, você deve editar manualmente /etc/apt/sources.list.
Olathe
3
Existe um problema com isso na atualização do 15.04 a partir de 21/3/17. O Vivid não é mais suportado, no entanto, o dist não está em versões antigas.
Matthew Titsworth
114

O que são erros 404

A mensagem de erro 404 ou Não encontrado é um código de resposta padrão HTTP indicando que o cliente conseguiu se comunicar com o servidor, mas o servidor não pôde encontrar o que foi solicitado.

O servidor de hospedagem do site normalmente gera a página "404 - Página não encontrada", quando os usuários tentam seguir um link quebrado ou inoperante.

Por que estamos enfrentando erros 404

O Ubuntu segue a abordagem de dois ciclos de lançamento diferentes :

Versões normais do Ubuntu são suportadas por 9 meses. As versões LTS são suportadas por 5 anos.

As versões anteriores podem ter agendas de suporte diferentes (por exemplo, versões normais (antes da 13.04) costumavam ser suportadas por 18 meses, enquanto as versões LTS (antes da 12.04) costumavam ser suportadas por 3 anos na área de trabalho e 5 anos no servidor).

EOL: Após o término do período de suporte para uma versão específica; eles são chamados de fim da vida útil (EOL) e todas as atualizações e repositórios de pacotes dessa liberação são transferidos para um servidor diferente, o que resulta em erros 404 durante a execução sudo apt-get update. Você pode confirmar se seu release se tornou EOL, acessando esta página . Se sua versão do Ubuntu for mencionada na tabela "Fim da vida útil (EOL)", ela não será mais suportada e você deverá tentar atualizar para uma versão suportada mais recente . No entanto, se você quiser continuar usando esta versão não suportada, precisará fazer as modificações necessárias /etc/apt/sources.listpara apontar para o old-releasesservidor do Ubuntu.

Etapas para fazer as modificações necessárias

  1. Abra seu terminal:

    • Pressione Ctrl+ Alt+ T; OU
    • Se você possui o Gnome: ApplicationsAccessoriesTerminal; OU
    • Se você possui o Unity: pressione Super(a tecla entre Left Ctrle Left Alt) e procure Terminal.
  2. Execute o seguinte comando para entrar no shell raiz:

    sudo -i
    

    digite sua senha de usuário e pressione Enter. O prompt mudaria e indicaria que o usuário root agora está logado. Execute aqui o seguinte comando:

    gedit /etc/apt/sources.list
    
  3. O arquivo abriria em uma nova janela do Gedit. Encontre a primeira linha que não começa #. Suponha que você esteja executando o Karmic Koala (Ubuntu 9.10): deve ser como a seguinte linha:

    deb <siteurl> karmic main restricted
    

    onde <siteurl>é o seu servidor preferido - http://gb.archive.ubuntu.com/ubuntuno seu caso (por exemplo).

  4. Imprensa Ctrl+ Hpara substituir o seu <siteurl>com http://old-releases.ubuntu.com/ubuntu.

    • Procure por: http://gb.archive.ubuntu.com/ubuntuie;<siteurl>
    • Substitua por: http://old-releases.ubuntu.com/ubuntue
    • pressione Replace All
  5. De novo:

    • Procure por: http://security.ubuntu.com/ubuntu(esse URL exato para todas as versões do Ubuntu - qualquer que seja o servidor atual que você está usando)
    • Substituir com: http://old-releases.ubuntu.com/ubuntu
    • pressione Replace All
  6. Salve seu arquivo e saia do Gedit.

  7. Execute o seguinte comando para sair do shell raiz:

    logout
    

    Você descobriria que o prompt retorna novamente para indicar que seu usuário normal agora está logado. Em seguida, execute o seguinte:

    sudo apt-get update
    

Ai está. Não há erros 404 neste momento. Agora você pode instalar todos os pacotes disponíveis para sua versão do Ubuntu. Você também pode executar sudo apt-get dist-upgradea instalação de atualizações de segurança / correção de bugs que ainda não foram instaladas, mas você não receberá mais atualizações de segurança / correção de bugs no Ubuntu.

Aditya
fonte
6
+1 para também incluir instruções para atualizar o repositório de segurança.
Gaffi
Na verdade, a primeira linha sem um # era raring main restricted, sem nenhuma debilidade. Alterei-o conforme especificado e também substituí os URLs, mas ainda tenho 404s.
Yokhen
2
@ Yokhen Se a linha não começar deb <siteurl>, provavelmente o seu /etc/apt/sources.listarquivo foi corrompido por algum motivo. Por favor, siga as respostas dadas em: Como faço para restaurar os repositórios padrão? . Isso restauraria o correto /etc/apt/sources.listpara você e, em seguida, siga minha resposta para alterar os servidores para apontar para o servidor de versões antigas.
Aditya
obrigado! De alguma forma, eu consegui atualizar do 13.04 para o 13.10 e agora estou no caminho para o 14.04.
Yokhen 24/10
1
@ Dan, modificou a resposta, agora entramos no shell raiz e depois executamos o programa gráfico. Não há mais necessidade de usar o gksudo. Quero manter essa resposta para usuários iniciantes como eu e não quero complicar a questão do uso de editores baseados em terminal, por mais fáceis ou poderosos que possam ser.
Aditya
57

A resposta curta é adicionar o próximo repositório apt ao Software de Terceiros (ou Outro Software nas versões mais recentes) nas Fontes de Software (ou Software e Atualizações nas versões mais recentes):

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

A resposta longa ...

Método GUI

Bem, na verdade, faremos isso sem usar nenhum terminal . Nem uma vez. Apenas GUI, eu prometo ;-)

Primeiro, abra as Fontes de software (ou Software e atualizações nas versões mais recentes). Não importa quantos anos tem o seu Ubuntu, certamente existe algo assim. Para o Ubuntu 9.04 (Jaunty Jackalope), olhe a próxima imagem para ver onde está localizado:

Fontes de software abertas

Após abrir as Fontes de software (ou Software e atualizações ), acesse as guias Ubuntu Software and Updates e desmarque tudo como nas próximas fotos. Você não precisa mais disso, pois sua versão do Ubuntu é End of Life :

Guia Software Ubuntu


insira a descrição da imagem aqui

Sem fechar as Fontes de software (ou Software e atualizações ), entre na guia Software de terceiros (para versões mais recentes, essa guia se chama Outro software ) e adicione um novo repositório apt. Insira exatamente a próxima linha quando for solicitado:

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

Se sua versão do Ubuntu for diferente da 9.04, substitua na linha acima jauntypelo nome de código do Ubuntu (por exemplo, se você possui o Ubuntu 9.10, substitua por karmice assim por diante):

Guia Software de terceiros

Agora, quando você fechar as Fontes de software (ou Software e atualizações ), será solicitado que você recarregue as informações sobre o software disponível. Apenas certifique-se de ter uma conexão de internet funcionando:

Recarregar o software disponível


Download do software disponível

E agora você pode baixar quase o que quiser. Para o 9.04, você pode usar o Synaptic Package Manager . Para lançamentos mais recentes, há o Ubuntu Software Center .

Por exemplo, para instalar o VLC no Ubuntu 9.04 usando o Synaptic Package Manager, siga as instruções nas seguintes imagens:

Abra o Gerenciador de Pacotes Synaptic


Pesquisar VLC no SPM


Mark VLC


Marcar o VLC adicional


Aplicar VLC


Baixar VLC


Open VLC

Se você deseja atualizar o Ubuntu para uma nova versão, vá para Sistema > Gerenciador de Atualizações :

Gerente de atualização


Melhorar

Testei esse método em uma sessão ao vivo do Ubuntu 9.04 (Jaunty Jackalope) e, como você pode ver nessas fotos, funcionou. Se você estiver em uma sessão instalada do Ubuntu, será solicitado às vezes a senha de administrador ou root. Basta inserir sua senha de usuário pessoal quando for solicitado.

Radu Rădeanu
fonte
1
Eu fiz tudo isso a partir da versão 10.10 (independente) instalada. Tudo bem como descrito. @ Radu, sua resposta é perfeita!
Gediminas Jeremiah Gudelis
1
Essas imagens precisam ser atualizadas ... espere ... o que você está fazendo com uma versão anterior a 12.04?
Braiam
1
@Braiam Essas imagens estão atualizadas. Se você tentar o Ubuntu 9.04 (Jaunty Jackalope) , entenderá.
Radu Rădeanu 22/03
1
@ RaduRădeanu O Ubuntu 9.04 foi minha primeira incursão no mundo do Linux. Ahh, essas imagens trazem de volta memórias!
Tyzoid
Não é possível fazer isso funcionar no 15.04 para ser atualizado para o 16.04. Não foi possível adicionar a nova linha APT, por favor, ajude.
MrMule # 10/16
22

Cheguei aqui porque não consegui atualizar um sistema de 15.10 (EOL) para 16.04. Mas nenhuma das respostas funcionou para mim ... mesmo depois de fazer tudo o que foi sugerido aqui, continuei obtendo sudo do-release-upgradea resposta irritante:

Checking for a new Ubuntu release  
No new release found

E não tive sucesso em correr update-manager; continuou lançando exceções que eu não conseguia resolver. Suspeito que algo esteja corrompido na minha instalação 15.10, mas o resultado final é que as atualizações internas falham.

Por isso, procurei um método não incorporado e, com certeza, o encontrei olhando para esta resposta .

Aqui está a solução que funcionou para mim:

  1. Abra http://changelogs.ubuntu.com/meta-release
  2. Localize a versão para a qual você deseja atualizar. No meu caso, é o Xenial Xerus (16.04 Long Term Support).
  3. Localize o URL do UpgradeTool. Para xenial é este . Faça o download do tarball desse URL para uma pasta vazia e abra-a ( tar -xzfou usando a GUI).
  4. Localize o arquivo executável com o mesmo nome da distribuição (no meu caso xenial). Execute-o com sudo:

    sudo ./xenial &

  5. Aprove a atualização e aguarde a conclusão do download - há milhares de arquivos e provavelmente mais de um Gigabyte. Prossiga com a instalação da atualização ...

(Editado muito depois de executar a atualização ... Foi bem-sucedida e esqueci de atualizar)

  1. Aguarde até que seja concluído, aprove se solicitado ... Não lembro os detalhes exatos

  2. Após a reinicialização, a nova versão está sendo executada com êxito e todas as atualizações podem ser buscadas normalmente.

rir
fonte
1
Levei um tempo para encontrar este post. Somente usando o tarball referenciado, consegui executar a atualização a partir de 15.04 / wily. As abordagens usando os URLs de versões antigas não funcionaram. Espero que isso ajude outros usuários a entrar nesse problema.
Jeroen
Estou feliz que você tenha achado útil!
riso
1
Sério, obrigado por isso, usei essas etapas para atualizar o 10.04 para o 12.04. Meu problema foi diferente, pois minha instalação não estava corrompida, mas ocorreu um erro no do-release-upgrade que não consegui encontrar no terminal. Após essas etapas, surgiu uma caixa de diálogo informando "erro ao autenticar alguns pacotes", o que me levou a askubuntu.com/a/426121/262601, que permitiu que a atualização continuasse com êxito. Estava puxando meu cabelo, mas a culpa é minha por não atualizar mais cedo.
Fooxz
Infelizmente, nem isso funciona para o dia 15.04
MiroJanosik 22/01
Funciona como um encanto! Eu tinha um servidor zesty que negligenciei e cheguei a ele astuto e poderia atualizar ainda mais a partir daí, obrigado!
Patrick Cornelissen
17

Para começar a apt-gettrabalhar novamente, altere as fontes de software para os repositórios de versão antigos.

gksudo gedit /etc/apt/sources.list

exclua o que estiver lá e cole o seguinte:

# 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

Isso é tudo.

mikewhatever
fonte
Obrigado, seja como for, mas o resultado é o mesmo quando tento "apt-get install lm-sensores". Talvez haja outra fonte ausente: "Lendo listas de pacotes ... Concluído Criando árvore de dependências Lendo informações de estado ... Concluído O pacote lm-sensores não está disponível, mas é referido por outro pacote. Isso pode significar que o pacote está ausente. ficou obsoleto ou só está disponível a partir de outra fonte e: Pacote lm-sensores não tem candidato para instalação"
rorro
Aqui estão os debs: old-releases.ubuntu.com/ubuntu/pool/main/l/lm-sensors-3 . Eu confio nisso, você recarregou a lista de fontes, certo?
Mikewhatever 13/04
Esta resposta não funciona ... Por que tem tantos votos positivos? Alguém realmente testou?
Tomáš Zato
Eu testei, mas a verdadeira questão é: Por que você ainda está no Karmic? Ele está sem suporte há anos e você deve realmente avançar para um lançamento mais recente.
Mikewhatever 15/08/14
12

Embora a resposta da fossfreedom faça um bom trabalho ao descrever e solucionar o problema , eu encontrei uma solução alternativa que acho mais fácil e um pouco mais elegante.

O truque é adicionar http://old-releases.ubuntu.com/ubuntu/como um espelho e depois informar ao Software Sources para mudar para esse espelho.

Para fazer isso, faça backup e edite /usr/share/python-apt/templates/Ubuntu.mirrors. Escolha um local falso para o servidor de versões antigas (por exemplo #LOC:US) e adicione a seguinte linha abaixo:

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

Agora abra a caixa de diálogo Fontes de software do sistema e selecione manualmente old-releases.ubuntu.comcomo se fosse seu espelho regional. Você deve encontrá-lo listado no local falso escolhido na etapa anterior.

Na próxima vez que você recarregar as informações do seu pacote através do Synaptic ou do Update Manager, deverá vê-lo recuperando com êxito as informações atualizadas do pacote.

Stuart Cook
fonte
Funciona bem, muito fácil e rápido
doug
5

Você pode encontrar os repositórios no servidor "releases antigos" http://old-releases.ubuntu.com/ubuntu/dists/

E sobre como editar os /etc/apt/sources.list https://help.ubuntu.com/community/EOLUpgrades

gajdipajti
fonte
Obrigado gajdipajti, estou procurando dentro da lista de pacotes, mas não consigo encontrar o ".deb" correto. Meu ubuntu já possui "libsensors3", mas todos os pacotes me pedem o "libsensors4". Sei que a solução normal deve ser a atualização, mas não posso fazê-lo porque o computador é dedicado a ser usado com um software que roda apenas na 9.10.
Ramp 13/12
@Rorro: Qual software é executado apenas no Ubuntu 9.10?
Inesquecívelid
1

Há um caso de ponta - apt-get reivindica 16.04 LTS não existe - em que o pacote antigo (Vivid, no meu caso) não estava no servidor de "releases antigos". Mas o apt-get só conseguiu encontrar atualizações do kernel e do Google.

Não sei exatamente qual era o meu problema porque segui cegamente as respostas aceitas sed comando de (nunca uma jogada inteligente).

Isso não funcionou porque o Vivid não estava no arquivo "releases antigos", mas ainda estava no gb.archive.ubuntu.com espelho.

Nesse caso específico, a solução era a seguinte:

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

Analise cuidadosamente todas as fontes e descubra que uma delas era antiga e incorreta e não havia sido atualizada corretamente (ou algo assim). Ou, como eu fiz, a pesquisa substitui deold-releases.ubuntu.com para gb.archive.ubuntu.com. Em seguida, atualizou, sem problemas, para o próximo lançamento enquanto eu acompanhava algumas leituras.

Então:

  1. Houve uma falha nas minhas fontes
  2. O gb.archive.unbuntu.comespelho tem um conjunto mais antigo de liberações.

O argumento aqui é que, embora a maioria das respostas aqui possa ser aplicada em alguns casos, seria bom ter certeza de que seu /etc/apt/sources.list está correta antes de você procurá-la no arquivo "versões antigas".

Você pode descobrir qual arquivo ou seu espelho possui a versão necessária, simplesmente apontando uma guia do navegador no arquivo e na pergunta e procurando o nome da sua versão na lista de pastas. Qualquer que seja a sua versão, é a fonte que você precisa usar.

Matthew Brown tcp Lord Matt
fonte