3 votes

comment faire des scripts qui seront exécutés à l'installation du paquet apt

J'ai créé un bash script qui va stocker certaines données dans une base de données mysql. Ensuite, j'ai créé deb avec ce script et le rendre disponible pour l'installation en créant un dépôt apt local.

Maintenant, je peux installer ce paquet dans n'importe quel système( apt-get install packgename ), mais le problème est que je dois créer manuellement la base de données mysql pour ce script après chaque installation sur chaque système.

Y a-t-il un moyen pour que je puisse exécuter un script pour créer une base de données mysql (car c'est une exigence unique pour un système) pendant l'installation elle-même. J'ai entendu quelque chose comme post et pre scripts mais pas d'idée en googlant. Pourriez-vous nous donner quelques bons tutoriels à ce sujet ?

4voto

chaos Points 25386

Supposons que vous ayez votre .deb -file local (Si ce n'est pas le cas, vous pouvez le télécharger via apt-get download package ).

Décompressez votre fichier deb :

ar x package.deb

Dans le dossier actuel, il y a maintenant quelques fichiers. data.tar.gz est le fichier contenant le contenu du paquet. Mais c'est le dossier qui nous intéresse. control.tar.gz où les post et pré-scripts sont. Donc, déballez le fichier de contrôle dans un autre dossier :

tar xfs control.tar.gz

Maintenant, ce que vous recherchez est le script appelé postinst qui est exécuté après l'installation du paquet. Si ce script n'existe pas, il suffit de le créer, avec rwxr-xr-x permissions (755). A l'intérieur de ce script placez votre commande db create, et laissez le script se terminer par un exit 0 pour une installation réussie ou exit 1 pour un échec.

Quand vous avez fait toutes vos affaires, tar les fichiers vers le fichier de contrôle. Utilisez cette commande dans le dossier pour créer le control.tar.gz fichier.

tar -czf control.tar.gz *

Maintenant, recréez le paquet deb avec ces nouveaux fichiers, avec cette commande :

ar r package.deb debian-binary control.tar.gz data.tar.gz

C'est ça !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X