Com distribuir el nostre programari en Ubuntu i altres distros

Si són programadors o no i volen un mètode d'instal · lar aquesta aplicació o script, aquí els deixo diversos mètodes.
Paquet DEB amb Fuentes (Només per a debian i derivats)

Aquest mètode és per quan tenim el codi font de l'aplicació.

Primer instal·lem el programa que fa la màgia «Checkinstall», En una terminal executem

suo aptitude install checkinstall

Per l'exemple farem servir la llibreria «LAME», Descarreguen el font des aquí, Vam crear una carpeta i col·loquem l'arxiu llepa-3.98.4.tar.gz i des terminal com a root entrem a aquesta carpeta i executem aquestes línies.

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

Ens genera el paquet deb, aquest mètode instal·la el paquet generat a l'finalitzar.

Paquet DEB Manual (Només per a debian i derivats)

Aquest mètode és per als nostres scripts o aplicacions precompiladas

Estructura d'un paquet DEB

| Setup (Carpeta General) | | -DEBIAN (Carpeta on hi ha els arxius de configuració) | --Control (Arxiu de configuració) | --preinst (Arxiu o Script que s'executa abans de Instal·lar) | --postinst (Arxiu o Script que s'executa després d'Instal·lar ) | --prerm (Arxiu o Script que s'executa abans de desinstal·lar) | --postrm (Arxiu o Script que s'executa després de desinstal·lar) | | -Usr (Carpeta on hi ha els arxius de la teva aplicació) | -usr / bin (Carpeta on hi ha els binaris o scripts) | -usr / share / pixmaps (Carpeta on estan les icones) | -usr / share / applications (Carpeta on hi ha els llançadors)

Exemple d'arxiu «control»

Package: TUPAQUETE Version: VERSION Architecture: amd64 (i386 o all) Maintainer: Autor Section: partner / web Priority: optional Descripció: TEXT

Generant un Paquet DEB

suo chmod -R root: root setup / suo chmod -R 755 setup / sudo dpkg -b setup / paquete.deb chmod 777 paquete.deb chown -R setup

Amb aquestes dades ja es pot generar un paquet deb per a la nostra aplicació, com a exemple farem un script bash simple

Creem una carpeta de nom «ubunlog» i dins d'aquesta altra de nom «Setup»
després dins de l'última carpeta vam crear dues carpetes una de nom «DEVIEN» i una altra «Usr».

Aquest és l'arxiu de control

paquet: ubunlog-web Version: 0.11.5.13 Architecture: all Maintainer: EL TEU NOM Section: partner/web Priority: optional Description: Tutorials, escriptoris linuxers, programari, notícies i tot sobre Ubuntu

El guardem dins de la carpeta «DEVIEN» que vam crear abans com «control»

Aquest codi és de l'arxiu 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

Aquest el guardem a la mateixa carpeta que abans com «postinst»

Ara creem les carpetes per al script, el llançador i la icona, dins de la carpeta «Setup» creem una carpeta de nom «Usr»

Com veuen tenim dues carpetes XNUMX:XNUMX «DEVIEN» i una altra «Usr» que vam crear fa segons, dins d'aquesta ultima vam crear carpetes XNUMX:XNUMX «Bin» i una altra «Share»

Aquest és el codi de l'script

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

el guardem a la carpeta «Bin» amb el nom «ubunlog-web».

Ara anem a la carpeta «Share» en aquesta vam crear una carpeta de nom «Pixmaps» i guardem amb el nom «ubunlog-web.png» aquesta imatge la vam baixar de aquí

Només ens queda crear el llançador, per això vam crear una ultima carpeta dins de part de nom «Applications»

Aquest és el codi de el mateix

[Desktop Entry] Encoding=UTF-8 Name=Ubunlog Web Blog Comment=Tutorials, escriptoris linuxers,programari,notícies i tot sobre Ubuntu GenericName=Tutorials, escriptoris linuxers,programari,notícies i tot sobre Ubuntu Exec=ubunlog-web Terminal=false Type=Application Icon=ubunlog-web Categories=Application;Network;Internet; StartupWMClass=ubunlog-web StartupNotify=true

El desen a la carpeta «Applications» com a «ubunlog-web.desktop»

Ja tenim tot a punt només queda generar el paquet deb, Li demana contrasenya de root, però no instal·la res.

sudo chmod -R root:root setup/ sudo chmod -R 755 setup/ sudo dpkg -b setup/ ubunlog-web_0.11.5.13_all.deb chmod 777 ubunlog-web_0.11.5.13_all.deb chown -R setup

Si ho teniu tot bé ja teniu el paquet «ubunlog-web_0.11.5.13_all.deb».

autoextraible Manual (Només provat en Ubuntu, Funciona en Qualsevol Distro)

Aquest mètode és per generar arxius amb l'script makeself (http://megastep.org/makeself/)

Descarreguen des de la web, és un arxiu .run, li donen permisos i l'executem,

Com es fa servir.

makeself.sh CARPETA / ORIGEN / RESULTADO.RUN "TEXT" ./setup.sh

Com veuran «CARPETA / ORIGEN / » són els arxius i carpetes de la nostra aplicació o script «RESULTAT.RUN» és l'arxiu resultant o arxiu autoextraible
«TEXT» és el missatge que es mostra a l'executar l'arxiu autoextraible, i es posa entre cometes.
«./Setup.sh» és l'script que executa a l'descomprimir l'arxiu autoextraible, no oblideu donar-li permisos.

Perquè sigui més entenedora farem servir el mateix exemple de l'paquet deb però adaptat a aquest.

Creem una carpeta de nom «ubunlog» i copiem la carpeta que genero makeself, renombrenla com «Makeself»
A la carpeta «ubunlog» creuen una altra de nom disposició i dins d'aquesta col·loquen els arxius següents.

script Instal·lador

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

El guarden com setup.sh

El nostre Script

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

El guarden com «ubunlog-web» la icona el guardem amb el nom «ubunlog-web.png» aquesta imatge la vam baixar de aquí

el Llançador

[Desktop Entry] Encoding=UTF-8 Name=Ubunlog Web Blog Comment=Tutorials, escriptoris linuxers,programari,notícies i tot sobre Ubuntu GenericName=Tutorials, escriptoris linuxers,programari,notícies i tot sobre Ubuntu Exec=ubunlog-web Terminal=false Type=Application Icon=ubunlog-web Categories=Application;Network;Internet; StartupWMClass=ubunlog-web StartupNotify=true

El guarden com «ubunlog-web.desktop»

Ara generem el fitxer autoextraible

chmod 755 setup/ chmod +x setup/setup.sh sh ../makeself/makeself.sh setup ubunlog-web.run "Ubunlog - Tutorials, escriptoris linuxers, programari, notícies i tot sobre Ubuntu" ./setup.sh

Ja tenim l'arxiu autoextraible.

Espero que els ajudi en alguna cosa aquesta

Gràcies per les seves Comentaris, Si hi ha algun ERROR és producte de la seva imaginació, jajajaj


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   David Gómez va dir

    Excel·lent manual, felicitacions ...

  2.   Fem servir Linux va dir

    Excel·lent article Luciano!
    Realment et felicito.
    Una forta abraçada! Pau.

  3.   maty1206 va dir

    Felicitacions! Aquest article és un dels millors que he vist parell aprendre a empaquetar binaris .deb per a Debian i derivats com Ubuntu.

    En el cas de ArchLinux utilitzem els PKGBUILD a el millor estil BSD: https://wiki.archlinux.org/index.php/PKGBUILD_%28Espa%C3%B1ol%29

    Una abraçada!

    1.    Luciano Lagassa va dir

      hola, gràcies pel teu comentari, si et sembla podesmos afegir al post com crear paquets per fitxer, aclareixo que sol ús ubuntu i una mica de centos, em comentari que és molt bona intenti una veus però no vaig el temps per instal·lar-la, per el que estaria molt bo ja que si jo puc qualsevol pot.

  4.   Luciano Lagassa va dir

    hola, gràcies pels seus comentaris, com ja comenti en altres oportunitats meus post són basats en les meves experiències, espero que els siguin útils.

  5.   Josh va dir

    Hola, Luciano.

    He començat a seguir els passos i no he aconseguit passar de l'checkinstall. Em torna el següent error:

    «Makefile: 349: recipe for target 'install-recursive' failed
    make: *** [install-recursive] Error 1

    **** La instal·lació ha fallat. Avortant la creació d'el paquet. »

    Prèviament a això, la comanda «make» mostra en l'output això:

    «Make [3]: Nothing to be done for 'all'.»

    No entenc què està fallant. He provat a descarregar la versió més actual de LAME per veure si solucionava el meu problema, però res a veure.

    Salutacions.