Atualização do FreeBSD
Publicado por Perfil removido (última atualização em 24/04/2010)
[ Hits: 7.679 ]
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
#!/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
Bash script para converter decimal para hexadecimal mole!
PKG Sync v3.0 - Utilitário para backup de pacotes deb baixados - Versão final
Verifica conexão de Net Virtua
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









