Atualização Multilib no Slackware
Publicado por wellington (última atualização em 18/03/2019)
[ Hits: 1.962 ]
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
Implementando a famosa hélice ASCII
Gerador de senhas aleatórias com pwgen
Teste de velocidade de conexão via FTP e registro em log
Relógio em tempo real no terminal
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Alguém executou um rm e quase mata a Pixar! (5)
Formas seguras de instalar Debian Sid (4)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









