Como distribuir nosso software no Ubuntu e outras distros

Se você é programador ou não e deseja um método para instalar esse aplicativo ou script, aqui estão vários métodos.
Pacote DEB com fontes (Apenas para debian e derivativos)

Este método é para quando temos o código fonte da aplicação.

Primeiro, instalamos o programa que faz a mágica "Verificar instalação", em um terminal executamos

sudo aptitude instalar verificação de instalação

Para o exemplo, usaremos a biblioteca "MUITO RUIM", baixe a fonte de clique aqui, criamos uma pasta e colocamos o arquivo coxo-3.98.4.tar.gz e do terminal como root entramos nessa pasta e executamos essas linhas.

tar -xzvf lame-3.98.4.tar.gz cd lame-3.98.4 ./configure make checkinstall cp * .deb ../ cd .. rm -R lame-3.98.4 chmod 777 lame-3.98.4 *. deb

Ele gera o pacote deb para nós, este método instala o pacote gerado no final.

Pacote Manual DEB (Apenas para debian e derivativos)

Este método é para nossos scripts ou aplicativos pré-compilados

Estrutura de um pacote DEB

| Configuração (pasta geral) | | -DEBIAN (Pasta onde estão os arquivos de configuração) | --control (arquivo de configuração) | --preinst (Arquivo ou script executado antes da instalação) | --postinst (Arquivo ou script executado após a instalação) | --prerm ( Arquivo ou script a ser executado antes da desinstalação) | --postrm (Arquivo ou script a ser executado após a desinstalação) | | -usr (Pasta onde estão os arquivos do seu aplicativo) | -usr / bin (Pasta onde estão os binários ou scripts) | -usr / share / pixmaps (Pasta onde estão os ícones) | -usr / share / applications (Pasta onde estão os lançadores)

Exemplo de arquivo de «controle»

Pacote: TUPACKAGE Versão: VERSÃO Arquitetura: amd64 (i386 ou todos) Mantenedor: AUTHOR Seção: parceiro / web Prioridade: opcional Descrição: TEXTO

Gerando um Pacote DEB

sudo chmod -R root: configuração de root / sudo chmod -R 755 configuração / sudo dpkg -b configuração / pacote.deb chmod 777 pacote.deb chown -R configuração

Com estes dados já podemos gerar um pacote deb para nossa aplicação, como exemplo faremos um script bash simples

Criamos uma pasta chamada «ubunlog» e dentro deste outro nome Configurar
então, dentro da última pasta, criamos duas pastas, uma de nome "DEBIAN" e outra «Usr».

Este é o arquivo de controle

Pacote: ubunlog-web Versão: 0.11.5.13 Arquitetura: todos Mantenedor: TU NOME Seção: parceiro/web Prioridade: opcional Descrição: Tutoriais, desktops Linux, software, novidades e tudo sobre Ubuntu

Nós o mantemos dentro da pasta "DEBIAN" que criamos antes como «controle»

Este código é do arquivo postinst

#!/bin/sh chmod 755 /usr/bin/ubunlog-web chmod +x /usr/bin/ubunlog-web chmod 755 /usr/share/pixmaps/ubunlog-web.png chmod 755 /usr/share/applications/ubunlog-web.desktop chmod +x /usr/share/applications/ubunlog-web.desktop

Nós salvamos isso na mesma pasta de antes como "postinst"

Agora criamos as pastas para o script, o iniciador e o ícone, dentro da pasta Configurar nós criamos uma pasta chamada «Usr»

Como você pode ver, temos duas pastas, uma "DEBIAN" e outra «Usr» que criamos segundos atrás, dentro do último criamos as pastas um "Bin" e outra "Compartir"

Este é o código do script

#!/bin/sh firefox https://ubunlog.com/&

nós salvamos na pasta "Bin" com o nome «ubunlog-Rede".

Agora vamos para a pasta "Compartir" neste, criamos uma pasta chamada "Pixmaps" e salvamos com o nome «ubunlog-web.png» nós baixamos esta imagem de clique aqui

Só temos que criar o lançador, para isso criamos uma última pasta dentro share Nome "Formulários"

Este é o código do mesmo

[Entrada na área de trabalho] Codificação=Nome UTF-8=Ubunlog Web Blog Comment=Tutoriais, desktops Linux, software, notícias e tudo sobre Ubuntu GenericName=Tutoriais, desktops Linux, software, notícias e tudo sobre Ubuntu Exec=ubunlog-web Terminal=falso Tipo=Ícone do aplicativo=ubunlog-web Categorias=Aplicativo;Rede;Internet; InicializaçãoWMClass=ubunlog-web StartupNotify = verdadeiro

Eles o mantêm na pasta "Formulários" como «ubunlog-web.desktop»

Já temos tudo pronto, só resta gerar pacote deb, ele pede a senha do root, mas não instala nada.

