Linux slogan
Visite também: BR-Linux.org · Dicas-L · SoftwareLivre.org · UnderLinux

Linux banner
Linux banner
Linux banner
Linux banner


» Screenshot
Linux: Mario AllStar
Por eksotan


Scripts

Linux user

Publicado por Douglas Giorgio Fim em (última atualização em 24/04/2010)   [ 5262 hits ]

Login: douglas.giorgio, 456425 pontos

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

Download:



Descrição

Este script foi desenvolvido para facilitar a atualização do FreeBSD, mesmo quem não tem muito conhecimento consegue atualizar o sistema de uma forma simples e completa, ainda mostra os programas que precisam ser atualizados e é possível atualizar determinado programa ou todos sem complicação.

Também é possível usar alguns parâmetros "não obrigatórios":

-i - para você interagir com o script;
-v - para visualizar o a execução do script com mais detalhes;
numero - o número seria o tempo para começar a fazer a atualização, pode ser usada na inicialização do FreeBSD e colocar para inicializar a atualização depois de 30 segundos.

Modo de uso:

./dgfupdate.sh -i -v 10



[ Download: dgfupdate.sh ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#!/usr/local/bin/bash
# -----------------------------------------------------------------------
# - Feito por: Douglas Giorgio Fim               -
# - E-mail: douglasfim@yahoo.com.br                  -
# - MSN: dgf_skt@hotmail.com                  -
# - Programa: dgfupdate                     -
# - Versao: 1.0                        -
# -                           -
# - Este script pode ser alterado e distribuido por qualquer pessoa,   -
# - desde que este quadro se mantenha inalterado!         -
# -                            -
# - Obs.: Este script foi desenvolvido para facilitar a atualização do FreeBSD   -
# -----------------------------------------------------------------------

numero=
numero2="$numero"
verbose=

FIM() {
echo "Fim da atualização."
echo -n 'Aperte <Enter> para sair: '; read nada
exit 1
}

if [ -n "$1" ]; then
   if [ "$1" = '-v' ]; then
      verbose=1
   elif [ "$1" = '-i' ]; then
      atualizacao=
   else
      sleep $1
   fi
fi
if [ -n "$2" ]; then
   if [ "$2" = '-v' ]; then
      verbose=1
   elif [ "$2" = '-i' ]; then
      atualizacao=
   else
      sleep $2
   fi
fi
if [ -n "$3" ]; then
   if [ "$3" = '-v' ]; then
      verbose=1
   elif [ "$3" = '-i' ]; then
      atualizacao=
   else
      sleep $3
   fi
fi



echo "Atualizando as ports: "
if [ "$verbose" = '1' ]; then
   portsnap fetch update
   echo ''
else
   portsnap fetch update > /dev/null
fi

echo "Verificando as versões: "
verificacao=`portversion -v | grep -w '<' | awk '{print $1}' | sed -e 's/\(.*\)-\(.*\)/\1/;s/[ ]//g' | awk  'NF>0' | nl`

while [ "$resultado" != 'c' ]; do
if [ "$verificacao" != '' ]; then
   echo "$verificacao"
   while [ "$numero" = '' ]; do
      echo -n 'Digite o(s) numero(s) do(s) programa(s) que deseja atualizar, 0 para todos ou "c" para cancelar: ' ; if [ -z "$numero" ]; then read numero; fi
   done
   verificacao2=`echo "$verificacao" | grep -w "$numero" | awk '{print $2}'`
   escolha=`echo "$numero" | grep -w '0' | sed 's/[ ]//g'`
   escolha2=`echo "$numero" | grep -w [cC] | sed 's/[ ]//g' | tr '[:upper:]' '[:lower:]'`
   
   if [ "$escolha" = '0' ]; then
      if [ "$escolha2" = 'c' ]; then
         echo "Parametro invalido."
         exit 1
      else
         resultado='0'
      fi
   elif [ "$escolha2" = 'c' ]; then
      resultado='c'
   fi
   
   case $resultado in
   0)
      echo -n "0 para atualização simples, 1 para atualização avançada: "; if [ -z "$nivel" ]; then read nivel; fi
      if [ -z "$nivel" ]; then
        nivel=0
      fi
      if [ "$nivel" = '0' ]; then
        for i in `echo "$verificacao" | awk '{print $2}'`; do
           echo "atualizando $i"
           portupgrade -PRDuk $i
        done
      elif [ "$nivel" = '1' ]; then
        echo "Atualizando..."
        portupgrade -PRDuka
      fi
      echo "Atualização completada"
      FIM ;;
   c)
      echo "Atualização cancelada."
      exit 1 ;;
   *)
      for i in `echo "$verificacao2"`; do
         echo "atualizando $i"
         portupgrade -PRDuk $i
      done
      verificacao=`portversion -v | grep -w '<' | awk '{print $1}' | sed -e 's/\(.*\)-\(.*\)/\1/;s/[ ]//g' | awk  'NF>0' | nl`
      ;;
   esac
else
   echo "Seu sistema ja está atualizado."
   resultado='c'
fi
numero=
done

FIM



Scripts recomendados
   Script Linux recomendado script para travar usuario discado
   Script Linux recomendado Cadastrando usuários para email no Slackware de forma mais simples
   Script Linux recomendado geotables
   Script Linux recomendado Configurando a raiz do seu servidor apache facilmente.
   Script Linux recomendado Criando usuário com poderes de root

Comentários
[1] Comentário enviado por irado em 25/04/2010 - 11:56h:

oi, douglas.

notei que NÃO É atualização completa do sistema, mas apenas atualização do ports, que é UMA das etapas apenas. Mas já está de bom tamanho :)

flames > /dev/null


[2] Comentário enviado por albertguedes em 25/04/2010 - 15:45h:

E Viva o FreeBSD !


[3] Comentário enviado por alaxricard em 26/04/2010 - 12:56h:

Amigo o FreeBSD ele naum tem em português e por enquantos eu só estou ultilizando os Linux em português pra pegar a pratica.


[4] Comentário enviado por douglas.giorgio em 23/08/2010 - 12:00h:

na verdade ele só atualiza as ports, o FreeBSD em si não, por enquanto não, ja criei uma nova atualização, tive que refazer quase tudo e ainda não terminei, vou colocar a opção de atualizar o sistema por completo



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.