Como forçar a instalação de atualizações do kernel ao usar o apt-get upgrade?

35

Para atualizar meu servidor, eu uso apt-get upgrade.

Mas quando há atualizações do kernel, sempre preciso fazer apt-get install linux-....porque apt-get updatenão as instala.

Existe uma maneira de dizer para instalar também? Eu tentei -f mas não funciona.

Weboide
fonte
1
apt-get upgradeinstala novos kernels para mim, se houver um. Qual versão do Ubuntu você está usando? A única coisa que tenho que verificar agora é 10.04 ...
Nicholas Knight
1
10.04 também, diz-me "Essas atualizações são impedidas de serem atualizadas" (traduzido do francês). e lista as atualizações do linux.
Weboide 28/07/10
visto este em xubuntu 13,04 safe-atualizar trabalhou: D
Jim Ford

Respostas:

19

Então, no que diz respeito aos comentários: Desculpe, você estava certo, eu estava completamente lendo errado o que o apt-get estava me dizendo (e estou usando a versão em inglês! :)).

Depois de um pouco de pesquisa, o que você provavelmente vai querer usar é aptitude safe-upgrade, o que faz instalar novos kernels. Sério! Eu verifiquei duas vezes! :)

Provavelmente, você deve preferir, aptitudeem geral, de apt-getqualquer maneira, a menos que precise especificamente de algo apt-get.

nknight@nkubuntu1004:~$ sudo aptitude safe-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
Resolving dependencies...
Resolving dependencies...
The following NEW packages will be installed:
  linux-headers-2.6.32-24{a} linux-headers-2.6.32-24-generic{a} linux-image-2.6.32-24-generic{a} 
The following packages will be upgraded:
  apt apt-transport-https apt-utils base-files firefox firefox-branding firefox-gnome-support gdm google-chrome-stable 
  icedtea-6-jre-cacao linux-generic linux-headers-generic linux-image-generic linux-libc-dev openjdk-6-jre openjdk-6-jre-headless 
  openjdk-6-jre-lib software-center thunderbird ureadahead xulrunner-1.9.2 
21 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 129MB of archives. After unpacking 188MB will be used.
Do you want to continue? [Y/n/?] 
Nicholas Knight
fonte
1
Também cite a página do manual: Às vezes é necessário remover um pacote para atualizar outro; este comando não pode atualizar pacotes nessas situações. Use o comando de atualização completa para atualizar o maior número possível de pacotes.
Weboide 29/07/10
4
O aptitude será removido da instalação padrão das versões futuras do debian e do ubuntu. Apt-get é novamente a ferramenta preferida para instalar pacotes
Ralf
Sim, não encontrei aptidão em 12.04. Então instalei o aptitude e executei aptitude safe-upgrade, ele também está fazendo a mesma coisa que o apt-get upgrade. Nenhuma versão do kernel está instalada! (Mas eu pude ver a nova versão do kernel disponível no synaptic package manager (gui)).
user3215
19

você está procurando

sudo apt-get dist-upgrade
helloandre
fonte
4
O uso do dist-upgrade pode adicionar ou remover outros pacotes, não se limitando apenas ao kernel. Isso pode ser um problema em um servidor se você estiver hospedando para outras pessoas. No entanto, nesse caso, você provavelmente deseja usar o apt-pin de qualquer maneira para evitar atualizações não intencionais.
jbowtie
2
dist-upgradeinstalará novos pacotes ao tentar resolver uma atualização, necessária para obter atualizações do kernel quando a ABI do kernel for alterada (uma vez que resolve para um nome de pacote binário diferente).
Kees Cook
1

se você deseja instalar aptitude, por favor, vá em frente - mas ele tem suas dependências e você pode se sair muito bem sem ele - especialmente se você quiser manter a instalação do servidor mais enxuta (er).

Quando você executa, sudo apt-get upgradeele informa sobre os pacotes que não foram atualizados da seguinte maneira:

The following packages have been kept back:
  linux-generic linux-headers-generic linux-image-generic

Portanto, se você estiver conectado usando um terminal ssh, basta copiar e colar para inserir o seguinte comando:

$ sudo apt-get upgrade linux-generic linux-headers-generic linux-image-generic

que atualiza apenas os pacotes que foram retidos. Use uname -rpara exibir a versão do kernel antes e depois da reinicialização (necessária para atualizar o kernel em execução) e não se esqueça de executar purge-old-kernelsapós a reinicialização.

Remigius Stalder
fonte