Créer un paquet .deb de vos scripts

Créer un paquet .deb d'un script simple

Voici une méthode simple pour créer des paquets .deb de vos scripts, c'est bien utile pour les réinstaller facilement sur d'autres machines ou sur un nouveau système

On commence par créer un dossier de travail, on créer un dossier nommé «APP_Linux» dans le dossier Documents, puis dans ce dossier APP_Linux on y créer un dossier du nom de votre application, l'architecture est celle-ci :

APP_Linux (votre dossier de travail)
-- dossier_du paquet/ (doit avoir le même nom que le programme)
---- DEBIAN/ (le dossier DEBIAN qui comprend 5 fichiers dont 1 obligatoire )
------ control (le fichier control obligatoire)
------ preinst (un script de pre installation optionnel)
------ postinst (un script de post installation optionnel)
------ prerm (un script de pre désinstallation optionnel)
------ postrm (un script de post désinstallation optionnel)
---- usr/ (le dossier usr)
------ bin/ (le dossier bin)
-------- votre_programme (votre script)

Explications

Le dossier DEBIAN sert à la construction du paquet, on y trouve le fichier control :

On y trouve également les scripts pré et post installation et désinstallation (ils sont optionnels, si vous en créez il faudra les rendre exécutable avec chmod +x ...) :

Ensuite il y a le dossier usr/bin/votre_programme, qui correspond à l'emplacement ou sera placé votre script, ainsi si vous avez un icône pour votre application il faudra créer un dossier share puis icons dans le dossier usr et y placer votre icône, de même pour un lanceur, il faudra créer un dossier applications dans le dossier share et y placer votre fichier .desktop

Exemple

