Como voltar de "testing" para "stable" - downgrade do kernel

37

Atualmente, estou me divertindo muito apt-get- e o ruim é que a culpa foi minha. Eu havia habilitado os testingpacotes /etc/apt/sources.listpara instalar um determinado pacote. E eu disse ao meu sistema apt-get dist-upgrade. Tudo funcionou bem, mas agora estou tentando voltar à stableatualização - e falhei ...

Ao tentar fazer isso apt-get dist-upgrade, recebo as seguintes informações:

The following packages will be REMOVED:
  linux-image-3.10-3-amd64
The following NEW packages will be installed:
  libcgi-fast-perl libfcgi-perl libyaml-syck-perl
The following packages will be DOWNGRADED:
  initramfs-tools libdate-manip-perl munin munin-common

Bem, tudo bem, mas quando tento fazer isso, recebo um aviso em letras vermelhas amigáveis ​​em negrito:

You are running a kernel (version 3.10-3-amd64) and attempting to remove the same version.
...
It is highly recommended to abort the kernel removal unless you are prepared to fix the system after removal.

Bem, eu gosto de seguir a recomendação. A versão correta do kernel para o stablelançamento seria linux-image-3.2.0-4-amd64e já está instalada. Provavelmente o downgrade não seria problema se eu estivesse trabalhando no kernel mais antigo? Na verdade, não tenho idéia de como habilitar o kernel em 3.2.0vez de 3.10.

BurninLeo
fonte
5
Eu odeio quebrar isso com você, mas as atualizações não são suportadas no Debian. Você não é específico sobre quanto do seu sistema agora consiste em pacotes de teste (isso pode ser descoberto, por exemplo, pelo apt-show-version), mas se for uma parte significativa, você pode ter problemas. A solução para o seu problema imediato parece simples, a menos que esteja faltando alguma coisa. Apenas reinicie no 3.2 e remova o kernel mais recente. No entanto, isso não fará com que o restante do sistema volte magicamente para estável.
Faheem Mitha
Obrigado! Até onde eu vejo, não há muitos problemas - apenas alguns pacotes ... Existe uma opção para dizer ao sistema para usar o kernel 3.2 após a reinicialização? Eu estou trabalhando em um VPS (servidor virtual) e não será capaz de clicar em qualquer botão antes de SSH é para cima ...
BurninLeo
Você está dizendo que não pode selecionar o kernel interativamente na inicialização? Se você estiver usando o GRUB, poderá acessar a configuração do grub e alterar sua opção padrão do kernel para inicializar. Os detalhes dependeriam de qual versão do GRUB você está executando.
Faheem Mitha
11
@Wilf O Debian não tentará automaticamente um downgrade. Você pode configurar o apt para tentar fazer isso, mas acho que não ajudaria aqui.
Faheem Mitha
11
Você provavelmente está usando o GRUB. Poste sua versão do GRUB, dpkg -l | grep grubna pergunta.
Faheem Mitha

Respostas:

43

Veja isso, parece indicar que é possível fazer o downgrade usando o apt-get:

http://ispire.me/downgrade-from-debian-sid-to-stable-from-jessie-to-wheezy/

Essentials (3 etapas):
(se grande parte do seu sistema for de uma versão superior, você deverá ter cuidado ao fazer o downgrade. Veja especialmente alterações de formato (dados e arquivos de configuração pessoais)

  1. Remova todas as referências a sid ou instáveis no seu /etc/apt/sources.list, excluindo, substituindo ou comentando. Verifique sources.listse o que você deseja (eu recomendo segurança e fontes de deb estável). Por exemplo:

    deb http://security.debian.org/ wheezy / atualizações principal
    deb-src http://security.debian.org/ wheezy / atualizações principal

    deb http://cdn.debian.net/debian/ wheezy contrib principal não-livre
    deb-src http://cdn.debian.net/debian/ wheezy contrib principal não-livre

  2. Fixar a versão que você deseja /etc/apt/preferences(isso fará com que as informações do pacote já baixadas, mas agora indesejadas, sejam ignoradas conforme desejado).

    Pacote: *
    Pin: libere a = estável
    Pin-Priority: 1001

  3. Finalmente, temos que executar o processo de atualização e atualização do apt para fazer o downgrade de todos os pacotes.
    * aptpedirá confirmação

    # apt-get update
    # apt-get upgrade
    # apt-get dist-upgrade

Se você não conseguir explicar o que cada um desses comandos faz independentemente, leia suas páginas de manual! :) E faça o mesmo para pelo menos as opções que você usa em outros utilitários.

  1. (Se você tiver problemas ao fazer o downgrade de um pacote) Limpe-o e reinstale-o

    # apt-get purge [your_failing_package]
    # apt-get install [your_failing_package]

Bill West
fonte
2
Excelente resposta, obrigado! O núcleo é o passo 2.
Chris Harrington
Os /etc/issuearquivos e outros não são atualizados. Como resolver isso?
Mvorisek
3
  • Reinicie a máquina.
  • No menu avançado do Debian no Grub, escolha um kernel diferente daquele que você deseja remover.
  • Se você estiver no Debian, você terá um meta pacote para o kernel instalado.

    gayan@deb:~$ dpkg -l | grep linux 
    ii  linux-image-amd64                     4.9.25-1~bpo8+1
    ii  linux-image-3.16.0-4-amd64            3.16.43-2
    ii  linux-image-4.9.0-0.bpo.3-amd64       4.9.25-1~bpo8+1
    
  • Simplesmente limpe o meta pacote ( linux-image-amd64) e reinstale-o.

    Então você teria:

    gayan@deb:~$ dpkg -l | grep linux
    ii  linux-image-amd64                     3.16.43-2
    ii  linux-image-3.16.0-4-amd64            3.16.43-2
    
  • Reinicie.


Informações:

linux-image-amd64é um meta pacote. Pode apontar para um kernel estável ou um com porta traseira (4.9.25-1 ~ bpo8 + 1) dependendo de como você o instala:

apt-get -t jessie-backports install linux-image-amd64

ou

apt-get install linux-image-amd64
Gayan Weerakutti
fonte