SlackelsPKG 1.0 - uma réplica de gerenciador de pacotes para o Slackware Current
Publicado por Mauricio Ferrari (última atualização em 02/09/2020)
[ Hits: 1.064 ]
Homepage: https://www.youtube.com/@LinuxDicasPro
Criei um espécie de réplica de Gerenciador de Pacotes para o Slackware Current.
Resolvi fazer esse treco por conta de um repositório que eu não consegui adicionar no gslapt. Então, eu criei um gerenciador só para esse repositório, que é o repositório do slackels.
Deu um trabalho danado, mas consegui imitar as funcionalidades básica e de quebra incrementei uma instrução para quem prefere salvar os pacotes.
Incrementei o update, o list, o clean, o install e um comando extra que nem precisaria.
Espero que alguém curta essa imitação que eu fiz.
#!/bin/bash # Slackels Install v1.0 - By Mauricio Ferrari - 30/08/2020 # Configuração Manual DR=/home/mauricio/Current # Repositórios REPO1=${REPO1:-https://slack.conraid.net/repository/slackware64-current} REPO2=${REPO2:-https://slack.conraid.net/repository/slackware64-current-extra} # Demais Definições NL=${NL:-/dev/null} TM=${TM:-repo} PK=${PK:-packages} LD=$(pwd) LT="" noroot(){ echo -e '\033[1;31m _ _ ____ _ _ | \ | | ___ | _ \ ___ ___ | |_ | | | \| |/ _ \ | |_) / _ \ / _ \| __| | | | |\ | (_) | | _ < (_) | (_) | |_ |_| |_| \_|\___/ |_| \_\___/ \___/ \__| (_) \033[0m' exit 1 } info(){ echo -e '\n\033[1;34m' $0 '\n\033[1;37m Uso: \033[1;32mslackelspkg \033[1;31m<list|update|install|clean|cp> \033[1;32mnome-pacote\n\033[0m' exit 0 } list(){ echo -e '\033[1;36m' [[ $LT = "" ]] && clear && cat $LD/$TM/FILE*.TXT | less [[ $LT != "" ]] && [[ `cat $LD/$TM/FILE*.TXT | grep $LT` ]] && clear && cat $LD/$TM/FILE*.TXT | grep $LT | less [[ $LT != "" ]] && [[ ! `cat $LD/$TM/FILE*.TXT | grep $LT` ]] && echo -e ' \033[1;33mNo Result!\033[0m \n' && exit 1 echo -e '\033[0m' } update(){ echo -e '\033[1;33m' rm -r $LD/$TM 2> $NL; mkdir -p $LD/$TM/file1 $LD/$TM/file2 cd $LD/$TM/file1 wget -c -q --show-progress --no-check-certificate $REPO1/FILELIST.TXT cd $LD/$TM/file2 wget -c -q --show-progress --no-check-certificate $REPO2/FILELIST.TXT cat $LD/$TM/file1/FILELIST.TXT | grep txz | egrep -v '(.md5|.asc)' | cut -d '.' -f 2- >> $LD/$TM/FILE1.TXT cat $LD/$TM/file2/FILELIST.TXT | grep txz | egrep -v '(.md5|.asc)' | cut -d '.' -f 2- >> $LD/$TM/FILE2.TXT rm -r $LD/$TM/file* echo -e '\033[0m'; cd $LD } installer(){ mkdir $LD/$PK 2> $NL [[ `cat $LD/$TM/FILE1.TXT | grep $LT 2> $NL` ]] && INST=$REPO1 && PKG=$(cat $LD/$TM/FILE1.TXT | grep $LT) [[ `cat $LD/$TM/FILE2.TXT | grep $LT 2> $NL` ]] && INST=$REPO2 && PKG=$(cat $LD/$TM/FILE2.TXT | grep $LT) [[ `echo $INST$PKG | grep -v ' ' ` = "" ]] && echo -e '\n \033[1;31mNo Package Locate!\033[0m \n' && exit 1 TXZ=$(echo $PKG | cut -d '/' -f 3) echo -e '\n\033[1;34m Package:\033[1;32m\n -------->>>' $PKG [[ `ls $LD/$PK | grep $TXZ` ]] && R="--reinstall" && echo -e '\n\n\033[1;33m File Exist! Reinstall? (\033[1;32my\033[1;33m,\033[1;31mn\033[1;33m) \033[0m \n' [[ ! `ls $LD/$PK | grep $TXZ` ]] && echo -e '\n\n\033[1;33m Install? (\033[1;32my\033[1;33m,\033[1;31mn\033[1;33m) \033[0m\n' read x echo -e -n '\033[1;37m' [[ $x = y ]] && cd $LD/$PK && wget -c -q --show-progress --no-check-certificate $INST$PKG && upgradepkg --install-new $R $TXZ && echo -e '\033[0m' [[ $x != y ]] && echo -e '\n \033[0m\033[1;31mNo Package Install!\033[0m \n'; cd $LD } [[ $UID != 0 ]] && noroot [[ $2 != "" ]] && LT=$2 [[ $1 = "" ]] && info [[ $1 != update ]] && [[ $1 != install ]] && [[ $1 != list ]] && [[ $1 != clean ]] && [[ $1 != cp ]] && echo -e '\n \033[1;31mNo Valid Argument!\033[0m \n' && exit 1 [[ $1 = cp ]] && [[ ! -e $LD/$PK ]] && echo -e '\n \033[1;33mNo Packages!\033[0m \n' && exit 1 [[ $1 = cp ]] && [[ `ls $LD/$PK` = "" ]] && rm -r $LD/$PK && echo -e '\n \033[1;33mNo Packages!\033[0m \n' && exit 1 [[ $1 = cp ]] && [[ `ls $LD/$PK` ]] && echo -e '\033[1;34m' && cp -v $LD/$PK/* $DR | cut -d "'" -f 2 | sed 's/$/ copiado/' && rm -r $LD/$PK && echo -e '\033[0m' && exit 0 # */ [[ $1 = update ]] && update [[ ! `ls $LD/$TM/FILE* 2> $NL` ]] && echo -e '\n \033[1;31mRun update!\033[0m \n' && exit 1 [[ $1 = list ]] && list [[ $1 = install ]] && installer [[ $1 = clean ]] && echo -e '\n \033[1;32mClean Ok!\033[0m \n' && rm -r $LD/$TM 2> $NL; exit 0
Avisos de segurança do espaço em uso!
SCRIPT PARA INSTALAÇÃO DE PROGRAMAS NO LINUX
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[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