sudo chmod -R root:configuração raiz/ sudo chmod -R 755 configuração/ sudo dpkg -b configuração/ ubunlog-web_0.11.5.13_all.deb chmod 777 ubunlog-web_0.11.5.13_all.deb chown -R configuração

Se tudo estiver correto, você já tem o pacote «ubunlog-web_0.11.5.13_all.deb».

Manual autoextraível (Testado apenas no Ubuntu, funciona em qualquer distro)

Este método é para gerar arquivos com o script makeself (http://megastep.org/makeself/)

Eles baixam da web, é um arquivo .run, dão permissões e nós o executamos,

Como se usa.

makeelf.sh PASTA / FONTE / RESULTADO.RUN "TEXTO" ./setup.sh

Como você pode ver "PASTA / ORIGEM / » são os arquivos e pastas de nosso aplicativo ou script «RESULT.RUN» é o arquivo resultante ou arquivo de extração automática
"TEXTO" é a mensagem exibida quando você executa o arquivo de extração automática e está entre aspas.
"./Setup.sh" é o script que é executado ao descompactar o arquivo de extração automática, não se esqueça de dar permissões a ele.

Para torná-lo mais compreensível, usaremos o mesmo exemplo do pacote deb, mas adaptado a ele.

Criamos uma pasta chamada «ubunlog» e copiamos a pasta que gerou a si mesmo, renomeando-a como Fazer a si mesmo
Na pasta «ubunlog» crie outro nome instalação e dentro deste local os seguintes arquivos.

Script do instalador

#!/bin/shcp ubunlog-web /usr/bin/ chmod 755 /usr/bin/ubunlog-web chmod +x /usr/bin/ubunlog-webcp ubunlog-web.png /usr/share/pixmaps/ chmod 755 /usr/share/pixmaps/ubunlog-web.pngcp ubunlog-web.desktop /usr/share/applications/ chmod 755 /usr/share/applications/ubunlog-web.desktop chmod +x /usr/share/applications/ubunlog-web.desktop

Eles o salvam como setup.sh

Nosso roteiro

#!/bin/sh firefox https://ubunlog.com/&

Eles salvam como "ubunlog-web» o ícone é salvo com o nome «ubunlog-web.png» nós baixamos esta imagem de clique aqui

O arremessador

[Entrada na área de trabalho] Codificação=Nome UTF-8=Ubunlog Web Blog Comment=Tutoriais, desktops Linux, software, notícias e tudo sobre Ubuntu GenericName=Tutoriais, desktops Linux, software, notícias e tudo sobre Ubuntu Exec=ubunlog-web Terminal=falso Tipo=Ícone do aplicativo=ubunlog-web Categorias=Aplicativo;Rede;Internet; InicializaçãoWMClass=ubunlog-web StartupNotify = verdadeiro

Eles salvam como «ubunlog-web.desktop»

Agora geramos o arquivo de extração automática

chmod 755 setup/ chmod +x setup/setup.sh sh ../makeself/makeself.sh setup ubunlog-web.run "Ubunlog - Tutoriais, desktops Linux, software, novidades e tudo sobre Ubuntu" ./setup.sh

Já temos o arquivo de extração automática.

Espero que isso te ajude em algo

Obrigado pelos seus comentários, se houver algum ERRO é produto da sua imaginação, hahaha


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   David Gómez dito

    Excelente manual, parabéns ...

  2.   Vamos usar Linux dito

    Excelente artigo Luciano!
    Eu realmente te parabenizo.
    Um abraço forte! Paulo.

  3.   maty1206 dito

    Parabéns! Este artigo é um dos melhores que já vi para aprender como empacotar binários .deb para Debian e derivados como Ubuntu.

    No caso do ArchLinux usamos o PKGBUILD no melhor estilo BSD: https://wiki.archlinux.org/index.php/PKGBUILD_%28Espa%C3%B1ol%29

    Um abraço!

    1.    Luciano Lagassa dito

      Olá, obrigado pelo seu comentário, se você acha que podemos adicionar no post como criar pacotes para arch, esclareço que só uso ubuntu e um pouco de centos, comento que é muito bom tentei uma vez mas não tive na hora de instalá-lo, pelo que seria muito bom visto que se eu puder qualquer um pode.

  4.   Luciano Lagassa dito

    Olá, obrigado pelos seus comentários, como já mencionei em outras ocasiões, meu post é baseado em minhas experiências, espero que sejam úteis.

  5.   Josh dito

    Oi luciano.

    Comecei a seguir os passos e não consegui passar no checkinstall. Ele retorna o seguinte erro:

    "Makefile: 349: a receita para o destino 'instalação recursiva' falhou
    make: *** [install-recursive] Erro 1

    **** A instalação falhou. Abortando a criação do pacote. "

    Antes disso, o comando "make" mostra isso na saída:

    "Make [3]: Nada a ser feito para 'todos'."

    Eu não entendo o que está falhando. Tentei baixar a versão mais atual do LAME para ver se resolveria meu problema, mas nada para ver.

    Saudações.