Desinstalador de aplicativos.
Publicado por David 02/08/2007
[ Hits: 6.173 ]
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!! "
Tratamento de zeros a esquerda
Abrir o browser lynx direto na página do Google
Gerador de senhas personalizadas
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Ubuntu com problemas no áudio (2)
Debian 13 "trixie&... lançado! (44)
Rust é o "C da nossa geração"? (3)
Gerenciador de arquivos é finalizado ao abrir pasta específica (2)