Menu

terça-feira, 2 de outubro de 2018

Criar pacote .deb, para Debian, Ubuntu e derivados

Se você nunca criou um pacote .deb e acha que se trata de uma tarefa difícil, confira essa matéria.











Meu primeiro .deb



Nessa matéria irei mostrar como criar um .deb básico, a intenção é apenas de mostrar como é feito.

Vamos criar um diretório para o nosso projeto, para isso de o comando abaixo no terminal.

mkdir ~/meu_projeto

Agora iremos criar o diretório replicando o do sistema onde o programa sera instalado, no caso iremos instalar na pasta /opt, de o comando abaixo para criar o diretório.

mkdir ~/meu_projeto/opt

Precisamos criar o diretório DEBIAN para o arquivo de configurações do nosso .deb, ele leva o nome de control, de o comando abaixo para criar o diretório.

mkdir ~/meu_projeto/DEBIAN

Ai estão os diretórios necessários a esse projeto.







Entre no diretório no seu projeto de instalação do deu .deb com o comando abaixo.

cd ~/meu_projeto/opt

Você precisa de um programa que não tenha um .deb, no exemplo iremos usar o Firefox.
Faça o download com o comando abaixo no terminal.

wget https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.2/linux-x86_64/pt-BR/firefox-62.0.2.tar.bz2

Descompacte o arquivo com o comando abaixo.

tar -xvjf firefox-62.0.2.tar.bz2

Remova o arquivo que fizemos o download com o comando.

rm -fr firefox-62.0.2.tar.bz2

Note que temos agora o diretório do programa.





Já temos o programa e agora precisamos criar um lançador para ele, note que o programa sera instalado em /opt/firefox, o atalho deve ser criado em /usr/share/applications, portanto devemos criar o diretório do nançador em nosso projeto, para isso de o comando abaixo no terminal.

mkdir -p ~/meu_projeto/usr/share/applications

Para criar o lançador de o comando abaixo no terminal.

nano ~/meu_projeto/usr/share/applications/Meu-Firefox.desktop

Cole as linhas abaixo no nano aberto em seu terminal.


[Desktop Entry]
Name=Meu-Firefox
Comment=Browse the World Wide Web
GenericName=Web Browser
X-GNOME-FullName=Firefox Web Browser
Exec=/opt/firefox/firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/opt/firefox/browser/chrome/icons/default/default128.png
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true


OBS: Note em Exec e icon que apontamos para o diretório em que o programa sera instalado, no caso é /opt/firefox/


Salve teclando Ctrl + x tecle s e tecle Enter para fechar o nano.

Ai está o nosso lançador.




Está quase pronto, vamos agora finalizar criando o arquivo /DEBIAN/control, de o comando abaixo no terminal.

nano ~/meu_projeto/DEBIAN/control

Cole as linhas abaixo no nano aberto em seu terminal.

Package: meu-firefox
Source: meu-firefox
Version: 1.0
Architecture: amd64
Maintainer: LOBO
Depends: libc6
Section: contrib/web
Priority: optional
Homepage: https://www.mozilla.org
Description: web browser


OBS: Esse pacote não tem dependências especiais, mas a titulo de vc visualizar o control mais completo adicionei a dependência libc6 que é dependência para todos os pacotes.

Salve teclando Ctrl + x tecle s e tecle Enter para fechar o nano.

Ai está o nosso control.






Para finalizar altere o proprietário do projeto para o root com o comando abaixo.

sudo chown -R root:root ~/meu_projeto


Altere as permissões do projeto com o comando.

sudo chmod 755 -Rf ~/meu_projeto

Finalmente crie o seu primeiro .deb com o comando abaixo.

dpkg-deb -b ~/meu_projeto ~/

O .deb sera criado na sua home.

Ai está o seu .deb.




Testando o seu primeiro .deb, de o comando abaixo no terminal para instalar o seu .deb.

sudo dpkg -i ~/meu-firefox_1.0_amd64.deb

Olha ele ai no seu menu ;)




Ele rodando.




Aqui mostrei o básico do básico da criação de um .deb, agora é com você buscar mais conhecimento na documentação do Debian sobre empacotamento.


OBS: Note que o .deb aceita de tudo dentro dele, nomes é você quem dá, deu pra sacar o perigo de usar .deb de quem você não conhece ? Cuidado.



Donate - Contribua para a melhoria do nosso trabalho!!

















5 comentários:

  1. Excelente matéria. Era exatamente isso que eu estava procurando, nunca tentei criar um pacote .DEB. Mais tarde vou seguir seu tutorial para criar meu primeiro pacote .DEB. Muitíssimo obrigado! Vou me aprofundar mais. Abraço :)

    ResponderExcluir
    Respostas
    1. Ai é o básico do básico, para ficar bom em deb estude o lintian, se o seu pacote atender ele em 100% vc tera aprendido tudo ehhehehe não é fácil agradar o danado.

      Excluir
    2. Entendi, é bom saber sobre essas barreiras que terei que enfrentar durante meu aprendizado. hehehe Obrigado pelas orientações. Parabéns. Gratidão :)

      Excluir
    3. Deu certo, segui suas orientações e consegui criar meu primeiro pacote .deb. Agora já sei o básico do básico, vou seguir em frente com meus estudos. Obrigado pela força :)

      Excluir