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"
Scripts recomendados
Proc_del - Desinstalar programas compilados
Limpando Cache Squid
Repositório Local usando Yum
Limitando Banda
Criação de usuario / gerando senha automatica
Comentários
[1] Comentário enviado por
RW 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.