Verifica quais ports necessitam de atualização
Publicado por Eduardo Mendes 01/09/2006
[ Hits: 12.241 ]
Homepage: http://www.bsdmail.com
Script desenvolvido pelo Garga lá da FUG, muito prático mesmo, para aqueles que trabalham com FreeBSD ou dão manutenção em algum, ele atualiza toda a árvore do Ports automaticamente.
#!/bin/sh ########################################################################## # check_updates.sh # # # # Funcoes: # # # # - Verifica quais ports necessitam de atualizacao, enviando um email # # para o responsavel # # - Usando o parametro '--cvsup' o script ira atualizar a arvore do # # ports do FreeBSD (4.x ou 5.x) e atualiza o INDEX de modo incremental # # usando o software FreeBSD::Portindex # # # # Versao: 0.2 # # # # Autor: Renato Botelho <garga at FreeBSD.org> # # # # Licenca: Este script pode ser livremente alterado ou redistribuido # # sem previa autorizacao do autor, desde que este cabecalho # # seja mantido. # ########################################################################## # Checa se os programas necessarios estao instalados if [ ! -x /usr/local/bin/cvsup ]; then echo "cvsup NAO esta instalado," echo "instale-o usando 'pkg_add -r cvsup-without-gui' antes de continuar" exit 1 fi if [ ! -x /usr/local/bin/cache-update ]; then echo "cache-update NAO esta instalado," echo "instale-o usando o ports 'sysutils/p5-FreeBSD-Portindex'" echo "Leia atentamente a documentacao, rode o cache-init antes de continuar" exit 1 fi if [ ! -x /usr/local/sbin/portsdb ]; then echo "portsdb NAO esta instalado," echo "instale-o usando o ports 'sysutils/portupgrade'" exit 1 fi # Mail que ira receber os avisos de atualizacao MAIL_TO=renato@`/bin/hostname` # Diretorio temporario TMPDIR=/var/tmp/ports # arquivo de configuracao do cvsup para atualizar a arvore do ports PORTS_SUPFILE=/usr/local/etc/cvsup/ports-supfile # Verifica a versão do Free para calcular o nome do arquivo INDEX do ports VERSAO=`/usr/bin/uname -v | /usr/bin/sed 's/^[^ ]* \([0-9]\).*$/\1/'` if [ $VERSAO -le 4 ]; then INDEXFILE=INDEX else INDEXFILE=INDEX-$VERSAO fi # Atualiza a arvore e gera o INDEX atualizado if [ "$1" = "--cvsup" ]; then [ ! -d $TMPDIR ] && mkdir $TMPDIR if [ ! -e $PORTS_SUPFILE ]; then echo "Arquivo $PORTS_SUPFILE nao existe, impossivel executar o cvsup" exit 1 fi if [ -x /usr/local/bin/fastest_cvsup ]; then CVSUP_SERVER=`/usr/local/bin/fastest_cvsup -Q -c tld` else CVSUP_SERVER="cvsup17.freebsd.org" fi if /usr/local/bin/cvsup -g -L2 -r 3 -h $CVSUP_SERVER $PORTS_SUPFILE >$TMPDIR/cvsup.out 2>&1; then /usr/local/bin/cache-update -i $TMPDIR/cvsup.out && \ /usr/local/bin/portindex -o $TMPDIR/$INDEXFILE && \ cp -vf $TMPDIR/$INDEXFILE /usr/ports/$INDEXFILE && \ /usr/local/sbin/portsdb -u fi fi # Verifica os pacotes que necessitam de atualizacao if [ -e /usr/local/sbin/portversion ]; then UPDATES=`/usr/local/sbin/portversion -v -L '=>'` else UPDATES=`/usr/sbin/pkg_version -v -L '=>'` fi # Envia um mail para avisar quais os pacotes necessitam de atualizacao, se existir algum if [ "$UPDATES" != "" ]; then echo "$UPDATES" | /usr/bin/mail -s "[PORTS] atualizacoes `/bin/hostname`" $MAIL_TO fi
Visual para tcpdump com dialog
Script de iniclização do Exim para Funcionamento com MailScanner
Script para Firewall de Borda Corporativo
Nenhum comentário foi encontrado.
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalando Navegador Firefox no Debian 12
Bloqueando propagandas no Youtube e outros sites com o uBlocker Origin
Criando um Pen Drive Bootável no Linux
Como usar o WhatsApp no PC sem precisar escanear o qrcode ou utilizar... (1)
Pi Network.... alguém minera? (7)
Atenção a quem posta conteúdo de dicas, scripts e tal (3)