Maak applicatie-installatieprogramma's op verschillende Linux-distributies

Wanneer we een applicatie maken, moeten we altijd een distributeur en installatiemethode: Het is gemakkelijk voor de gebruiker en we moeten in gedachten houden dat als onze applicatie is ontworpen voor meerdere platforms en gebruikers graag native programma's installeren en gebruiken, dus we zullen zien hoe we dat moeten doen installatieprogramma op verschillende platforms.
Laten we als voorbeeld een eenvoudig programma bekijken dat in Java is gemaakt. We kunnen van een Jframe, een Desktoppane, een label en een button een simpele applicatie maken. Vervolgens compileren we het om het jar-pakket te maken. We zullen nu zien hoe onze applicatie te verspreiden.

Linux Ubuntu / Debian / Mint en derivaten - DEB-pakketten


Een applicatie distribueren in a Linux-distributie gebaseerd op Debian het is beter om het in te pakken als een .deb, dat is een debian pakket.
Het is belangrijk om te vermelden dat deze verpakking geen externe bronnen installeert, zoals een databaseserver zoals MySQL, als u een database gebruikt, kunt u deze het beste insluiten als SQLITE of dat het al is voorbereid om verbinding te maken met een server waar de database zich bevindt.
Laten we eens kijken naar de structuur van het installatieproject dat we gaan gebruiken. In Linux worden de uitvoerbare bestanden sh meestal geïnstalleerd in de map / usr / bin, hoewel dit optioneel is, dan worden de applicatie zelf en zijn bibliotheken meestal geïnstalleerd in de / usr / lib map en het pictogram om het menu te integreren in / usr / share / installatie-map zoals hieronder getoond:
/usr/bin/tutoriales.sh [Sh of voer een uitvoerbaar script uit]
/usr/lib/tutoriales/tutoriales.jar [java runtime jar]
/usr/lib/tutoriales/librerias_tutoriales.jar [verschillende bibliotheken]
/usr/share/doc/tutoriales/icono.gif.webp [java-toepassingspictogram]
We openen een bestandsverkenner en maken een zelfstudietoepassingsmap, het is belangrijk dat deze later gemakkelijk toegankelijk is vanaf de terminal om de installatiestructuur te creëren. We maken de volgende mappenstructuur:

Volgende in de map DEBIAN, maken we een tekstbestand zonder enige extensie dat we controle zullen noemen. Dit bestand bevat de specificaties en beschrijvingen voor Linux om de informatie aan de gebruiker van onze applicatie te tonen:
Laten we naar het configuratievoorbeeld kijken, het bestand maken en de volgende inhoud schrijven:
Pakket: Tutorials
Versie: 2.0
Sectie: Documentatie
Prioriteit: optioneel
Architectuur: alles
Beheerder: innovesoft
Geïnstalleerde grootte: 171
Omschrijving: Dit is de omschrijving van het pakket.
Als u meer regels nodig heeft om de beschrijving te schrijven, moet u ervoor zorgen dat elke regel begint met een spatie zoals hier te zien is, zodat deze niet als een veld wordt geïnterpreteerd.
.
Lege lijnen worden weergegeven door een punt.
We slaan het controlebestand op.
Sommige velden zijn belangrijk en vereisen reeds gestandaardiseerde parameters:
Sectie: Dit veld specificeert een toepassingsgebied waarin het pakket is geclassificeerd. _De lijst met door Debian gestandaardiseerde secties kan hier worden bekeken https://packages.debian.org/jessie/
In dit geval zouden tutorials in de sectie Documentatie of Onderwijs kunnen gaan.
Prioriteit: Dit veld geeft aan hoe belangrijk het is voor de gebruiker om deze software te installeren, de parameters die het accepteert zijn vereist, belangrijk, standaard, optioneel en extra.
In dit geval definiëren we het als optioneel.
Architectuur: Het is de architectuur die nodig is om de applicatie 32 bit, 64 bit of beide uit te voeren, de parameters zijn; alles, i386 amd64.
Volgende in de map tutorials / usr / lib / tutorials / We kopiëren alle uiteindelijke gecompileerde bestanden van onze applicatie, in het geval van de Java-applicatie moeten we de jar kopiëren.
Dan zullen we een bestand in de map maken tutorials / usr / bin we genereren een tekstbestand met de naam tutorials.sh met het volgende bash-script dat verwijst naar het uitvoerbare bestand:
 #! / bin / bash java -jar /usr/lib/tutoriales/tutoriales.jar 
We nemen op als tutorials.sh Dit bash-script is een uitvoerbaar bestand in linux dat op zijn beurt het jar-bestand in de aangegeven map zal uitvoeren. We moeten onthouden om het uitvoeringsrechten te verlenen via de terminal met de opdracht:
 chmod + x tutorials.sh
Vervolgens zullen we een pictogram toewijzen aan onze applicatie, in de map tutorials / usr / delen / hallo-wereld we gooien het pictogram dat we voor de toepassing zullen gebruiken.

