Escolar Documentos
Profissional Documentos
Cultura Documentos
deb
Procedimentos para a criação de um pacote com a estrutura .deb, para gerenciamento via apt-get e suas
demais ferramentas.
Os procedimentos seguintes demonstram como gerar um pacote de software para ser distribuído na
estrutura de gerenciamento de pacotes do sistema apt.
Nosso objetivo é a geração do pacote de software composto pelo script usrmgr.sh e demais arquivos
acessórios, os quais são requeridos pela estrutura de gerenciamento apt.
1- Criar os diretórios para abrigar todos os arquivos necessários para a geração do pacote que será
gerado, contendo o script usrmgr.sh:
# mkdir -p /temp/pktusr
# mkdir -p /temp/pktusr/debian/DEBIAN
# mkdir -p /temp/pktusr/debian/bin
# mkdir -p /temp/pktusr/debian/usr/share/doc/usrmgr
# mkdir -p /temp/pktusr/debian/usr/share/man/man1
# cd /temp/pktusr
#!/bin/sh
set -e
# Automaticamente exclui o script usrmgr na remoção do pacote
if [ \( "$1" = "upgrade" -o "$1" = "remove" -o "$1" = "purge" \) -a -L /bin/usrmgr ]; then
rm -f /bin/usrmgr
echo "Script /bin/usrmgr removido do sistema."
fi
# Fim do script
#!/bin/sh
set -e
# Automaticamente faz alguma coisa após a instalação do pacote
if [ "$1" = "configure" ]; then
echo "Script rodando para fazer alguma configuracao, caso necessario..."
echo "Fim do script de configuracao e instalacao...Fui!"
sleep 3
fi
# Fim do script
6- Criar o arquivo debian/usr/share/doc/usrmgr/copyright com o seguinte conteúdo:
usrmgr.
Copyright: SENAI CTAI - Floripa - Turma Redes 2010 <redes2010@sc.senai.br>
05/10/2010
The entire code base may be distributed under the terms of the GNU General
Public License (GPL), which appears immediately below. Alternatively, all
of the source code as any code derived from that code may instead be
distributed under the GNU Lesser General Public License (LGPL), at the
choice of the distributor. The complete text of the LGPL appears at the
bottom of this file.
See /usr/share/common-licenses/(GPL|LGPL)
Package: usrmgr
Version: 1.0
Section: admin
Priority: optional
Architecture: all
Depends: passwd (>= 1:4.1.4.2-1), base-passwd (>= 3.5.20)
Suggests:
Conflicts:
Replaces:
Installed-Size: 13
Maintainer: SENAI CTAI Redes 2010 <redes2010@sc.senai.br>
Description: Este pacote contem o script usrmgr.sh que objetiva
a administracaoo de usuarios locais. Possui carater didatico e
se desejar, altere conforme suas necessidades.
usrmgr (1.0)
-- SENAI CTAI Redes 2010 <redes2010@sc.senai.br> Mon, 04 Oct 2010 14:30:00 +1000
10- Criar o arquivo que será o manual do sistema em linha de comando, colocando o conteúdo abaixo:
# vi debian/usr/share/man/man1/usrmgr/usrmgr.1
Colocar o conteúdo abaixo:
.SH NAME
usrmgr - script para administracao de usuarios.
.SH SYNOPSIS
usrmgr.sh [sem parametros]
.SH DESCRIPTION
usrmgr.sh foi desenvolvido para fins didaticos e objetiva
a administracao de usuarios e grupos locais. O script foi
desenvolvido em bash e podera ser alterado conforme a
necessidade do usuario. Altere conforme deseja.
.SH OPTIONS
-v Apresenta a versao do script.
-p parametro
O parametro nao faz nada, esta aqui pra testar a
sintaxe deste arquivo de manual.
.SH FILES
/bin/usrmgr
O arquivo shell para administracao de usuarios locais.
.SH ENVIRONMENT
USRMGR
Uma variavel de ambiente caso seja necessario.
O script nao usa nada do ambiente.
.SH DIAGNOSTICS
O script testa o usuario e se nao for o root sai fora.
O script testa a existencia dos arquivos /etc/passwd, /etc/group
e o comando useradd.
.SH BUGS
O script nao formata a apresentacao dos grupos corretamente, pois
depende da resolucao do terminal onde o mesmo esta sendo executado.
.SH AUTHOR
SENAI CTAI FLORIPA
Turma Redes 2010 <redes2010@.sc.senai.br>
13- Criar os arquivos de checksum dos arquivos que fazem parte do pacote, conforme os comandos
abaixo:
# cd debian
# md5sum bin/usrmgr >> DEBIAN/md5sums
# md5sum usr/share/man/man1/usrmgr.1.gz >> DEBIAN/md5sums
# md5sum usr/share/doc/usrmgr/changelog.gz >> DEBIAN/md5sums
# md5sum usr/share/doc/usrmgr/changelog.DEBIAN.gz >> DEBIAN/md5sums
# md5sum usr/share/doc/usrmgr/copyright >> DEBIAN/md5sums
14- Após os procedimentos anteriores, verifique se os seguintes arquivos estão nos diretórios abaixo;
15- Se os arquivos anteriores estiverem nos diretórios corretos, ajuste as permissões conforme segue:
16- Instalar o pacote lintian o qual objetiva a verificação da estrutura dos pacotes .deb:
# cd /temp/pktusr
# dpkg-deb --build debian/
18- O comando anterior gerou o arquivo debian.deb, agora executar o comando lintian para verificação
da estrutura do pacote recém-criado, conforme segue:
18- Se as mensagens anteriores forem somente de aviso (warning – W), indica que o pacote está
correto, restando somente renomeá-lo para o padrão de nomes dos pacotes .deb:
# mv debian.deb usrmgr_1.0_all.deb
# dpkg -i usrmgr_1.0_all.deb
20- Através dos comandos abaixo, verifique os detalhes do seu pacote recém-criado e veja se está
tudo correto, inclusive execute o script e veja se há um manual on-line para o mesmo:
Após os procedimentos anteriores, você viu como proceder para gerar um pacote .deb. O próximo passo
seria tornar o mesmo disponível para as comunidades GNU/Linux. Este procedimento é mais simples e
se resume na colocação do arquivo em algum repositório.
Entretanto, lembramos que para um pacote compor a estrutura de repositórios da distribuição Debian,
ele precisa ser disponibilizado para a equipe do projeto e aprovado, para então ficar constando num
repositório oficial.
Outra alternativa muito interessante é criar sua própria estrutura de repositório e disponibilizar o seu
pacote, ou simplesmente disponibiliza em um servidor web, num blog, etc.
http://tldp.org/HOWTO/Man-Page/index.html
http://tldp.org/HOWTO/html_single/Debian-Binary-Package-Building-HOWTO/#AEN35