Si vous regroupez vos binaires dans vos propres RPM, il est trivial d'obtenir une liste de ce qu'ils sont et où ils ont été installés.
Exemple
$ rpm -ql httpd| head -10
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d
/etc/httpd/conf.modules.d/00-base.conf
Je suggérerais de mettre vos exécutables dans ou /usr/bin
ou de /usr/local/bin
rouler votre propre RPM. C'est assez trivial de le faire et en gérant votre déploiement de logiciels à l'aide d'un RPM, vous pourrez étiqueter un ensemble avec un numéro de version, ce qui facilitera davantage la gestion de la configuration de votre logiciel lorsque vous le déploierez.
Déterminer quels RPM sont "à moi"?
Vous pouvez créer vos RPM en utilisant des informations connues qui pourraient ensuite être convenues avant de faire le bâtiment. Je construis souvent des packages sur des systèmes appartenant à mon domaine, il est donc trivial de trouver des RPM en recherchant simplement tous les RPM construits sur l'hôte X.mydom.com.
Exemple
$ rpm -qi httpd
Name : httpd
Version : 2.4.7
Release : 1.fc19
Architecture: x86_64
Install Date: Mon 17 Feb 2014 01:53:15 AM EST
Group : System Environment/Daemons
Size : 3865725
License : ASL 2.0
Signature : RSA/SHA256, Mon 27 Jan 2014 11:00:08 AM EST, Key ID 07477e65fb4b18e6
Source RPM : httpd-2.4.7-1.fc19.src.rpm
Build Date : Mon 27 Jan 2014 08:39:13 AM EST
Build Host : buildvm-20.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager : Fedora Project
Vendor : Fedora Project
URL : http://httpd.apache.org/
Summary : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.
Ce serait la Build Host
ligne dans les RPM.
L'utilisation de / usr / bin / company?
Je découragerais probablement l'utilisation d'un tel emplacement. Principalement parce qu'il nécessite que tous vos systèmes soient $PATH
augmentés pour l'inclure et n'est pas standard. La personnalisation des choses a toujours été un "droit de passage" pour chaque administrateur Unix de wannabee, mais je le décourage toujours, sauf si cela est absolument nécessaire.
Le plus gros problème avec les personnalisations comme celle-ci est qu'elles deviennent un fardeau à la fois pour la maintenance de votre environnement et pour informer de nouvelles personnes sur la façon d'utiliser votre environnement.
Puis-je simplement obtenir une liste de fichiers de RPM?
Oui, vous pouvez y parvenir, mais cela nécessitera 2 appels vers RPM. Le premier va construire une liste de packages qui ont été construits sur l'hôte X.mydom.com. Après avoir obtenu cette liste, vous devrez rappeler la requête RPM pour les fichiers appartenant à chacun de ces packages. Vous pouvez y parvenir en utilisant cette doublure:
$ rpm -ql $(rpm -qa --queryformat "%-30{NAME}%{BUILDHOST}\n" | \
grep X.mydom.com | awk '{print $1}') | head -10
/etc/pam.d/run_init
/etc/sestatus.conf
/usr/bin/secon
/usr/bin/semodule_deps
/usr/bin/semodule_expand
/usr/bin/semodule_link
/usr/bin/semodule_package
/usr/bin/semodule_unpackage
/usr/sbin/fixfiles
/usr/sbin/genhomedircon
Une suggestion évidente est de nommer vos binaires ou vos packages d'une manière spéciale. Ainsi, par exemple, vous pouvez les préfixer avec
cm-
, selon vos initiales comme indiqué dans ce post. Si vous installez des rpms, ils doivent entrer/usr/bin
(s'ils sont des exécutables de niveau utilisateur), selon le FHS. Ils ne devraient pas entrer/usr/local/bin
par exemple. C'est uniquement pour les installations locales.Pour mémoire, je ne trouve pas l'idée de mettre des binaires dans un répertoire spécial et de les lier attrayante, même si je suppose que de telles choses sont parfois faites. Gardez également à l'esprit que si vous avez besoin de savoir quels fichiers binaires appartiennent à quel package, vous pouvez simplement interroger le système d'emballage.
la source
Les fichiers binaires ne faisant pas partie du système ou de la distribution sont généralement en
le répertoire est généralement dans la norme
$PATH
afin que vos binaires soient trouvés.la source
/usr/local/bin
c'est pour les exécutables installés manuellement. Les exécutables gérés par le gestionnaire de packages entrent dans/usr/bin
.