Pular para o conteúdo

Atualização Multilib no Slackware

Sou pouco hábil com scripts, mas a necessidade faz coisas. Gosto de manter meu sistema atualizado, mas não gosto de perder tempo. Venho maquinando e procurando alguma coisa há algum tempo, de como poderia verificar se existe alguma mudança no multilib do Slackware para daí atualizá-lo, até que cheguei neste script.

Aqui faço um download da página html e comparo com um download anterior e se houver qualquer mudança nos pacotes, ele faz o processo de instalação novamente. Ainda não consegui que seja comparado pacote por pacote sendo que qualquer alteração em um deles, todos serão atualizados.

Se alguém puder melhorar este ponto agradeço!
wellington sarria
Hits: 2.140 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Sou pouco hábil com scripts, mas a necessidade faz coisas. Gosto de manter meu sistema atualizado, mas não gosto de perder tempo. Venho maquinando e procurando alguma coisa há algum tempo, de como poderia verificar se existe alguma mudança no multilib do Slackware para daí atualizá-lo, até que cheguei neste script.

Aqui faço um download da página html e comparo com um download anterior e se houver qualquer mudança nos pacotes, ele faz o processo de instalação novamente. Ainda não consegui que seja comparado pacote por pacote sendo que qualquer alteração em um deles, todos serão atualizados.

Se alguém puder melhorar este ponto agradeço!
Download update32 Enviar nova versão

Esconder código-fonte

#!/bin/bash

#Arquivos para comparação:
#Dados da página do multilib
CMP1=/home/$USER/14.2/.index.0.html
CMP2=/home/$USER/14.2/.index.html
#Arquivo de comparação entre o download anterior e o atual
UP=/home/$USER/14.2/.up

#Diretório de download dos pacotes 
DIR=/home/$USER/14.2

#Apagando o arquivo de comparação e criando um novo limpo 
if [ -e "$UP" ] ; then
   rm $UP
fi   
> $UP

#Testando se os arquivos de dados da página do multilib existem
if [ -e "$CMP1" ] && [ -e "$CMP2" ] ; then
   rm $CMP1
   mv $CMP2 $CMP1
#Download da página do multilib
   wget -c http://slackware.com/~alien/multilib/14.2 -O $CMP2
else 
   echo " Falta arquivo de comparação, proceder manualmente a partir de agora "
   exit 1
fi

#Comparando se o arquivo atual é igual ao anterior e guardando o resultado na variável $UP
diff -q $CMP1 $CMP2 | cut -d" " -f6,7 > $UP

#Resultado do teste acima, caso contenha o texto "são diferentes" o sistema será atualizado.
UPD=`cat $UP`

#Teste para atualização ou saida do script.
if [ "$UPD" = 'são diferentes' ] ; then
#Verifica se a pasta para download existe e cria se for necessário.
   if [ ! -e $DIR ] ; then
      mkdir $DIR ;
#Processo de atualização segundo a página: http://www.slackware.com/~alien/multilib/
      lftp -c 'open http://slackware.com/~alien/multilib/ ; mirror -c -e 14.2';
      cd $DIR
      upgradepkg --reinstall --install-new *.t?z
      upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z
   else 
      lftp -c 'open http://slackware.com/~alien/multilib/ ; mirror -c -e 14.2' ;
      cd $DIR
      upgradepkg --reinstall --install-new *.t?z
      upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z
   fi
else echo " Sistema multilib atualizado "

fi

exit 0

Zemblema

Mp3Gdown Pt.3

Script para formatação de disquetes em modo texto

Instale o Samba 2.2.9 no DSL e DSL-N com o script install-samba

Monta unidades via rede

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.