Pular para o conteúdo

Verifica quais ports necessitam de atualização

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.
Eduardo Mendes those
Hits: 12.772 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.
Download check_updates.sh Enviar nova versão

Esconder código-fonte

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

SERVIDOR DHCP EM 5 MINUTOS

Filtrando processos facilmente com psaux ( ps aux + grep + wc -l)

NFS server/client com iptables

Trocar string A por string B em vários arquivos

ADMINISTRANDO USUARIOS COM XDIALOG

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.