J'ai besoin de créer un paquet deb qui créera un répertoire pour les journaux. Je veux créer un répertoire /var/logs/my_package
et changer son propriétaire en my_user
.
Dans les documents, il y a des informations que je peux créer un fichier debian/dir
. Mais il y a des informations que ce n'est pas la meilleure façon de le faire. Et il n'y a aucune information sur la façon de changer le propriétaire du répertoire (je pense à le placer chown my_user.my_user /var/logs/my_package
dans un debian/postinst
fichier).
Quelle est la méthode recommandée pour créer un répertoire avec le paquet deb?
permissions
package-management
directory
deb
chown
bessarabov
la source
la source
Réponses:
Vous aviez raison, vous avez besoin d'un
debian/my_package.postint
fichier pour effectuer une telle opération:Remarque : Le script vérifie si l'utilisateur existe avant d'appeler
chown
.la source
This generally means there is a problem with the Makefile.
je comprends ce message qu'il existe une autre façon de le faire. Et je veux savoir quelle est la façon recommandée de faire cette tâche.debian/rules
lequel seMakefile
trouvent les paquets for debian. Comme je ne vous connaissais pas,debian/rules
j'ai préféré proposer une solution basée sur un seul fichier. Mais lachown
commande doit être un processus de post-installation. debian / dirs devrait être évité mais ma réponse initiale est parfaitement correcte. Veuillez voter et l'accepter, merci.Vous n'avez pas besoin de créer de
postinst
script, mais la solution reste un peu délicate. J'utilise desdh
caractères génériques dansdebian/rules
:qui fait tout le nécessaire. Mais j'ai besoin de remplacer la propriété de certains dir (appelons cela des données). Je dois donc faire une exception, j'utilise une directive spéciale (c'est un exemple):
Le répertoire de données n'a pas besoin d'être dans le fichier * .dirs. Mais il y a toujours une astuce. Debhelper contient le script dh_fixperms, qui rétablirait la propriété à la racine, nous devons donc également remplacer:
C'est tout. Gardez à l'esprit que le répertoire de données ne compte pas comme un conffile, il sera donc supprimé lors de la suppression du package. Si vous devez en faire un fichier, c'est une autre histoire.
la source