Atualização Multilib no Slackware

Publicado por wellington (última atualização em 18/03/2019)

[ Hits: 1.653 ]

Download update32




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!

  



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

Scripts recomendados

Prova 1.0

Script para ligar/desligar o Conky no Fluxbox

Configurando endereço de rede - Slackware, Debian, CentOS/RHEL

Scrip para criação de arquivos em série

Get Tool


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts