Hur vi distribuerar vår programvara på Ubuntu och andra distributioner

Om du är programmerare eller inte och vill ha en metod för att installera det programmet eller skriptet, här är flera metoder.
DEB-paket med typsnitt (Endast för debian och derivat)

Den här metoden är för när vi har källkoden för applikationen.

Först installerar vi programmet som gör magin "Kontrollinstallation", i en terminal som vi kör

sudo aptitude installera kontrollinstallation

För exemplet använder vi biblioteket "LAM", ladda ner källan från här, vi skapar en mapp och placerar filen halt-3.98.4.tar.gz och från terminal som root kommer vi in ​​i den mappen och kör dessa rader.

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

Det genererar deb-paketet för oss, den här metoden installerar det genererade paketet i slutet.

Manuellt DEB-paket (Endast för debian och derivat)

Den här metoden är för våra skript eller förkompilerade applikationer

Uppbyggnad av ett DEB-paket

| Inställning (Allmän mapp) | | -DEBIAN (mapp där konfigurationsfilerna är) | --control (konfigurationsfil) | --preinst (fil eller skript som körs före installation) | --postinst (fil eller skript som körs efter installation) | --prerm ( Fil eller skript som ska köras innan avinstallation) | --postrm (Fil eller skript som ska köras efter avinstallation) | | -usr (Mapp där filerna i din applikation finns) | -usr / bin (Mapp där binärfiler eller skript finns) | -usr / share / pixmaps (Mapp där ikonerna är) | -usr / share / applikationer (Mapp var är bärraketerna)

Exempel på en «kontroll» -fil

Paket: TUPACKAGE Version: VERSION Arkitektur: amd64 (i386 eller alla) Underhållare: AUTHOR Avsnitt: partner / web Prioritet: valfri Beskrivning: TEXT

Skapa ett DEB-paket

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

Med dessa data kan vi redan skapa ett deb-paket för vår applikation, som ett exempel kommer vi att göra ett enkelt bash-skript

Vi skapar en mapp med namnet «ubunlog» och inom detta andra namn Uppstart
sedan in i den sista mappen skapar vi två mappar med namnet "DEBIAN" och en annan «Usr».

Detta är kontrollfilen

Förpackning: ubunlog-web Version: 0.11.5.13 Arkitektur: alla Underhållare: TU NAMN Avsnitt: partner/webb Prioritet: valfritt Beskrivning: Handledningar, Linux-datorer, mjukvara, nyheter och allt om Ubuntu

Vi håller det inne i mappen "DEBIAN" som vi skapade tidigare som «kontroll»

Den här koden kommer från postinst-filen

#!/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

Vi sparar detta i samma mapp som tidigare som "postinst"

Nu skapar vi mapparna för skriptet, startprogrammet och ikonen inuti mappen Uppstart vi skapar en mapp med namnet «Usr»

Som du kan se har vi två mappar en "DEBIAN" och en annan «Usr» som vi skapade för några sekunder sedan, inom det senare skapar vi mappar en "Fack" och en annan "Compartir"

Detta är skriptkoden

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

vi sparar den i mappen "Fack" med namnet «ubunlog-Webb".

Nu går vi till mappen "Compartir" i detta skapar vi en mapp med namnet "Pixmaps" och vi sparar med namnet «ubunlog-web.png» vi laddade ner den här bilden från här

Vi behöver bara skapa startprogrammet, för detta skapar vi en sista mapp inom andel vid namn "Applikationer"

Det här är samma kod

[Desktop Entry] Encoding=UTF-8 Namn=Ubunlog Webbblogg Comment=Tutorials, Linux-datorer, mjukvara, nyheter och allt om Ubuntu GenericName=Tutorials, Linux-datorer, programvara, nyheter och allt om Ubuntu Exec=ubunlog-web Terminal=false Typ=Applikationsikon=ubunlog-web Categories=Applikation;Nätverk;Internet; StartupWMClass=ubunlog-web StartupNotify=true

De håller det i mappen "Applikationer" som «ubunlog-web.desktop»

Vi har redan allt klart, det återstår bara generera deb-paket, det ber dig om root-lösenord, men det installerar ingenting.

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

Om allt stämmer har du redan paketet «ubunlog-web_0.11.5.13_all.deb».

Självutdragande handbok (Endast testat på Ubuntu, fungerar på alla distroer)

