Atualização Multilib no Slackware
Publicado por wellington (última atualização em 18/03/2019)
[ Hits: 1.653 ]
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
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
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)