On va prendre un exemple, on va créer une application l'on va nommé «bonjour»

  1. Dans le dossier de travail on créer un dossier nommé bonjour
  2. image non disponible

  3. Dans ce dossier de travail on créer un dossier nommé usr puis dans ce dossier on crée un autre dossier nommé bin et on y crée un fichier nommé bonjour sans extension
  4. image non disponible

  5. On colle ces lignes dans le fichier bonjour, un simple script qui affiche bonjour votre nom avec un émoji (pensez à supprimer les lignes vides en début de programme s'il y en a, sinon vous aurez une erreur)
  6. bonjour
  7. On revient dans le dossier nommé bonjour et on crée un dossier nommé DEBIAN dans lequel on créer un fichier nommé control
  8. image non disponible

  9. On colle ces lignes dans le fichier control
  10. control

Création du paquet

Pour créer le paquet, on ouvre le terminal (Ctrl + alt + t), puis il suffit de se déplacer dans le dossier de travail APP_Linux.

cd ~/Documents/APP_Linux

image non disponible

Et on lance cette commande :

dpkg-deb --build bonjour

image non disponible

Vous avez maintenant un fichier bonjour.deb qui a été créer :

image non disponible

Maintenant pour l'installé, vous pouvez double cliquer sur bonjour.deb, soit vous tapez cette commande :

sudo dpkg -i bonjour.deb

image non disponible

Maintenant pour lancer le programme il suffit de taper la commande bonjour dans le terminal :

image non disponible

Pour désinstaller le programme, il suffi de taper cette commande :

sudo apt autoremove bonjour

image non disponible

Créer un paquet .deb d'un script plus évolué

On va créer une application graphique, qui nécessite d'être en root, avec un logo, un lanceur, un copyright et un changelog

Architecture

On commence par créer un dossier de travail, on créer un dossier nommé «APP_Linux» dans le dossier Documents, puis dans ce dossier APP_Linux on y créer un dossier du nom de votre application, l'architecture est celle-ci :

APP_Linux (votre dossier de travail)
-- dossier_du paquet/ (doit avoir le même nom que le programme)
---- DEBIAN/ (le dossier DEBIAN qui comprend 5 fichiers dont 1 obligatoire )
------ control (le fichier control obligatoire)
------ preinst (un script de pre installation optionnel)
------ postinst (un script de post installation optionnel)
------ prerm (un script de pre désinstallation optionnel)
------ postrm (un script de post désinstallation optionnel)
---- usr/ (le dossier usr)
------ bin/ (le dossier bin)
-------- votre_programme (votre script)
------ share/ (le dossier share)
-------- applications/ (le dossier applications)
---------- votre_programme.desktop (le lanceur de votre application)
-------- icons/ (le dossier icons)
---------- votre_icone.png (l'icône de votre application)
-------- doc/ (le dossier doc)
---------- sdtools/ (le dossier sdtools)
------------ copyright (le fichier copyright)
------------ changelog.Debian.gz (le fichier changelog.Debian compressé)

Explications

Le dossier DEBIAN sert à la construction du paquet, on y trouve le fichier control :

On y trouve également les scripts pré et post installation et désinstallation (ils sont optionnels, si vous en créez il faudra les rendre exécutable avec chmod +x ...) :

Ensuite il y a le dossier usr/bin/votre_programme, qui correspond à l'emplacement ou sera placé votre script, le dossier usr/share/icons ou est placer votre icône, le dossier usr/share/applications ou est placer votre lanceur .desktop, le dossier usr/share/doc ou sont placer le fichier du copyright et du changelog

Exemple

On va prendre un exemple, on va créer une application l'on va nommé «bonjour++»

  1. Dans le dossier de travail on créer un dossier nommé bonjour++
  2. image non disponible

  3. Dans ce dossier de bonjour++ on créer un dossier nommé usr puis dans ce dossier on crée un autre dossier nommé bin et on y crée un fichier nommé bonjour++ sans extension
  4. image non disponible

  5. On colle ces lignes dans le fichier bonjour++, un simple script qui affiche la liste des SSD ou clé USB monté sur le système dans une fenêtre graphique (pensez à supprimer les lignes vides en début de programme s'il y en a, sinon vous aurez une erreur)
  6. bonjour++
  7. On rend le fichiers bonjour++ exécutable avec cette commande dans un terminal :
  8. cd ~/Documents/APP_Linux/bonjour++/usr/bin && chmod 755 bonjour++

  9. On revient dans le dossier nommé usr et on crée un dossier nommé share dans lequel on créer un autre dossier nommé applications, on y crée un fichier nommé bonjour++.desktop
  10. image non disponible

  11. On colle ces lignes dans le fichier bonjour++.desktop
  12. bonjour++.desktop
  13. On revient dans le dossier nommé share dans lequel on créer un autre dossier nommé icons, on y enregistre cette image : image non disponible

    image non disponible

  14. On revient dans le dossier nommé share dans lequel on créer un autre dossier nommé doc, puis dans lequel on créer un dossier nommé bonjour++, on y créer le fichier copyright et le fichier changelog.Debian
  15. image non disponible

  16. On colle ces lignes dans le fichier copyright (licence libre) remplacer votre nom et votre mail ligne 3 et 7
  17. copyright
  18. Puis celles-ci dans le fichier changelog.Debian, on y notera les changements si on créer des mises à jour
  19. changelog.Debian
  20. Puis on compresse le fichier changelog.Debian avec cette commande :
  21. gzip -9  ~/Documents/APP_Linux/bonjour++/usr/share/doc/bonjour++/changelog.Debian

    image non disponible

  22. On revient dans le dossier nommé bonjour++ et on crée un dossier nommé DEBIAN dans lequel on créer un fichier nommé control
  23. image non disponible

  24. On colle ces lignes dans le fichier control, noté que dans les dépendances on à yad, il sera installé avant notre programme
  25. control
  26. Toujours dans le dossier nommé DEBIAN on créer un fichier nommé preinst, on va avoir besoin d'un script de pré-installation car on créer un petit script qui sert à lancer notre application avec un sudo graphique
  27. image non disponible

  28. On colle ces lignes dans le fichier preinst
  29. preinst
  30. Toujours dans le dossier nommé DEBIAN on créer un fichier nommé postrm, on va avoir besoin d'un script de désinstallation pour supprimer le script créer par le preinst
  31. image non disponible

  32. On colle ces lignes dans le fichier postrm
  33. postrm
  34. On rend les fichiers preinst et postrm exécutable avec cette commande dans un terminal:
  35. cd ~/Documents/APP_Linux/bonjour++/DEBIAN && chmod 755 pre* post*

Création du paquet

Pour créer le paquet, on ouvre le terminal (Ctrl + alt + t), puis il suffit de se déplacer dans le dossier de travail APP_Linux.

cd ~/Documents/APP_Linux

image non disponible

Et on lance cette commande :

fakeroot dpkg-deb --build bonjour++

image non disponible

Vous avez maintenant un fichier bonjour++.deb qui a été créer :

image non disponible

Maintenant pour l'installé, vous pouvez double cliquer sur bonjour++.deb, soit vous tapez cette commande :

sudo dpkg -i bonjour++.deb

image non disponible

Maintenant pour lancer le programme il suffit de cliquer sur le lanceur qui se trouve dans votre menu des applications, dans accessoires :

image non disponible

image non disponible

image non disponible

Pour désinstaller le programme, il suffi de taper cette commande :

sudo apt autoremove bonjour++

image non disponible