Atualização do FreeBSD
Publicado por Perfil removido (última atualização em 24/04/2010)
[ Hits: 7.426 ]
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
Verifica últimos arquivos criados
Enviar e-mail via shell script usando e-mail autenticado
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta