Toda vez que instalo um novo kernel Linux, ele fica no grub_config, aumentando o menu de inicialização a cada vez.
Eu sei que posso pesquisar manualmente os pacotes instalados e removê-los.
O Ubuntu fornece uma maneira mais fácil de limpá-los ou impedir que eles apareçam na lista de inicialização?
sudo apt-get autoremove
deve fazer o truque no Ubuntu 14.04+sudo apt-get autoremove --purge
responde seguindo osapt-mark
conselhos de https://help.ubuntu.com/community/RemoveOldKernelsRespostas:
16.04 e versões mais recentes do Ubuntu
Este comando remove os pacotes que foram instalados automaticamente para resolver uma dependência, mas agora não são mais dependentes. Isso inclui versões antigas do
linux-headers-*
elinux-image-*
. (Também é inteligente sobre esse processo, deixando uma versão sobressalente do kernel como substituto!)11.10 e versões mais recentes do Ubuntu
GRUB2 e sua exibição de todos os kernels
As versões mais recentes do Grub2 instaladas no Ubuntu exibem automaticamente o kernel mais recente e ocultam os kernels mais antigos que você pode ter instalado.
Se você não vê seu grub - lembre-se de pressionar Shiftenquanto inicializa.
Como você pode ver, apenas o kernel mais recente é exibido.
Se você selecionar a opção mostrada (pressione Enter), todos os kernels antigos se tornarão visíveis e disponíveis para inicialização.
Como excluir permanentemente os kernels antigos
Primeira inicialização com o kernel disponível mais recente.
Existem várias maneiras de excluir kernels antigos. Pessoalmente, eu não entraria em contato com o Computer Janitor, já que isso compromete o seu computador com suas sugestões.
sináptica
Uma alternativa é Synaptic (
sudo apt install synaptic
)procure linux-image , clique com o botão direito do mouse em um kernel e escolha a remoção completa e, finalmente, clique no botão Aplicar para excluir o kernel.
Repita a pesquisa, mas desta vez para o linux-header - você pode excluir os cabeçalhos associados à imagem do kernel escolhida anteriormente.
Embora o Synaptic não tente verificar o que você está tentando remover ... você pode excluir inadvertidamente o seu kernel mais recente - ou até mesmo excluir todos os seus kernels através desta ferramenta, deixando-o com um Ubuntu não inicializável !
Lembre-se de verificar qual kernel você está usando, digite:
O resultado seria semelhante a:
Lembre-se do resultado e do número - certifique-se de não excluir a imagem ou o cabeçalho correspondente.
Recomendação
Minha recomendação é manter pelo menos dois ou preferencialmente três núcleos, incluindo o mais recente. O motivo da recomendação é que você terá pelo menos um / dois outros kernels para inicializar, se por algum motivo o kernel mais recente não puder inicializar ou apresentar um recurso regressivo, como o wireless quebrado.
fonte
-y
interruptor no final daapt-get
linha é necessário; caso contrário, o apt-get apenas pede confirmação e, como a entrada é um canal, apenas aborta. Portanto, deve terminar em:| xargs sudo apt-get purge -y
linux-image
elinux-headers
liberadas de 4,5 GB de espaço na minha máquina.Primeiro, reinicie o sistema para ter certeza de que está usando o kernel mais recente. Em seguida, abra o terminal e verifique seu kernel atual:
NÃO REMOVA ESTE KERNEL!
Em seguida, digite o comando abaixo para visualizar / listar todos os kernels instalados no seu sistema.
Encontre todos os kernels inferiores ao seu kernel atual. Quando você souber qual kernel remover, continue abaixo para removê-lo. Execute os comandos abaixo para remover o kernel selecionado.
Por fim, execute os comandos abaixo para atualizar o grub2
Reinicie seu sistema.
fonte
sudo apt-get purge linux-image-3.2.0-3{0..5}-generic
(remove 30,31, .., 35)linux-signed-image
pacotes que podem ser instalados em sistemas UEFI:sudo apt-get purge linux-signed-image-3.11.0-{12,14,24}-generic
o que eliminaria 12, 14 e 24uname -r
não tenho nenhumasigned
string no meu sistema. Eu parecem ter uma imagem assinado instalado e a saída dessels
comando é:/boot/vmlinuz-3.19.0-16-generic.efi.signed
.Meu one-liner para remover kernels antigos (isso também libera espaço em disco)
Explicação (lembre-se,
|
usa a saída do comando anterior como entrada para a próxima)dpkg --list
lista todos os pacotes instaladosgrep linux-image
procura as imagens linux instaladasawk '{ print $2 }'
apenas gera a segunda coluna (que é o nome do pacote)sort -V
coloca os itens em ordem pelo número da versãosed -n '/'`uname -r`'/q;p'
imprime as linhas antes do kernel atualxargs sudo apt-get -y purge
limpa os núcleos encontradosDesenrolando a
sed
chamada:-n
dizsed
para ficar quieto`uname -r`
gera a versão atual do kernel instalado - nós a incluímos nos backticks para que a saída seja incluída como parte do comando (você também pode ver isso como$(uname -r)
/something/q
diz parar quando você corresponde a 'alguma coisa' (neste caso, algo é produzidouname -r
) -/
rodeia uma expressão regularp
é impressão;
é o comando separtor, então/something/q;p
diz quit quando você corresponde a algo, senão imprimeao todo,
sed -n '/'`uname -r`'/q;p'
imprime as linhas até corresponder ao nome atual do kernel.Se você é paranóico (como eu), pode fazer a última parte
xargs echo sudo apt-get -y purge
para que o comando para limpar os kernels antigos seja impresso e verificar se nada de inesperado está incluído antes de executá-lo.Versão modificada para remover cabeçalhos:
Nota: a
sed
chamada é modificada."$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"
extrai apenas a versão (por exemplo, "3.2.0-44"), sem "-generic" ou similar deuname -r
Versão completa para remover imagens e cabeçalhos (combina as duas versões acima):
fonte
sudo apt-get purge $(for tag in "linux-image" "linux-headers"; do dpkg-query -W -f'${Package}\n' "$tag-[0-9]*.[0-9]*.[0-9]*" | sort -V | awk 'index($0,c){exit} //' c=$(uname -r | cut -d- -f1,2); done)
Veja também minha resposta .dkpg -P
. Aqui está a versão completa:dpkg --list | grep 'linux-headers' | awk '{ print $2 }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")"'/q;p' | xargs sudo dpkg -P
Ubuntu 16.04+:
Ubuntu 15.10 e abaixo:
Acho que essa é a maneira mais fácil e rápida. Ele mantém o kernel mais recente e mais dois:
Para alterar o número de kernels adicionais que são mantidos:
fonte
which purge-old-kernels
.purge-old-kernels
sem o pacote bikeshed ( ferramentas úteis aleatórias que ainda não possuem um lar permanente ) ou qualquer outro. Evite usar aapt-get -y
opção, é como fechar os olhos e esperar que tudo fique bem. Também aqui está como o autoremove decide quantos kernels antigos manter.apt-file search purge-old-kernels
. Concordadoapt-get -y
, eu vou removê-lo.sudo apt-get autoremove
não remove os kernels na versão 14.04. Sinta-se livre para atualizar a resposta com a versão específica, se você souber o que é!Removendo entradas do Grub 2 As entradas devem ser removidas editando ou removendo arquivos na pasta /etc/grub.d. O arquivo /boot/grub/grub.cfg é somente leitura e normalmente não deve exigir edição.
Núcleos demais?
Se você não tem certeza do kernel que está usando no momento, em um terminal, digite uname -r .
Os kernels removidos pelo APT (Synaptic, "apt-get remove" etc.) atualizarão automaticamente o grub.cfg e nenhuma ação do usuário será necessária.
Uma ótima ferramenta para remover kernels (e entradas de menu) é o Ubuntu-Tweak, um aplicativo GUI seguro e fácil de usar.
Instalar o ubuntu tweak
O Ubuntu-Tweak estará disponível em Aplicativos> Ferramentas do sistema.
Remover entradas mais antigas do kernel
Selecione "Limpador de Pacotes" à esquerda e "Limpar Kernel" no painel direito.
Pressione o botão "Desbloquear" no canto inferior direito, digite sua senha.
Selecione na lista exibida as imagens e cabeçalhos do kernel que você deseja remover. O kernel em uso não está listado.
Pressione o botão "Limpeza" no canto inferior direito para remover as imagens e cabeçalhos do kernel selecionados.
Remova os sistemas operacionais no menu Grub
Outros sistemas operacionais que foram removidos do computador também serão removidos do menu quando o "update-grub" for executado como root.
Os itens de menu são colocados no menu Grub2 por scripts. Se você não deseja que outros sistemas operacionais sejam inseridos no menu, desative /etc/grub.d/30_osprober
Execute este comando para parar a execução do script
sudo chmod -x /etc/grub.d/30_os-prober
DISABLE_30_OS-PROBER = 'true' em / etc / default / grub
Remova o Memtest86 + no menu Grub
sudo chmod -x /etc/grub.d/20_memtest86+
Fonte
Nota: Após a atualização do kernel, uma nova entrada é adicionada ao menu do GRUB. Você pode remover a mais antiga, se desejar. No entanto, os usuários mais experientes aconselham você a manter pelo menos uma entrada de reposição, caso algo dê errado com uma atualização e você precisa inicializar uma versão mais antiga do kernel para fins de solução de problemas.
Maneira alternativa de remover entradas do Kernel (anteriores à 10.04)
para GRUB não GRUB2
gerente de startup
Você pode encontrá-lo em Sistema >> Administração >>
Você vê na segunda captura de tela que pode selecionar quantos kernels mostrar? Geralmente, mantenho o item 1, mas quando recebo uma atualização do kernel, sempre o altero para 2 antes de reiniciar, para que eu possa selecionar o kernel mais antigo se o novo kernel tiver problemas com o meu hardware. Uma vez que eu sei que o novo kernel está funcionando bem, mudo de volta para 1.
fonte
Puramente na linha de comando, isso removerá todos, exceto o atual e o segundo mais atual (através do "-2" no comando principal abaixo):
fonte
dpkg -l linux-* | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e [0-9] | xargs sudo apt-get -y purge
linux-libc-dev:amd64
que não deve ser removido.awk '{print "linux-image-" $0}'
.Atualização:
purge-old-kernels
está obsoleta hoje em dia.Eu criei um script para limpar os kernels, mesmo em condições difíceis. É chamado
linux-purge
e você pode encontrá-lo aqui .Se você quiser apenas limpar os kernels (e os pacotes relacionados) mais antigos que o kernel atualmente usado, quando o sistema não estiver quebrado, você poderá usar este script .
Há também uma página de documentação do Ubuntu que contribuí para a remoção de kernels antigos aqui .
fonte
purge-old-kernels
não está na versão precisa (1.22) do bikeshed. Existe uma maneira razoável / segura de obter uma bikeshed mais recente para obter uma precisão? Ou seria mais simples / seguro instalar apenas o script? Eu prefiro usar um repo no entanto, apesar da longa lista de dependências ..dlocate -lsbin bikeshed
Você pode seguir o Usando o pacote "atualizações autônomas" do artigo Atualizações automáticas de segurança no Ubuntu Wiki para fazer isso.
Você precisa alterar a seguinte linha em arquivo /etc/apt/apt.conf.d/50unattended-upgrades ;
com
remover automaticamente pacotes antigos, incluindo kernels.
Também remova ou comente a linha
na seção "NeverAutoRemove" do arquivo /etc/apt/apt.conf.d/01autoremove.
fonte
apt-get autoremove
ao meu trabalho diário do cron que realmente faz as atualizações, pois ele nem sempre passa pelo gerenciador de atualizações interno.A maneira mais rápida / simples (aplicável pelo menos desde 12.04) possível que já vem com o Ubuntu é
apt-get
. Faça o seguinte se desejar remover todas as versões mais antigas do kernel que não estão em uso (exceto a anterior que você não está usando. Isso é para garantir que, se a versão atual do kernel falhar de alguma maneira, você tenha um caminho a percorrer. de volta a um estado anterior). Faça o seguinte:Isso eliminará quaisquer arquivos antigos (incluindo versões do kernel) que você possa ter. Observe que, se você tiver muitas versões antigas, levará um tempo, pois é necessário garantir que a remoção da versão do kernel não tenha problemas. Para mim, a remoção das últimas 12 versões do kernel levou cerca de 2 minutos. Você também pode fazer o seguinte:
O que eliminará tudo o que é baixado e armazenado na pasta de cache do apt. Por fim, você tem:
que verifica se há pacotes não utilizados e os remove, se necessário. Isso é ótimo para as bibliotecas e pacotes de dependência que não são mais necessários por qualquer aplicativo instalado.
fonte
sudo apt-get autoremove
remove os kernels antigos (mais de uma versão atrás) na versão 14.04. Talvez você precise executá-lo antes e depois de atualizar seu kernel. Quando executei antes da atualização, ele apenas removeu a versão genérica do kernel antigo. Depois de atualizar meu kernel, ele também removeu a versão de baixa latência do kernel antigo.sudo apt-get autoclean
comando. @tekNorah Instalei alguns kernels mais antigos e depois executeisudo apt-get autoremove
no Ubuntu Studio 14.04. Não removeu nenhum núcleo. Eu tenho apenas kernels de baixa latência instalados. Por que você tem os kernels -generic e -lowlatency instalados?10.04 Método GUI
O Janitor de Computador pode limpar os kernels antigos e acredito que esteja instalado por padrão no Ubuntu (mas não no Kubuntu).
O GRUB 1, se você estiver usando isso, tem uma opção
/boot/grub/menu.lst
para especificar quantos kernels deve mostrar no máximo. GRUB 2, tanto quanto eu posso dizer, não.fonte
Para descobrir quais kernels e cabeçalhos estão instalados, use
Em seguida, você pode removê-los um por um ou juntos, mas mantenha o mais recente.
Existem também alguns comandos e scripts úteis para automatizar a remoção.
http://ubuntuforums.org/showthread.php?t=1658648
As seguintes reivindicações para remover todos os kernels e cabeçalhos não utilizados:
(use
apt-get -y
para remover sem questionar)Aqui está o que acontece quando executado em 18.04.1:
fonte
linux-libc-dev
está instalado.linux-libc-dev
corresponda ao número da versão do currenternel atual então. Aquidpkg -l linux-libc-dev | sed '/^ii/!d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'
imprime linux-libc-dev: amd64grep -E "(image|headers)"
.-y
bandeira com purga, por favor ..!Para remover os kernels de imagens mais antigos do Linux, primeiro inicie o kernel que deseja manter.
Você também pode verificar a versão do kernel usando o comando
uname -r
para não remover a errada por engano.Agora vá ao gerenciador de pacotes sinápticos e procure
linux-image
e remova as versões mais antigas, exceto a mostrada pelo comando superior. Geralmente eu prefiro ir com o mais recente.Agora, quando você reiniciar, verá um menu grub mais limpo.
fonte
Você pode instalar o ubuntu-tweak e, em seguida, vá em Aplicativos -> ferramenta Sistema -> ubuntu tweak e
clique em limpador de pacotes e núcleos limpos. ele não mostra o kernel atualmente usado, portanto você estará sempre seguro.
fonte
Pessoalmente, eu gosto de usar
Synaptic
. Isso me faz sentir mais seguro sobre o que está acontecendo. O único aplicativo que usei que tem a opção de remover kernels antigos é o Ubuntu Tweak .Como remover os kernels que você não está usando:
uname -a
em execução em um terminalfonte
update-grub
é aconselhável.Você pode desinstalar os kernels antigos (
linux-image-...
pacotes) usando o Synaptic, e isso os removerá do menu de inicialização. Tome cuidado para não remover o kernel em execução (você pode verificar sua versãouname -r
).Lembre-se de que ter uma ou duas versões mais antigas pode ajudá-lo a solucionar problemas, caso algo dê errado.
Como alternativa, você pode editar / remover as entradas manualmente (
gksu gedit /boot/grub/grub.cfg
), mas elas serão geradas novamente quando você atualizar para um kernel mais recente. Se você está pensando em removerrecovery mode
opções - não. Eles podem ser úteis se você quebrar algo que o impede de inicializar.Consulte esta página.
fonte
update-grub
qual irá reescrever todos esses kernels.Esta é uma solução pura de linha de comando.
Primeiro gere uma lista de todas as versões instaladas do kernel, exceto o kernel atualmente em execução:
Como alternativa, gere uma lista de todas as versões instaladas do kernel, exceto as duas últimas:
Examine a lista. Verifique se as versões do kernel que você deseja manter não fazem parte da lista. Use o comando
uname -r
para ver a versão do kernel atualmente em execução.Se você estiver satisfeito com os resultados, poderá usar
apt-get
para remover os pacotes.Primeiro, um funcionamento a seco (usando o primeiro gerador como exemplo):
Então uma corrida real:
Se você deseja automatizar o processo, adicione o
--yes
parâmetro:fonte
sudo apt-get purge -- $(ls -1U /boot/vmlinuz* | cut -d- -f2,3 | sort -uV | head -n -2 | awk -v c=$(uname -r | cut -d- -f1,2) '($0==c){exit} //' | sed -r -e 's/\./\\./g' -e 's/.*/-&($|-)/')
. Não há necessidade,dpkg-query
poisapt-get
pode lidar com expressões regulares. Observe como eu escapei de pontos e adicione prefixo e sufixo na expressão regular. Usando o script em minha própria resposta, você também pode manter alguns kernels mais antigos que o atual.A vantagem desta resposta é que o Ubuntu Bash nativo é usado sem a instalação de aplicativos de terceiros. Usuários de kernels personalizados que não usaram
apt
oudpkg
podem alterar esse script bash para atender às suas necessidades. Esta resposta é baseada em ( Como limpar seletivamente os kernels antigos de uma só vez ).Solução baseada em Zenity
O Zenity fornece uma interface gráfica agradável ao terminal para processar uma lista e selecionar itens com botões de opção :
Como o título indica, o kernel atual com o qual você inicializou não pode ser removido e não está incluído na lista. O tamanho relatado é quanto será salvo no
/boot
diretório. Mais é salvo no seu disco porque os binários do kernel também residem em outras áreas. 27 de julho de 2017 nota: Os diretórios/usr/src/*kernel_version*
e/lib/modules/*kernel_version*
agora também estão incluídos.A data de modificação é descoberta usando o
stat
comando No meu sistema, essa data é "tocada" toda vez que o kernel é inicializado usando este ( como descobrir quando uma versão específica do kernel foi inicializada pela última vez? ) Cron reboot script. No entanto, no seu sistema, a data será a data de lançamento do kernel, não a última vez que você o inicializou.apt-get purge
dá a você a chance de abortarVocê terá a oportunidade final de visualizar tudo o que será eliminado e ver o espaço total em disco (um tanto enganoso) que será recuperado:
O código
Copiar este código a um arquivo executável chamado
rm-kernels
em/usr/local/bin
:NOTA: Você precisa de permissão sudo para criar o arquivo, então use:
Para tornar o arquivo executável, use:
Versão do servidor
rm-kernels-server
é a versão do servidor para excluir seletivamente os kernels de uma só vez. Em vez de uma caixa de diálogo gráfica (GUI), uma caixa de diálogo baseada em texto é usada para selecionar os kernels a serem limpos.Antes de executar o script, você precisa instalar a função de diálogo usando:
sudo apt install dialog
O diálogo está na instalação padrão do Ubuntu Desktop, mas não no Ubuntu Server.
Tela de amostra
rm-kernels-server
código bashNOTA: Na chamada para
dialog
a diretiva--ascii-lines
é passada para substituir o conjunto de caracteres estendidos de desenho de linha (quessh
não gosta) por "+ ----- +" para caixas de desenho. Se você não gostar dessa aparência, poderá usar a--no-lines
diretiva para nenhuma caixa.28 de julho de 2017 Atualizações
O tamanho calculado de cada kernel foi obtido, dos
/boot/*kernel_version*
quais 5 arquivos totalizando ~ 50 MB. A fórmula foi alterada para incluir os arquivos em/usr/src/*kernel_version*
e/lib/modules/*kernel_version*
. O tamanho calculado para cada kernel é agora ~ 400 MB. O código acima pararm-kernels
erm-kernels-server
foi atualizado. No entanto, as telas de amostra acima ainda não refletem essas alterações.O padrão é estimar o tamanho dos arquivos dos cabeçalhos do linux em 125 MB e da imagem do linux em 220 MB, pois
du
pode ser extremamente lento, a menos que os arquivos estejam no cache. Para obter o tamanho real, usedu
qualquer parâmetro no script.O total de todos os tamanhos de kernel (excluindo a versão atual em execução que não pode ser removida) agora é exibido na barra de título.
A caixa de diálogo usada para exibir a Data de Último Acesso de cada Kernel . Essa data pode ser sobrescrita em massa para todos os kernels durante operações de backup ou similares. A caixa de diálogo agora mostra a Data de modificação .
fonte
Uma maneira fácil de se livrar de quase todos os pacotes obsoletos, que não estão mais em nenhuma lista de pacotes, junto com os kernels obsoletos, é fazer o seguinte:
No entanto, isso não fará com que os pacotes ainda sejam recomendados por outros pacotes, e o argumento -R / - without-recommends não resolve esse problema.
O dselect depois de alternar o modo de classificação com 'o' mostrará todos os pacotes obsoletos, incluindo os que o aptitude perde, mas algumas pessoas não gostam de usá-lo.
fonte
A resposta aceita usando
sed
para remover kernels antigos permanentemente tem algumas falhas, se alguém não reiniciar o computador após a atualização do kernel, o comando também removerá o kernel mais recente.Aqui está uma solução alternativa que considerará todas as situações para remover apenas os kernels antigos mais antigos:
Se você possui uma versão mais recente que a atual, isso fornecerá um aviso para reiniciar o computador primeiro. Observe também que os kernels mais antigos são preservados devido a uma boa razão: se você, de alguma forma, atrapalhar seu kernel atual, tornando seu sistema instável, poderá inicializar qualquer kernel mais antigo.
fonte
sed
soluções.grep -Po "^linux-image-[^-]+-[^-]+-generic\b"
comgrep -Eo "^linux-(image|headers|tools)-[^-]+-[^-]+(|-generic)\s" | sed -e "s/\s//g"
egrep -Po ".*(?=-[a-z]*$)"
comgrep -Eo "^[0-9]+\.[0-9]+\.[0-9]+-[0-9]+"
egrep -Po "[0-9].*(?=-[a-z]*)"
comgrep -Eo "[0-9]+\.[0-9]+\.[0-9]+-[0-9]+"
?O ailurus possui o recurso de remover kernels antigos e configurações não utilizadas. Pessoalmente, removo-o manualmente do synaptic. Você pode instalar o ailurus no getdeb e no ppa
fonte
Eu tenho um script para isso que não precisa de análise de string muito sofisticada.
Remova cabeçalhos e imagens, exceto a atual, para liberar espaço
fonte
Você pode usar o ukuu - é tudo GUI - para atualizar e excluir Kernels antigos. Funciona para mim!
Lembre-se de deixar os 2 últimos instalados e, obviamente, o kernel 'running'.
Você também pode definir o ukuu para mostrar apenas os lançamentos da linha principal, mesmo os kernels RC, os lançamentos dos pontos de ocultação.
Você pode encontrar o ukuu no Synaptic, ou as instruções estão aqui:
Instruções de instalação do OMG! Ubuntu ukuu
fonte
Com base em uma resposta anterior de David Kemp, o script a seguir limpará todos os cabeçalhos e imagens, exceto as duas últimas versões.
(use
apt-get -y
para remover sem questionar)fonte
| xargs sudo apt-get -y purge
completamente). Se imprimir 3.13.0-43 com baixa latência, talvez você tenha algumas versões posteriores às instaladas no seu sistema.Aqui está um esboço do que fiz, com cuidado, pois não sou especialista em Linux, verifique se você sabe o que está fazendo e fez backup de todos os arquivos que está modificando.
depois encontre as entradas que deseja manter, as destacaremos e as copiaremos
você verá uma lista de arquivos como 10_linux e 30_os-prober
isso irá parar de forma automática adicionando todas as entradas linux no menu de inicialização do grub.
abra o arquivo do menu de inicialização personalizado, volte ao grub.cfg (que ainda deve estar aberto no gedit) e copie as entradas que deseja manter ... como
cole-os
40_custom
e salve-o.torna executável, e finalmente atualizamos o grub, que mudará o arquivo grub.cfg:
Agora, tenha cuidado, se você atualizar seu kernel ou sistema operacional, o menu de inicialização provavelmente não será atualizado ... você precisará fazer isso manualmente. Mas fazer esse procedimento permitirá que você personalize um pouco mais o menu de inicialização, como remover a versão do kernel e colocar o nome do ubuntu ... ou seja, Ubuntu Lucid 10.04, etc ...
Espero que alguém ache isso útil, pois levei um tempo para descobrir ... não vi essa solução em lugar algum ...
fonte
Instale o gerenciador de pacotes sinápticos e vá até a guia filtros (acho que filtros, se não tentar todos os 5) e selecione "local". Isso mostrará pacotes órfãos no seu sistema, como os kernels. Depois de desinstalá-los, execute
update-grub
. Esse comando atualiza a lista de opções de inicialização do grub.Se isso falhar, você sempre pode tentar
apt-get remove linux-image-version-generic
.fonte
update-grub
é aconselhável.Para ter um pouco mais de controle sobre quais versões manter, selecione explicitamente as que você deseja remover. Por exemplo, se você deseja remover as versões do kernel 3.2.0. [49-53], use um
for
loop simples :Ajuste a lista de versões do kernel para caber.
fonte
Tente isso. Execute-o como root.
Salve este script como, digamos ./keep-n-kernels.sh
Passe como argumento de linha de comando o número de kernels mais recentes que você deseja preservar.
Uso da amostra:
Se você quiser [E POR SEU PRÓPRIO RISCO], você pode adicionar um -y (ou um sinalizador de força) ao comando apt-get e torná-lo não interativo.
fonte
Estou usando uma área de trabalho do KDE e a opção mais fácil que encontrei foi usar o aplicativo kde-config-grub2, conforme sugerido aqui: https://www.kubuntuforums.net/showthread.php?58075-remove-old-linux-versions (que eu já tinha instalado para definir a imagem de plano de fundo, a opção de inicialização padrão e similares). Ao lado da caixa suspensa onde você pode escolher a entrada padrão, existe um botão "Remover entradas antigas". Clicar neste botão apresenta uma lista de todos os kernels instalados e você pode selecionar quais remover. Quando você aplica as alterações, ele usa o dpkg para removê-las do sistema e também do menu GRUB.
fonte
Apenas para conversar, você também pode emitir
apt-get remove linux-{image,headers}-x.y.z-{1,2,...,n}
como raiz, e o trabalho será feito.
fonte
Se você estiver usando o ansible para controlar as máquinas, este manual pode ser útil.
fonte