Pular para o conteúdo

Remover kernels antigos com zenity

Script para remoção de kernels antigos utilizando interface gráfica Zenity.
Primeiro exibe a lista de kernels instalados, com exceção do kernel atualmente em uso.
Após selecionados, exibe uma confirmação com os itens selecionados antes de iniciar a remoção.
Alysson lacabeza
Hits: 4.471 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Script para remoção de kernels antigos utilizando interface gráfica Zenity.
Primeiro exibe a lista de kernels instalados, com exceção do kernel atualmente em uso.
Após selecionados, exibe uma confirmação com os itens selecionados antes de iniciar a remoção.
Download remove_kernel.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash
# Remove kernels antigos com zenity.
#   Alysson Gonçalves
#   agalysson@gmail.com
#
# Referências:
#   http://linux.byexamples.com/archives/265/a-complete-zenity-dialog-examples-2/  
#   http://ubuntugenius.wordpress.com/2011/01/08/ubuntu-cleanup-how-to-remove-all-unused-linux-kernel-headers-images-and-modules/
#   

# Exige permissão de administrador
if [ `id -u` != 0 ]; then
    echo É preciso ser root.
    exit 1
fi

# Obtem a lista de kernels instalados e não usados
lista=`dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | cut -d- -f-2)"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/FALSE \1/;/[0-9]/!d'`

if [ -z "$lista" ]; then
    `which zenity` --info --title="Informação" --text="Não há kernels antigos instalados"
    exit 0
fi

# Variavel com o caminho absoluto do zenity e alguns parâmetros
zenity=`which zenity`" --width=400 --height=300 --window-icon=/usr/share/icons/hicolor/48x48/status/aptdaemon-working.png --list --checklist --column Selecione --column Kernel --separator=\n"

# Exibe a lista de kernels que podem ser removidos.
selecionado="`$zenity --title="Selecione os kernels a serem removidos" --text="A versão atual do kernel é: $(uname -r)\nLista de kernels antigos" $lista | sed 's/^/TRUE /g'`"

# Se nenhum for selecionado, sai
[ -z "$selecionado" ] && exit 0

# Pede uma confirmação antes de prosseguir com a remoção
remover="`$zenity --title="Confirme a seleção" --text="Deseja remover os seguintes kernels?" --hide-column=1 $selecionado`"

# Se o "OK" da confimação não for pressionado, sai
[ -z "$remover" ] && exit 0

# Variavel com o caminho absoluto do zenity e alguns parâmetros
zenity=`which zenity`" --width=400 --progress --pulsate --auto-close --no-cancel --window-icon=/usr/share/icons/hicolor/48x48/status/aptdaemon-working.png"

# Executa a remoção dos pacotes
apt-get purge -y $remover | $zenity --title="Removendo pacotes"

Trocar string A por string B em vários arquivos

Monitorando processo do Squid em diferentes redes

Compilação de módulos para VMware 12.5.7 no Fedora 26

Sincronização entre Servidores de Impressão

Front-end para administração do Samba

#1 Comentário enviado por removido em 15/07/2012 - 12:59h
Excelente, é de scripts assim que precisamos.

Valeu.

Abs.
#2 Comentário enviado por klebsonp em 15/07/2012 - 21:04h
Esqueceu de dizer que o script só funciona em distribuições Debian-like.
#3 Comentário enviado por lacabeza em 16/07/2012 - 00:49h
É verdade, pequei nesse ponto.
Confesso que nem me passou na cabeça sobre adaptar para outras distros... por não usar outras distros.

xD
#4 Comentário enviado por albfneto em 16/07/2012 - 12:15h
script bom. favoritado.

Contribuir com comentário

Entre na sua conta para comentar.