Crie Seu Próprio Gerenciador de Pacotes do Zero - Parte 1
Eu sempre fui curioso em relação às coisas que me interessam, quando iniciei no mundo do GNU/Linux, eu fiquei admirado com a facilidade de instalar programas. No início, rodando entre as distribuições Linux, eu acabei conhecendo vários tipos de gerenciadores de pacotes e cada um com sua peculiaridade. Foi aí que me interessei em ler o código fonte de diversos gerenciadores e criar o meu próprio.
[ Hits: 13.018 ]
Por: Slackjeff em 19/02/2020 | Blog: https://slackjeff.com.br
#!/bin/sh
#=========================HEADER===============================|
#AUTOR:
# Jefferson Rocha
#
#VERSÃO:
# 0.1
#
#DESCRIÇÃO:
#createpkg - cria pacotes compactador com tar e comprimido
# com o utilitário xz.
#==============================================================|
# Erros? pare.
set -e
#==========================| FUNÇÕES
CREATE()
{
}
#==========================| INICIO
case $1 in
-c|--create|create)
shift # Rebaixando um parâmetro posicional.
# O usuário passou o nome do pacote? exemplo dialog-teste.tar.xz
if [ -z "$1" ]; then
echo "Você deve especificar o nome do pacote."
exit 1
fi
# Chamando a função CREATE e passando como parâmetro o nome do pacote.
CREATE "$1"
;;
esac
CREATE()
{
# Recebendo o nome do pacote passado para a função.
local PKG="$1"
Vamos fazer o empacotamento com o tar e comprimindo com o xz todo o diretório e gerar o "pacote" um diretório acima.
# Empacotando todo o diretório e gerando o pacote
# um diretório acima.
tar -cvJf ../${PKG} .
echo "O pacote ${PKG} foi gerado com sucesso."
return 0
}
#!/bin/sh
#=========================HEADER===============================|
#AUTOR:
# Jefferson Rocha
#
#VERSÃO:
# 0.1
#
#DESCRIÇÃO:
#createpkg - cria pacotes compactador com tar e comprimido
# com o utilitário xz.
#==============================================================|
# Erros? pare.
set -e
#==========================| FUNÇÕES
CREATE()
{
# Recebendo o nome do pacote passado para a função.
local PKG="$1"
# Empacotando todo o diretório e gerando o pacote
# um diretório acima.
tar -cvJf ../${PKG} .
echo
echo "O pacote ${PKG} foi gerado com sucesso."
return 0
}
#==========================| INICIO
case $1 in
-c|--create|create)
shift # Rebaixando um parâmetro posicional.
# O usuário passou o nome do pacote? exemplo dialog-teste.tar.xz
if [ -z "$1" ]; then
echo "Você deve especificar o nome do pacote."
exit 1
fi
# Chamando a função CREATE e passando como parâmetro o nome do pacote.
CREATE1 "$1"
;;
esac
Software Manivela VS Software Modinha
Programar em Shell - Script só para os baixinhos
Criando um pacote TXZ no Slackware
Descartando Séries no Slackware não tão Necessárias
Porquê a mascote do Linux é um pinguim
Fedora - Instalação Personalizada (NetInstall)
Quer achar uma distro descontinuada? Veja as alternativas
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
Ativando o modo Quake no XFCE4-Terminal
[Tutorial] Configurando Multimaster no Samba 4 AD (DC02) + Explicação de FSMO Roles
[Resolvido] Google Chrome reclamando de perfil em uso após mudar hostname
Como instalar Warsaw no Gentoo? (6)
Senhor Einstein tinha razão mesmo! [RESOLVIDO] (12)
Como insiro e excluo um elemento XML e JSON ao código Javascript (2)
Da pra formatar um netbook MGB e usar algum linux nele? É possível usa... (4)









