Se você nunca criou um pacote .deb e acha que se trata de uma tarefa difícil, confira essa matéria.
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.
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.
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.
Ai estão os diretórios necessários a esse projeto.
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.
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.
Para criar o lançador de o comando abaixo no terminal.
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/
Está quase pronto, vamos agora finalizar criando o arquivo /DEBIAN/control, de o comando abaixo no 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
Olha ele ai no seu menu ;)
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.
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.
nano ~/meu_projeto/DEBIAN/control
Cole as linhas abaixo no nano aberto em seu terminal.
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.
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.
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 :)
ResponderExcluirAi é 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.
ExcluirEntendi, é bom saber sobre essas barreiras que terei que enfrentar durante meu aprendizado. hehehe Obrigado pelas orientações. Parabéns. Gratidão :)
ExcluirDeu 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 :)
ExcluirVLW mano :)
Excluir