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.087 ]
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
Bloqueando o acesso à internet
"Mascarando" pseudo-senha digitada pelo usuário
Instalar última versão do Java automaticamente em "todas as plataformas"
Nenhum comentário foi encontrado.
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
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
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
Criando uma VPC na AWS via CLI
India is home to Fare Labs Pvt. Ltd., an air testing laboratory. (0)
Como faço boot direto na área de trabalho pelo sddm? (2)
Mint/Ubuntu desligam ao fechar a tampa (3)
Não consigo baixar e usar temas no KDE (0)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (22)