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.313 ]
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
Script de instalação do Xorg 7.2 modificado para processadores AMD64
Pequeno sistema de backup (Rsync + SAMBA + Tar + FTP)
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS A PARTIR DE ARQUIVO
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? (3)
É 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)









