web-dev-qa-db-fra.com

quel utilisateur / propriétaire de fichier utiliser lors de la création de paquets Debian?

Nous créons un simple paquet binaire pour un fichier war et des scripts utilisant dpkg-deb.

Un problème est que nous faisons cela en tant qu’utilisateur local appelé "goofy", alors les fichiers du paquet seront la propriété de goofy.

Plus tard, lorsque nous avons essayé d'installer ce paquet en tant que root, nous avons été surpris de voir que les fichiers qu'il insérait dans/opt/ourpackage appartenaient toujours à goofy.

Maintenant, l'utilisateur goofy n'existera plus sur les machines de la plupart des personnes, alors quel est le meilleur moyen de gérer cela?

Nous supposons qu'il y a deux options:

  1. nous pouvons supposer que tous les fichiers appartiennent à un utilisateur, c’est-à-dire root.
  2. créez des scripts de pré-installation qui créent d’abord l’utilisateur goofy (ou approprié).

Quelle méthode est recommandée?

SI la réponse est 2, est-ce que quelqu'un a des scripts éprouvés que nous pourrions ajouter au paquet pour faire cela?

Nous aurions choisi l'option1, mais cela est gêné par le fait que "l'utilisateur" qui créera et construira les paquets est jenkins, il est donc impossible de créer facilement des fichiers appartenant à root.

3
John Little

La solution à la fin consistait à utiliser fakeroot (Sudo apt-get install fakeroot).

Ensuite, l’emballeur peut posséder les fichiers à emballer, mais lorsque nous exécutons:

fakeroot dpkg-deb --build debian

il induit en erreur le constructeur en lui faisant croire que tous les fichiers appartiennent à root. Lintian est heureuse et installe les fichiers en tant que root sur le serveur cible.

4
John Little