Atualização automática do Slackware
Publicado por Perfil removido (última atualização em 22/12/2009)
[ Hits: 6.498 ]
Simplifique na hora de atualizar o seu Slackware, torne esta tarefa automática!
Testado em Slackware 13
Requerimentos:
- slackpkg já configurado
- dialog
#!/bin/bash #verifica se o usuario logado é o root, caso nao seja ele sai do script if [ ! `whoami` = "root" ]; then echo echo echo "########" "Você precisa do prefilegio root para atualizar" "########" echo echo sleep 1 exit 1 fi clear # FUNÇÔES Manual() { if [ -n "$zzz" ]; then if [ "$zzz" = aaa ];then dialog --title 'Erro' --msgbox "\nInsira um parametro valido" 0 0 zzz=a Manual exit 1 fi fi h=`echo -e "-h \t help 'manual'"` r=`echo -e "-r \t remover os dados criados"` rl=`echo -e "-rl \t remover os logs do slackpkg"` i=`echo -e "-i \t instala programas"` dialog --title 'Manual' --backtitle 'dgf' --msgbox "\n$h \n$r \n$rl \n$i" 0 0 } #==================================================================================== # remove arquivos se desejar Remover() { texto=`echo -e "Deseja remover os arquivos criado pelo script?"` dialog --title 'dgf atualização' --backtitle 'dgf' --yesno "$texto" 0 0 case "$?" in #remove os arquivos criados se desejar 0) rm -rf $DIR dialog --title 'Aguarde' --infobox '\nArquivos removidos!' 0 0 ; sleep 1 ;; 1) exit 1 ;; esac } #===================================================================================== Remover2() { texto=`echo -e "Deseja remover os logs do slackpkg?"` dialog --title 'dgf atualização' --backtitle 'dgf' --yesno "$texto" 0 0 case "$?" in #remove os logs criados se desejar 0) rm -rf /var/lock/slackpkg.* dialog --title 'Aguarde' --infobox '\nLogs removidos!' 0 0 ;; 1) exit 1 ;; esac } #===================================================================================== # verifica se o slackpkg esta instalado ou baixa e instala se desejar Atualiza() { while [ "$s" = "$d" ] ; do texto=`echo -e "Deseja baixar agora?"` texto2=`echo -e "Instale o slackpkg para executar a atualização"` dialog --msgbox "$texto2" 0 0 ; sleep 2 dialog --title 'dgf atualização' --backtitle 'dgf' --yesno "$texto" 0 0 case $? in 0) dialog --title 'Atualização' --infobox '\nBaixando dependencias...' 0 0 wget -c "http://downloads.sourceforge.net/project/slackpkg/slackpkg/slackpkg-2.70.4/slackpkg-2.70.4-noarch-1.tgz?use_mirror=ufpr" Atualiza1B() { texto=`echo -e "Deseja instalar agora?"` dialog --title 'dgf atualização' --backtitle 'dgf' --yesno "$texto" 0 0 case "$?" in 0) dialog --title 'Instalação' --infobox 'Instalando...' 0 0 installpkg slackpkg-*.tgz ;; 1) exit 1 ;; esac } Atualiza1B ;; 1) exit 1 ;; esac done } #===================================================================================== #verifica se o sistema esta atualizado e se o usuario quer instalar a(s) atualização(ões) Atualiza2() { texto=`echo -e "Deseja atualizar seu sistema agora?"` dialog --title 'dgf atualização' --backtitle 'dgf' --yesno "$texto" 0 0 case "$?" in 0) dialog --title 'Aguarde' --infobox '\nAtualizando...!' 0 0 slackpkg upgrade-all Remover ;; 1) Remover ;; esac } #===================================================================================== Bloco1() { slackpkg > $DIR/a s=`grep "command not found" $DIR/a` d="command not found" } #===================================================================================== Bloco2() { slackpkg check-updates > $DIR/aa a=`grep "No news is good news" $DIR/aa` i="No news is good news" } #===================================================================================== Diretorio() { DIR=~/ATUALIZAÇÃO if [ -e "$DIR" ]; then dialog \ --title 'Aguarde' \ --infobox '\nDiretorio verificado!' \ 0 0 else dialog --title 'Aguarde' --infobox '\nCriando diretorio!' 0 0 && mkdir "$DIR" fi } #===================================================================================== Atualiza() { #verifica se o slackpkg esta atualizado, se nao estiver atualiza o slackpkg until [ "$a" = "$i" ] ; do slackpkg update slackpkg check-updates > $DIR/aa a=`grep "No news is good news" $DIR/aa` done } #===================================================================================== #===================================================================================== #===================================================================================== #===================================================================================== # FIM DAS FUNÇÔES if [ -z "$1" ]; then Diretorio Bloco1 Atualiza Bloco2 Atualiza Atualiza2 else if [ -z "$2" ]; then if [ "$1" = "-h" ]; then Manual elif [ "$1" = "-r" ]; then Remover elif [ "$1" = "-rl" ]; then Remover2 elif [ "$1" = "-i" ]; then Diretorio texto=`echo -e "Digite o nome do programa:"` nome=$( dialog --stdout --title 'dgf atualização' --backtitle 'dgf' --inputbox "$texto" 0 0 ) dialog --title 'Instalação' --infobox '\nVerificando possivel instalação!' 0 0 slackpkg install $nome > $DIR/log Remover fi else if [ "$1" = "-i" ]; then Diretorio dialog --title 'Instalação' --infobox '\nVerificando possivel instalação!' 0 0 ; sleep 1 slackpkg install $2 > $DIR/log Remover else zzz=aaa Manual fi fi fi
Converter Wav para MP3 usando Lame e PPSS para multi processamento via shell script - Asterisk
Transforme a manpage e infopage em pdf e texto
Desligar máquinas virtuais Xen
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Instalar sem formatar, pergunta meio boba. (3)
O que esta havendo com o mercado de ti? (9)
Não consigo cadastrar nenhuma conta online (5)