TxzSync 1.0 - Fazer Backup dos Pacotes Baixados pelo Slackpkg
Publicado por Mauricio Ferrari (última atualização em 28/08/2020)
[ Hits: 1.029 ]
Homepage: https://www.youtube.com/@LinuxDicasPro
Se você configurou o slackpkg.conf com a opção DELALL para off, esse script pode ser útil.
Possui os mesmos comandos do PkgSync 3.0, só que portado para o Slackware.
O link do PkgSync 3.0 é esse:
https://www.vivaolinux.com.br/script/PKG-Sync-v30-Utilitario-para-backup-de-pacotes-deb-baixados-Ver...
Espero que seja útil.
#!/bin/bash
### TXZ Sync v1.0 - 24/08/2020 - By Mauricio Ferrari - <m10ferrari1200@gmail.com> ###
### Uso: ./txzsync <clean/rm/ls/cp/0> | Apenas para verificação: ./txzsync ###
# Configuração Manual
DR=~/Current
DS=~/excluded.log
RL=1 # default 1
# Constantes A=${A:-B}
DB=${DB:-/var/cache/packages/*} # */
BN=${BN:-/usr/bin}
NL=${NL:-/dev/null}
TM=${TM:-temp}
L1=${L1:-$TM/lst1}
L2=${L2:-$TM/lst2}
CL=${CL:-$TM/clean}
# Finalização do script
fim(){
echo -e "\033[0m"
[[ -e $TM ]] && rm -r $TM
exit
}
# Listando ou limpando o cache dos pacotes baixados do apt
[[ $1 = "ls" ]] || [[ $1 = "rm" ]] && [[ ! `ls -R $DB 2> $NL | grep txz` ]] && echo && echo -e "\033[1;31m Diretório $DB Vazio." && fim
[[ $1 = "ls" ]] && echo -e "\033[1;37m" && ls -R $DB | grep ".txz" | grep -v ".asc" && fim
[[ $1 = "rm" ]] && sudo rm -R $DB && echo && echo -e "\033[1;34m Cache slackpkg redefinido." && fim
# Verificação de editores para exibição do log
VW=xed && [[ ! -e $BN/$VW ]] && VW=pluma && [[ ! -e $BN/$VW ]] && VW=gedit && [[ ! -e $BN/$VW ]] && VW=kate && [[ ! -e $BN/$VW ]] && VW=leafpad && [[ ! -e $BN/$VW ]] && VW=0
# Controle de erro
[[ ! -e "$DR" ]] && echo && echo -e "\033[1;31m O diretório $DR não existe." && fim
[[ `ls --ignore=*.txz $DR` ]] && echo && echo -e "\033[1;31m O diretório $DR deveria conter só arquivos TXZ." && fim
# Backup dos pacotes instalados no sistema se $1 não for 0
[[ $1 != 0 ]] && [[ $2 != 0 ]] && [[ `ls -R $DB 2> $NL | grep txz` ]] && echo -e "\033[1;34m" && find -H $DB -type f -print0 | xargs -0 -L1 -i cp -v {} $DR | cut -d "'" -f 2 | sed "s/$/ copiado/g" | grep -v ".asc" && rm $DR/*.asc 2> $NL # */
[[ $1 = "cp" ]] && [[ ! `ls -R $DB 2> $NL | grep txz` ]] && echo && echo -e "\033[1;33m Nada Copiado." && fim
[[ $1 = "cp" ]] && fim
# Criar o diretório temporário e limpar o log obsoleto se RL=1
mkdir $TM 2> $NL && [[ $RL = 1 ]] && rm $DS 2> $NL
# Gerando as listas de comparação.
ls /var/log/packages 1> $L1
ls $DR | sed -e 's|\.txz||g' > $L2
# Comparando as listas e excluindo os pacotes obsoletos caso parâmetro clean for usado.
for x in `cat $L2`; do
[[ $(cat $L1 | grep -w $x) = "" ]] && echo $x >> $DS && [[ $1 = "clean" ]] && rm $DR/$x.txz
done
# Visualizando o novo log se possível
[[ ! `cat $DS 2> $NL` ]] && echo && echo -e "\033[1;33m Nenhum log foi gerado. Não há pacotes obsoletos." && fim
[[ $VW = 0 ]] && echo && echo -e "\033[1;33m Não foi possível encontrar um editor para visualizar o log." && fim
[[ $VW != 0 ]] && $VW $DS && fim
Nautilus-script: Edite com o Gimp
Slackware Interface Install - Instalação de Interfaces gráficas no Slackware
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









