Slocal Manipulação de pacotes Slackware
Publicado por Slackjeff (última atualização em 26/01/2018)
[ Hits: 2.028 ]
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
Personalizando o seu shell com bashrc_dahora
Backup da base de dados PostgreSQL
Atualisar e instalar pacotes no sistema.
Nenhum comentário foi encontrado.
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Inkscape Atualização 1.4 [RESOLVIDO] (8)
samba4 - 4.21 utilizar phpldapadmin [RESOLVIDO] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta