Créer des programmes d'installation d'applications sur différentes distributions Linux

Lorsque nous créons une application, nous devons toujours avoir un distributeur et méthode d'installation C'est facile pour l'utilisateur et nous devons garder à l'esprit que si notre application est conçue pour plusieurs plates-formes et que les utilisateurs aiment installer et utiliser des programmes de manière native, nous verrons donc comment faire installateur sur différentes plateformes.
Voyons à titre d'exemple un programme simple réalisé en Java. Nous pouvons faire d'un Jframe, d'un Desktoppane, d'une étiquette et d'un bouton une simple application. Nous le compilons ensuite pour créer le package jar. on verra maintenant comment distribuer notre application.

Linux Ubuntu / Debian / Mint et dérivés - Paquets DEB


Pour distribuer une application dans un Distribution Linux basé sur Debian il vaut mieux l'emballer comme un .deb, c'est un paquet debian.
Il est important de mentionner que cet emballage n'installera pas de ressources externes, telles qu'un serveur de base de données tel que MySQL, si vous utilisez une base de données, il est préférable qu'elle soit intégrée en tant que SQLITE ou qu'il est déjà prêt à se connecter à un serveur sur lequel se trouve la base de données.
Voyons la structure du projet d'installation que nous allons utiliser, sous Linux les exécutables sh sont généralement installés dans le dossier /usr/bin bien que ce soit facultatif, alors l'application elle-même et ses bibliothèques sont généralement installées dans le /usr/ lib et l'icône pour intégrer le menu dans /usr/share/installation-folder comme indiqué ci-dessous :
/usr/bin/tutoriales.sh [Sh ou exécutez un script exécutable]
/usr/lib/tutoriales/tutoriales.jar [jar d'exécution java]
/usr/lib/tutoriales/librerias_tutoriales.jar [diverses bibliothèques]
/usr/share/doc/tutoriales/icono.gif.webp [icône d'application Java]
On ouvre un explorateur de fichiers et on crée un dossier d'application tutoriel, il est important qu'il soit facilement accessible par la suite depuis le terminal, pour créer la structure d'installation. Nous créons la structure de dossiers suivante :

Suivant dans le dossier DEBIAN, nous créons un fichier texte sans aucune extension que nous appellerons control. Ce fichier contiendra les spécifications et descriptions pour Linux pour montrer les informations à l'utilisateur de notre application :
Regardons l'exemple de configuration, créez le fichier et écrivez le contenu suivant :
Paquet : Tutoriels
Version : 2.0
Rubrique : Documentation
Priorité : en option
Architecture : tous
Mainteneur : innovesoft
Taille installée : 171
Description : Il s'agit de la description du package.
Si vous avez besoin de plus de lignes pour écrire la description, vous devez vous assurer que chaque ligne commence par un espace comme on le voit ici afin qu'elle ne soit pas interprétée comme un champ.
.
Les lignes vides sont représentées par un point.
Nous sauvegardons le fichier de contrôle.
Certains champs sont importants et nécessitent des paramètres déjà standardisés :
Section: Ce champ spécifie un domaine d'application dans lequel le package a été classé. _La liste des sections standardisées par Debian peut être consultée ici https://packages.debian.org/jessie/
Dans ce cas, les tutoriels pourraient aller dans la section Documentation ou Education.
Priorité: Ce champ représente l'importance pour l'utilisateur d'installer ce logiciel, les paramètres qu'il accepte sont obligatoires, importants, standard, optionnels et extra.
Dans ce cas, nous le définissons comme optionnel.
Architecture: C'est l'architecture nécessaire pour exécuter l'application 32 bits, 64 bits ou les deux, les paramètres sont; tous, i386 amd64.
Suivant dans le dossier tutoriels / usr / lib / tutoriels / Nous copions tous les fichiers finaux compilés de notre application, dans le cas de l'application java, nous devons copier le jar.
Ensuite, nous allons créer un fichier dans le dossier tutos / usr / bin nous générons un fichier texte appelé tutorials.sh avec le script bash suivant qui pointe vers le fichier exécutable
 #! / bin / bash java -jar /usr/lib/tutoriales/tutoriales.jar 
Nous enregistrons comme tutoriels.sh Ce script bash est un exécutable sous Linux qui à son tour exécutera le fichier jar dans le dossier indiqué. Il ne faut pas oublier de lui accorder des autorisations d'exécution via le terminal avec la commande :
 chmod + x tutoriels.sh
Ensuite, nous allons attribuer une icône à notre application, à l'intérieur du dossier tutoriels / usr / share / hello-world nous lançons l'icône que nous utiliserons pour l'application.

Maintenant, nous devons créer le fichier avec les spécifications afin qu'une fois installé, un lanceur ou un accès direct soit automatiquement ajouté au menu principal de notre Distribution Linux.
Dans le dossier tutoriels / usr / share / applications Nous créons un fichier texte appelé tutoriels avec le contenu suivant :
[Entrée de bureau]
Encodage = UTF-8
Nom = Tutoriels
Commentaire = didacticiels d'auto-apprentissage
Exec =/usr/bin/tutoriels
Icône = / usr / share / tutorials.png.webp
Borne = faux
Type = Candidature
Catégories = Éducation; Documentation ; Autre
StartupNotify = vrai
Nous enregistrons le fichier des tutoriels sans extension, après l'avoir enregistré, nous le renommerons en tutorials.desktop.
Les champs pour générer une entrée de menu sont :
Nom : c'est le nom de l'application qui sera affiché dans le menu.
Commentaire : Un commentaire qui apparaîtra avec le nom de l'application.
Exec : Chemin du fichier exécutable.
Icône : chemin du fichier d'icône.
Terminal : spécifie s'il s'agit d'un visuel ou d'un passage via le terminal.
Catégories : spécifie quelle catégorie de menu l'application contiendra, dans ce cas nous appliquons trois catégories possibles, éducation, documentation et autres. Il adoptera celui qui est disponible.
Les catégories standardisées sont http://standards.fre… tegory-registry.
Nous avons maintenant tous les éléments et la structure nécessaires pour construire le paquet DEB. Nous ouvrons une fenêtre de terminal et allons là où nous avons le dossier principal avec tous les fichiers que nous créons, dans ce cas notre dossier de départ, et nous écrivons la commande suivante pour créer le package DEB.
 dpkg --construire des tutoriels

Nous pouvons voir le résultat à la fois dans le terminal et dans l'explorateur de fichiers, maintenant le fichier deb est un installateur indépendant que nous pouvons ajouter dans les référentiels ou partager avec d'autres personnes.

Installer et désinstaller les packages DEB à l'aide de la commande dpkg


Le commande dpkg est celui utilisé pour gérer les packages .deb, à partir du terminal avec dpkg, nous pouvons installer, supprimer et obtenir des informations sur un package .deb.
Ils sont généralement utilisés avec l'outil et commande apt-get. Si une dépendance ou une exigence d'application n'est pas trouvée ou a un problème, dpkg n'autorisera pas l'installation du logiciel et s'aidera avec apt-get pour nous montrer une liste des dépendances qui doivent être préalablement installées afin d'installer le logiciel, dans notre cas, nous avons besoin du Java Runtime. Grâce à dpkg, nous installons le package .deb, mais il est important de garder à l'esprit que dpkg ne téléchargera rien.
Pour installer des packages avec dpkg, nous utilisons l'option -i, exemple :
 dpkg -i tutoriels.deb
Pour désinstaller, nous utilisons
 dpkg -r tutoriels.deb
Aussi avec le commande apt-get
 apt-get supprimer des tutoriels
Une autre option d'installation est via l'outil GDebi, nous sélectionnons le fichier deb avec un clic droit et sélectionnons l'option Ouvrir avec l'installateur. Forfaits GDebi.

Gdebi nous permet d'installer les packages deb que nous avons téléchargés et il recherchera, résoudra et installera leurs dépendances, tant qu'ils se trouvent dans les référentiels. Cet outil fonctionne de la même manière que apt-get …

Ensuite, nous cliquons sur installer le package et le processus d'installation commencera et nous pourrons même voir en détail les étapes et les actions que l'installateur effectue.

Si aucun problème n'est trouvé à la fin de l'installation, nous pouvons voir notre application dans le menu que nous avons, dans ce cas nous utilisons un Linux Mint avec Mate, cela devrait fonctionner sur la plupart des bureaux XFCE, Gnome, Cinnamon, etc.

Jusqu'ici nous avons créé un package deb pour distribuer nos applications sur Linux avec Debian et ses dérivés. Mais ces fichiers ne fonctionnent pas pour les distributions comme Fedora / Centos car ils utilisent des fichiers d'installation rpm.

Convertir le fichier DEB en RPM


Nous pouvons convertir les fichiers DEB en package RPM avec la commande Alien. Nous installons l'outil depuis le terminal
 sudo apt-get install alien
Ensuite, nous écrivons la commande de conversion :
 alien -r -c tutoriels.deb
que le fichier nous générera
 Tutoriels-2.0-2.noarch.rpm
Une fois le fichier rpm généré, nous les avons copiés dans Red Hat, Fedora ou CentOS.
Pour l'installer, nous utiliserons la commande suivante :
 rpm -ivh Tutoriels-2.0-2.noarch.rpm
Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif
wave wave wave wave wave