Si agrupa sus binarios en sus propios RPM, es trivial obtener una lista de lo que son y dónde se instalaron.
Ejemplo
$ 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
Sugeriría poner sus ejecutables en o /usr/bin
o /usr/local/bin
y rodar sus propios RPM. Es bastante trivial hacer esto y al administrar su implementación de software utilizando un RPM, podrá etiquetar un paquete con un número de versión, lo que facilitará aún más la administración de la configuración de su software a medida que lo implemente.
¿Determinando qué RPM son "míos"?
Puede construir sus RPM utilizando cierta información conocida que luego se podría acordar antes de hacer el edificio. A menudo construyo paquetes en sistemas que son propiedad de mi dominio, por lo que es trivial encontrar RPM simplemente buscando a través de todos los RPM que se construyeron en el host X.mydom.com.
Ejemplo
$ 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.
Esta sería la Build Host
línea dentro de los RPM.
El uso de / usr / bin / company?
Probablemente desaliente el uso de una ubicación como esta. Principalmente porque requiere que todos sus sistemas tengan sus $PATH
aumentados para incluirlo y no es estándar. Personalizar las cosas siempre ha sido un "derecho de paso" para todos los aspirantes a administrador de Unix, pero siempre lo desaconsejo a menos que sea absolutamente necesario.
El mayor problema con la personalización como esta es que se convierten en una carga tanto para mantener su entorno como para poner al día a las personas nuevas sobre cómo usar su entorno.
¿Puedo obtener una lista de archivos de RPM?
Sí, puede lograr esto, pero requerirá 2 llamadas a RPM. El primero creará una lista de paquetes que se crearon en el host X.mydom.com. Después de obtener esta lista, deberá volver a llamar a RPM para consultar los archivos que posee cada uno de estos paquetes. Puede lograr esto usando este único revestimiento:
$ 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
Una sugerencia obvia es nombrar sus binarios o sus paquetes de una manera especial. Entonces, por ejemplo, podría agregarles un prefijo
cm-
, según sus iniciales como se indica en esta publicación. Si está instalando rpms, deben ingresar/usr/bin
(si son ejecutables a nivel de usuario), según el FHS. No deberían entrar/usr/local/bin
por ejemplo. Eso es solo para instalaciones locales.Para el registro, no creo que la idea de poner binarios en un directorio especial y vincularlos sea atractiva, aunque supongo que a veces se hacen tales cosas. Tenga en cuenta también que si necesita averiguar qué binarios pertenecen a qué paquete, puede consultar el sistema de empaquetado.
fuente
Los archivos binarios que no forman parte del sistema o distribución generalmente están en
el directorio generalmente está en el estándar
$PATH
para que se encuentren sus binarios.fuente
/usr/local/bin
es para ejecutables instalados manualmente. Los ejecutables administrados por el administrador de paquetes entran/usr/bin
.