TxzSync 1.0 - Fazer Backup dos Pacotes Baixados pelo Slackpkg
Publicado por Mauricio Ferrari (última atualização em 28/08/2020)
[ Hits: 1.022 ]
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
Instalação de pacotes em uma lista
Apagar arquivos maliciosos de pastas compartilhadas pelo Samba periodicamente
Monitoramento de espaço em disco
Instalar emuladores no Fedora 22
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Não consigo instalar distro antiga no virtualbox nem direto no hd (33)
resolvido / thorium browser no ubuntu (3)