Denna metod är att generera filer med makeelf-skriptet (http://megastep.org/makeself/)

De laddar ner från webben, det är en .run-fil, de ger den behörighet och vi kör den,

Hur man använder det.

makeself.sh FOLDER / SOURCE / RESULT.RUN "TEXT" ./setup.sh

Som du kan se "MAPP / URSPRUNG / » är filerna och mapparna i vårt program eller skript «RESULTAT.KÖRT» är den resulterande filen eller den självutdragande filen
"TEXT" är meddelandet som visas när du kör den självutdragande filen och den är omsluten av citattecken.
"./Setup.sh" är skriptet som körs när du packar upp den självutdragande filen, glöm inte att ge den behörighet.

För att göra det mer förståeligt kommer vi att använda samma exempel på deb-paketet men anpassat till det.

Vi skapar en mapp med namnet «ubunlog» och vi kopierar mappen som gör att jag genererar, byter namn på den som Gör mig själv
I mappen «ubunlog» skapa ett annat namn inställning och inuti denna plats följande filer.

Installatörsskript

#!/bin/sh cp ubunlog-web /usr/bin/ chmod 755 /usr/bin/ubunlog-web chmod +x /usr/bin/ubunlog-webb 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

De sparar det som setup.sh

Vårt manus

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

De sparar det som "ubunlog-web» ikonen sparas med namnet «ubunlog-web.png» vi laddade ner den här bilden från här

Tillbringaren

[Desktop Entry] Encoding=UTF-8 Namn=Ubunlog Webbblogg Comment=Tutorials, Linux-datorer, mjukvara, nyheter och allt om Ubuntu GenericName=Tutorials, Linux-datorer, programvara, nyheter och allt om Ubuntu Exec=ubunlog-web Terminal=false Typ=Applikationsikon=ubunlog-web Categories=Applikation;Nätverk;Internet; StartupWMClass=ubunlog-web StartupNotify=true

De sparar det som «ubunlog-web.desktop»

Nu genererar vi den självutdragande filen

chmod 755 setup/ chmod +x setup/setup.sh sh ../makeself/makeself.sh setup ubunlog-web.run "Ubunlog - Handledningar, Linux-datorer, mjukvara, nyheter och allt om Ubuntu" ./setup.sh

Vi har redan den självutdragande filen.

Jag hoppas att det hjälper dig med något

Tack för dina kommentarer. Om det finns något FEL är det din fantasiprodukt, hahaha


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   David Gomez sade

    Utmärkt manual, grattis ...

  2.   Låt oss använda Linux sade

    Utmärkt artikel Luciano!
    Jag gratulerar dig verkligen.
    En kram! Paul.

  3.   maty1206 sade

    Grattis! Den här artikeln är en av de bästa jag har sett för att lära mig hur man paketerar .deb-binärer för Debian och derivat som Ubuntu.

    När det gäller ArchLinux använder vi PKGBUILD i bästa BSD-stil: https://wiki.archlinux.org/index.php/PKGBUILD_%28Espa%C3%B1ol%29

    En kram!

    1.    Luciano Lagassa sade

      Hej, tack för din kommentar, om du tror att vi kan lägga till i inlägget hur man skapar paket för arch, klargör jag att jag bara använder ubuntu och lite centos, jag kommenterar att det är väldigt bra jag försökte en gång men jag hade inte tiden för att installera den, för vilken skulle vara mycket bra, eftersom om jag kan någon kan.

  4.   Luciano Lagassa sade

    Hej, tack för dina kommentarer, som jag redan har nämnt vid andra tillfällen, är mitt inlägg baserat på mina erfarenheter, jag hoppas att de är användbara.

  5.   Josh sade

    Hej Luciano.

    Jag har börjat följa stegen och jag har inte kunnat klara kontrollinstallationen. Följande fel returneras:

    "Makefile: 349: recept för mål 'install-rekursiv' misslyckades
    make: *** [install-recursive] Fel 1

    **** Installationen misslyckades. Avbryter skapandet av paketet. "

    Innan dess visar kommandot "make" detta i utdata:

    "Make [3]: Inget att göra för" alla "."

    Jag förstår inte vad som misslyckas. Jag har försökt ladda ner den senaste versionen av LAME för att se om det skulle lösa mitt problem, men inget att göra.

    Hälsningar.