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.191 ]
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
Instalação automática do Nagios
Script para acertar hora e data do sistema no linux.
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (2)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 (4)
estou com problemas aqui no manjaro. (3)
warsaw parou de funcionar após atualização do sistema (solução) (7)