na hierarquia do sistema./usr = Arquivos de usuarios nativos da distribuicao/usr/local = Para instalacao de programas nao oficiais da Distribuicao/usr/loca/bin = Em "bin" ficam os executaveis de programas ou diretorios dos programas nao oficiais. Exemplo:usr/local/bin/meu_programa_criado/executavel_programaouusr/local/bin/executavel_programa/usr/share = Diretorio de compartilhamento, independente da arquitetura./usr/share/pixmaps = Aqui ficam os icones dos programas/usr/share/menu = Colocamos os lancadores dos nossos programas/usr/share/applications = Nesse ficam os atalhos para DesktopEntender a estrutura de diretorios do Linux ajuda muito na hora de criar seus pacotes, organizando cada detalhe de maneira correta. Caso tenha duvidas pesquise no Google, porque esse e o melhor professor que criaram ate hoje :)Estrutura de diretorio LinuxVendo novamente a imagem 3 neste blog, percebemos que o pacote Debian, nada mais e, que um meio de copiar os arquivos ja prontos para diretorios do sistema. Bastando apenas criar uma estrutura de diretorios que simule o caminho correto para onde vao os arquivos.ENTENDENDO O DIRETORIO DEBIANFaltou falarmos do diretorio DEBIAN, que vai de intruso nesse pacote. O diretorio DEBIAN nao vai fazer parte da estrutura de diretorios do sistema, sendo ignorado, mas possuindo a funcionalidade de executar scripts antes e depois da instalacao do pacote. Veja abaixo os scripts padrao do diretorio DEBIAN:control = O arquivo de controle "control" e muito importante, porque ele vai especificar o nome do pacote, nome do mantenedor, versao do pacote, listar as dependencias necessarias para funcionar o pacote, descricao do pacote e para que serve. O arquivo pode ser mais abrangente, mas esses sao as informacoes basicas do arquivo de controle "control". Veja abaixo um exemplo do arquivo control:Package: zsnes Source: zsnes (1.510-2.2)Version: 1.510-2.2+b1 Architecture: i386Maintainer: Joshua Kwan Installed-Size: 4084 Depends: libao4 (>= 1.0.0), libc6 (>= 2.3.6-6~), libgcc1 (>= 1:4.1.1), libgl1-mesa-glx | libgl1, libpng12-0 (>= 1.2.13-4), libsdl1.2debian (>= 1.2.10-1), libstdc++6 (>= 4.1.1), zlib1g (>= 1:1.2.2.3)Section: otherosfsPriority: optional Description: Emulator of the Super Nintendo Entertainment System (TM) ZSNES allows you to play classic games written for the "SNES" game console on a GNU/Linux system. It supports advanced features such as multiplayer gameplay over a TCP/IP network. . Please note that many separately-available games playable under this emulator are non-free. See /usr/share/doc/zsnes/README.Debian for more information.postinst = Atualiza o menu na instalacao (script shell)#!/bin/shset -e# Automatically added by dh_installmenuif [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then update-menusfi# End automatically added sectionpostrm = Atualiza menu na desinstalacao do programa (script shell)#!/bin/shset -e # Automatically added by dh_installmenuif [ -x "`which update-menus 2>/dev/null`" ]; then update-menus ; fi# End automatically added sectionPodemos ver que dentro do diretorio DEBIAN ficara os tres arquivos acima. O criador do pacote pode colocar outros, mas esses dois fazem o basico para comecar. Entao nosso diretorio DEBIAN ficou assim:Um dica basica e dissecar pacotes Debian pequenos e tentar entender oque os scripts fazem. Estudar bem a estrutura do pacote, analisando os caminhos apontados e os arquivos que serao instalados.FINALIZANDO O PACOTE DEBIANQuando voce ja tiver feito todos os passos necessarios para criacao do pacote, entao ja e hora de transformar tudo em DEB. Faca o comando abaixo no terminal:dpkg-deb -b No comando acima eu mostrei o