Atualização Multilib no Slackware
Publicado por wellington (última atualização em 18/03/2019)
[ Hits: 1.848 ]
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!
#!/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
Nenhum comentário foi encontrado.
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Primeiras impressões do Debian 13 (21)
systemd-resol... precisa ser reiniciado periodicamente (3)
intervenção politica pode interver no Fedora Linux [RESOLVIDO] (8)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (0)