Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Douglas Giorgio Fim em (última atualização em 22/12/2009)   [ 3015 hits ]

Login: douglas.giorgio, 357489 pontos

Homepage: http://freebsdwallpapers.blogspot.com/   


Descrição

Simplifique na hora de atualizar o seu Slackware, torne esta tarefa automática!

Testado em Slackware 13

Requerimentos:

- slackpkg já configurado
- dialog

[ Download: dgfconf ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#!/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

Scripts recomendados
   Script Linux recomendado Script Nagios
   Script Linux recomendado Bloqueando o acesso à internet
   Script Linux recomendado Busca de arquivos nas ports FreeBSD
   Script Linux recomendado Go Script - Inicia sessões ssh
   Script Linux recomendado Fazendo Perguntas

Comentários
[1] Comentário enviado por nilodanx52 em 22/12/2009 - 10:13h:

Douglas eu to com o slackware 12.2 porem consego usar pacotes do 13(.txz) e como sou iniciante em linux ainda quero saber se esse script funfa no meu S.O.?

É um simples: SIm ou Não! rsrsrsrs

[2] Comentário enviado por douglas.giorgio em 22/12/2009 - 11:51h:

script eh traduzido pelo shell, caso seu slackware tenha o shell "logico que tem xD" que tenha o slackpkg "caso nao tenha, instale aki na comu tem artigos sobre ele" e caso tenha o dialog "normalmente ja vem em todos os linux" vai funcionar sim xD


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.