Affichage des articles dont le libellé est paquet. Afficher tous les articles
Affichage des articles dont le libellé est paquet. Afficher tous les articles

mardi 12 mai 2009

Création d'un paquet Debian -- test.deb

Commencer par créer un script qui ne fait pas grand chose (!) :

Exemple "test.sh" :
[...]
#!/bin/bash
echo "Entrer un nom [eg - foo] : "
read nom
echo $nom > ./test
[...]

Ensuite créer l'architecture du paquet "test" :
/home/<vous>/test/
/home/<vous>/test/DEBIAN/
/home/<vous>/test/DEBIAN/control (fichier décrivant les informations
relatives à notre paquet)
/home/<vous>/test/DEBIAN/postinst (script exécuté après l'installation
du paquet)
/home/<vous>/test/DEBIAN/postrm (script exécuté après la désinstallation
du paquet)
/home/<vous>/test/DEBIAN/prerm (script exécuté avant la désinstallation
du paquet)
/home/<vous>/test/usr/
/home/<vous>/test/usr/bin/
/home/<vous>/test/usr/bin/test.sh (notre script, exposé ci-dessus)
/home/<vous>/test/usr/share/
/home/<vous>/test/usr/share/doc/
/home/<vous>/test/usr/share/doc/README (informations relatives à
l'utilisation de test.sh)
/home/<vous>/test/usr/share/doc/copyright
/home/<vous>/test/usr/share/doc/changelog (changements apportés par
rapport à la dernière version)
/home/<vous>/test/usr/share/doc/changelog.Debian (idem, mais seulement
pour le paquet Debian

Note : Les fichiers post* et pre* doivent contenir le "shebang" càd
"#!/bin/bash" au minimum et être en 755

Note2 : De la même manière il est possible d'ajouter des fichiers où
l'on souhaite en respectant l'arborescence du système, eg: /var/www en
sus de /usr/bin, etc...

Renseigner le fichier "control" comme suit :
Package: test
Version: 1.0
Section: base
Priority: optional
Architecture: all
Depends: bash
Maintainer: Mr X <MrX@fun.com>
Description: Que fait mon script test.sh

Note3 : Il est possible de modifier les dépendances de paquet, en
modifiant la ligne "Depends: bash", avec par exemple :
Depends: bash, some_package >= 1.2, some_other_package >= 2 (le
séparateur étant une virgule)

Il ne reste plus qu'à générer le paquet :
# chmod 755 /home/<vous>/test/DEBIAN/post* /home/<vous>/test/DEBIAN/pre*
# cd ~<vous>
# dpkg-deb --build test.deb
Et voilà un beau paquet Debian tout neuf (mais vraiment minimaliste !)
Il ne reste plus qu'à l'installer avec la commande :
# dpkg -i test.deb
Et enlever avec les commandes :
# dkpg --remove test && dpkg --purge test

vendredi 17 octobre 2008

Figer un paquet (debian-like)

Demander à figer un paquet :
# echo "nom_du_paquet hold" | dpkg --set-selections
Marquer un paquet pour installation :
# echo "nom_du_paquet install" | dpkg --set-selections
Voir le statut des paquets :
# dpkg --get-selections