Slocal Manipulação de pacotes Slackware
Publicado por Slackjeff (última atualização em 26/01/2018)
[ Hits: 2.064 ]
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
Informação sobre partições montadas em Xdialog
Backup das bases de dados do MySQL
Criando pdf para impressão de livros
Efetua uma busca na rede por IPs(hosts) ativos
Nenhum comentário foi encontrado.
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
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
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
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
Não consigo instalar o WineHQ no meu notebook vaio FE15 (Debian) (7)