Slocal Manipulação de pacotes Slackware
Publicado por Slackjeff (última atualização em 26/01/2018)
[ Hits: 2.247 ]
Homepage: https://slackjeff.com.br
Manipulação de pacotes Slackware via http local.
Altere no script a variavel diretorio e sincronizar.
#!/bin/bash
#---------HEADER--------------------------------------------------------------|
#DATA:
# 01 dezembro 2017
#AUTOR:
# Jefferson Rocha <lrcjefferson@gmail.com>
#
#PROGRAMA:
# Slocal - Manutenção de pacotes locais em rede.
#
#CHANGELOG:
# (v1.0) 01/12/2017 - Jefferson rocha
# - Lançamento
#
# (v1.1) 01/12/2017 - Jefferson Rocha
# - Retirado bug do 'PACKAGE.TXT' que ficava na lista no select.
# - Retirado opção 'install' em linha
# - Adicionado opção de sincronizar pacotes.
#
#MODO DE USO:
#
#
#-----------------------------------------------------------------------------|
#-------CONFIGURAÇÕES-----#
PROGRAMA="slocal v1.1 - 01/12/2017" # Nome e versão do programa
diretorio="/var/www/htdocs/slackware14.2" # DIRETORIO DOS PACOTES no servidor
URL="192.168.0.4/slackware14.2" # URL DO SERVIDOR
sincronizar="/home/slackjeff/Downloads" # Local onde os novos pacotes ficam
nome_do_hospedeiro="darkstar" # Nome do Hospedeiro
root=$(id -u)
#--------FUNÇÕES-----------#
hospedeira(){
PACOTES=$(ls "$diretorio" > $diretorio/PACKAGE.txt) # Listagem do pascotes
}
baixar_package_txt(){
curl "$URL/PACKAGE.txt" > PACKAGE.txt
mv PACKAGE.txt /tmp
}
#-------VERIFICAÇÕES INICIAIS-------#
[ "$root" -ne "0" ] && echo "Favor logar como root." && exit 1 # É root?
# Obtendo pacotes no diretorio raiz, máquina hospedeira.
[ -d "$diretorio" ] && hospedeira # Chamada função hospedeira
#-------INICIO-----------#
# Menu principal
while [ -n "$1" ]; do
case $1 in
update) baixar_package_txt ;; # Update do PACKAGE.txt
# Opção sync apenas para máquina HOSPEDEIRA dos pacotes.
sync)
if [ "$nome_do_hospedeiro" = "$(echo $HOSTNAME)" ]; then
cp $sincronizar/*.t?z "$diretorio" \
&& echo -e "\033[35;1mConcluido! Pacotes copiados para $diretorio\033[m"
else
echo -e "\033[31;1mSomente máquinas hospedeiras podem rodar este comando.\033[m"
exit 1
fi
;;
search)
shift
grep "^$1" /tmp/PACKAGE.txt # procura, termos que comecem com a busca
[ "$?" = "1" ] && echo -e "\033[31;1mPacote não encontrado, digite outro termo de busca.\033[m"
;;
select) # Selecione e instale de uma vez!
packs=$(cat "/tmp/PACKAGE.txt" | sed '/PACKAGE.txt/d')
PS3=$'\033[34;1mSelecione um pacote para instalar: \033[m'
select i in $packs "SAIR"; do
[ "$i" = "SAIR" ] && exit 0
wget -P "/tmp" "$URL/$i" 2>/dev/null && \
upgradepkg --install-new "/tmp/$i"
rm /tmp/${i:?echo "ERRO ao remover pacote do sistema."} # Var nula dá erro!
done
;;
help) cat << EOF
Opções disponiveis no $PROGRAMA.
------------------------------------------------------------
| search |
Localiza em 'linha' um pacote no repositorio local.
EXEMPLO:
# slocal search [Bb]re.ze
breeze-icons-5.28.0-noarch-1alien.txz
------------------------------------------------------------
| sync |
Sincroniza pacotes de um determinado diretorio para
o servidor.
Este comando só pode ser executado na máquina hospedeira.
------------------------------------------------------------
| select |
Menu principal para escolher e instalar um pacote.
------------------------------------------------------------
| update |
Faz update do arquivo PACKAGE.txt, é importante,
executar esta opção sempre que for sincronizado novos pacotes,
no servidor!
------------------------------------------------------------
EOF
;;
*) echo "Consulte slocal help para receber ajuda" ;;
esac
shift
done
Script para listar tentativas de acessos
Atualização Multilib no Slackware
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
VOL já não é mais como antes? (0)
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









