Desinstalador de aplicativos.
Publicado por David 02/08/2007
[ Hits: 6.296 ]
Homepage: http://twitter.com/dias_david
Alguns programas como google earth, picasa, unreal e outros joguinhos são bem bacanas e fáceis de se instalar, porém, muitas vezes a desinstalação torna-se um suplício.
Esse script feito para o KDE (Kurumin e Kubuntu, por exemplo) é uma mão na roda nesses casos.
Quem se interessar em portá-lo para outras linguagens de scripts, como zenitty e Dialog, fique a vontade.
#!/bin/sh # # Script legal para desinstalar programinhas que não tem desinstalador # # Desenvolvido por professordavid@gmail.com # # Colabore para que este script continue LIVRE e FUNCIONAL. ############################################################################ # Verifica pelo kdialog if ! which kdialog; then echo "Kdialog não foi encontrado em seu sistema. Voce deve instalar o KDE para executar esse script" exit ; fi # Verificação de permissão do sudo. # ( Obrigado à Carlos E. Morimoto ) if ! echo a | sudo -S whoami; then kdialog --yesno "Você não tem permissão suficientes para executar esse script. Gostaria de ativar o sudo para sua execução? Ps.: Será necessário saber a senha de root" if [ $? = 0 ];then kdesu "echo `whoami` ALL = NOPASSWD: ALL >> /etc/sudoers"; else kdialog --error "O desinstalador não poderá ser executado." exit ; fi fi # Limpa pesquisa anterior. if [ -e /tmp/desinstalador ]; then echo "Limpando pesquisa anterior" echo "sudo rm -rf /tmp/desinstalador" sudo rm -rf /tmp/desinstalador fi dia='kdialog --title Desinstalar --caption Programas --icon linuxconf ' msg1="Digite o nome do programa que você quer desinstalar" msg2="Localizando e removendo seu aplicativo, isso pode levar vários minutos." alvo=$($dia --inputbox "$msg1") if [ -z $alvo ]; then exit; fi if [ `echo $alvo |wc -w ` -gt 1 ]; then $dia --error "Escreva apenas uma única palavra para o seu programa. ex: googleearth" exit; fi $dia -passivepopup "$msg2" & progress=`$dia --progressbar "Preparando a desinstalação" 9` dcop $progress setProgress 1 dcop $progress setLabel "Iniciando busca" sleep 1 if [ ! -e /tmp/updatedb ];then pidia=`ps ax |grep kdialog |grep passivepopup |cut -d " " -f 2`; sudo kill -9 $pidia sleep 1 $dia --passivepopup "Na primeira atualização de banco de dados, a busca costuma demorar varios minutos. Essa espera é normal, seu computador não está travado :-D " & touch /tmp/updatedb dcop $progress setProgress 2 dcop $progress setLabel "Atualizando banco de dados pela primeira vez" sudo updatedb --prunefs='smbfs cifs'; else dcop $progress setProgress 2 dcop $progress setLabel "Atualizando banco de dados" sleep 1 fi locate $alvo > /tmp/desinstalador dcop $progress setProgress 5 dcop $progress setLabel "Localizando arquivos de $alvo" sleep 1 dcop $progress setProgress 7 dcop $progress setLabel "Busca por $alvo finalizada" sleep 1 qtfiles=`cat /tmp/desinstalador |wc -l` if [ $qtfiles = 0 ]; then dcop $progress setProgress 9 dcop $progress setLabel "erro encontrado..." sleep 1 dcop $progress close $dia --error "Nenhum arquivo com $alvo foi encontrado. Revise sua busca." exit ; else dcop $progress setProgress 9 dcop $progress setLabel "encontrados $qtfiles arquivos com o nome $alvo. Preparando-se para remover." sleep 1 dcop $progress close fi $dia --yesno "Serão deletados $qtfiles arquivos... Deseja continuar? " if [ $? != 0 ]; then exit; fi progress=`$dia --progressbar "Preparando a desinstalação" $qtfiles` bar=1 dcop $progress setProgress $bar dcop $progress setLabel "Preparando a desinstalação" sleep 1 bar=$((bar+1)) for i in `cat /tmp/desinstalador`; do sudo rm -rf $i dcop $progress setProgress $bar dcop $progress setLabel "Removendo... $i"; bar=$((bar+1)) done dcop $progress close $dia --msgbox "$alvo removido com sucesso!! "
check_mem.sh - Plugin para o Nagios
Monitora HD e envia e-mail caso atinja a um limite utilizado
Localizar arquivos por extensão e mostrar relatório
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)
De volta para o futuro - ou melhor, para o presente (parte 2) (0)