Nu moeten we het bestand met de specificaties maken, zodat bij installatie automatisch een opstartprogramma of directe toegang wordt toegevoegd aan het hoofdmenu van onze Linux-distributie.
In de map tutorials / usr / delen / toepassingen We maken een tekstbestand met de naam tutorials met de volgende inhoud:
[Bureaubladinvoer]
Codering = UTF-8
Naam = Tutorials
Commentaar = Zelfstudie instructie tutorials
Exec = / usr / bin / tutorials
Icoon = / usr / delen / tutorials.png.webp
Terminal = onwaar
Type = Toepassing
Categorieën = Onderwijs; Documentatie; Overig
StartupNotify = waar
We slaan het tutorials-bestand op zonder extensie, na het opslaan hernoemen we het naar tutorials.desktop.
De velden om een ​​menu-item te genereren zijn:
Naam: is de naam van de applicatie die in het menu wordt weergegeven.
Opmerking: een opmerking die samen met de naam van de toepassing wordt weergegeven.
Exec: Pad van het uitvoerbare bestand.
Pictogram: pad naar pictogrambestand.
Terminal: specificeert of het visueel of door de terminal loopt.
Categorieën: specificeert welke menucategorie de applicatie zal bevatten, in dit geval passen we drie mogelijke categorieën toe, onderwijs, documentatie en andere. Het zal degene aannemen die beschikbaar is.
De gestandaardiseerde categorieën zijn http://standards.fre… tegory-registry.
Nu hebben we alle elementen en de nodige structuur om bouw het DEB-pakket. We openen een terminalvenster en gaan naar waar we de hoofdmap hebben met alle bestanden die we maken, in dit geval onze thuismap, en we schrijven de volgende opdracht om het DEB-pakket te maken.
 dpkg --zelfstudies bouwen

We kunnen het resultaat zowel in de terminal als in de bestandsverkenner zien, nu is het deb-bestand een onafhankelijk installatieprogramma dat we in de repositories kunnen toevoegen of met andere mensen kunnen delen.

Installeer en verwijder DEB-pakketten met de opdracht dpkg


De dpkg-opdracht is degene die wordt gebruikt om .deb-pakketten af ​​te handelen, vanaf de terminal met dpkg kunnen we informatie over een .deb-pakket installeren, verwijderen en verkrijgen.
Ze worden over het algemeen gebruikt in combinatie met de tool en apt-get commando. Als een afhankelijkheids- of toepassingsvereiste niet wordt gevonden of als er een probleem is, zal dpkg de software niet installeren en zichzelf helpen met apt-get om ons een lijst te tonen van afhankelijkheden die eerder moeten worden geïnstalleerd om de software te installeren, in in ons geval hebben we de Java Runtime nodig. Via dpkg installeren we het .deb-pakket, maar het is belangrijk om te onthouden dat dpkg niets zal downloaden.
Om pakketten met dpkg te installeren, gebruiken we de -i optie, bijvoorbeeld:
 dpkg -i tutorials.deb
Om te verwijderen gebruiken we
 dpkg -r tutorials.deb
Ook met de apt-get commando
 apt-get verwijder tutorials
Een andere installatieoptie is via de GDebi-tool, we selecteren het deb-bestand met een rechtermuisknop en selecteren de optie Openen met installatieprogramma. GDebi-pakketten.

Met Gdebi kunnen we deb-pakketten installeren die we hebben gedownload en het zal hun afhankelijkheden zoeken, oplossen en installeren, zolang ze zich in de repositories bevinden. Deze tool werkt hetzelfde als apt-get …

Vervolgens klikken we op pakket installeren en het installatieproces begint en we kunnen zelfs in detail de stappen en acties zien die het installatieprogramma uitvoert.

Als er aan het einde van de installatie geen probleem wordt gevonden, kunnen we onze applicatie zien in het menu dat we hebben, in dit geval gebruiken we een Linux Mint met Mate, het zou moeten werken op de meeste XFCE-, Gnome-, Cinnamon-desktops, enz.

Tot dit punt we hebben een deb-pakket gemaakt om onze applicaties op Linux te distribueren met Debian en derivaten. Maar deze bestanden werken niet voor distributies zoals Fedora / Centos omdat ze rpm-installatiebestanden gebruiken.

Converteer DEB-bestand naar RPM


We kunnen DEB-bestanden converteren naar een RPM-pakket met de opdracht Alien. We installeren de tool vanaf de terminal
 sudo apt-get install alien
Vervolgens schrijven we het conversiecommando:
 alien -r -c tutorials.deb
dat het bestand ons zal genereren
 Tutorials-2.0-2.noarch.rpm
Nadat het rpm-bestand was gegenereerd, hebben we ze gekopieerd naar: Red Hat, Fedora of CentOS.
Om het te installeren gebruiken we het volgende commando:
 rpm -ivh Tutorials-2.0-2.noarch.rpm
Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave