Jeśli umieścisz swoje pliki binarne we własnych RPM, to banalne jest uzyskanie listy tego, czym są i gdzie zostały zainstalowane.
Przykład
$ 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
Sugerowałbym umieszczenie swoich plików wykonywalnych w jednym /usr/bin
lub /usr/local/bin
i uruchomienie własnego RPM. Jest to dość trywialne, a zarządzając wdrożeniem oprogramowania za pomocą RPM, możesz oznaczyć pakiet numerem wersji, co jeszcze bardziej ułatwi zarządzanie konfiguracją oprogramowania podczas jego wdrażania.
Ustalanie, które RPM są „moje”?
Możesz budować swoje RPM wykorzystując znane informacje, które mogą zostać uzgodnione przed wykonaniem budowy. Często buduję pakiety na systemach należących do mojej domeny, więc znalezienie RPM jest proste, wystarczy przeszukać wszystkie RPM zbudowane na hoście X.mydom.com.
Przykład
$ 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.
To byłaby Build Host
linia w RPM.
Użycie / usr / bin / company?
Prawdopodobnie odradzałbym korzystanie z takiej lokalizacji. Głównie dlatego, że wymaga, aby wszystkie twoje systemy zostały $PATH
rozszerzone o to i jest niestandardowy. Dostosowywanie rzeczy zawsze było „prawem przejścia” dla każdego niedoszłego administratora Unixa, ale zawsze go odradzam, chyba że jest to absolutnie konieczne.
Największym problemem związanym z takimi dostosowaniami jest to, że stają się one ciężarem zarówno w utrzymywaniu środowiska, jak i przyspieszaniu nowych osób, jak korzystać ze środowiska.
Czy mogę po prostu uzyskać listę plików z RPM?
Tak, możesz to osiągnąć, ale będzie to wymagało 2 połączeń z RPM. Pierwszy zbuduje listę pakietów, które zostały zbudowane na hoście X.mydom.com. Po uzyskaniu tej listy musisz ponownie wywołać kwerendę RPM dla plików należących do każdego z tych pakietów. Możesz to osiągnąć za pomocą tej jednej wkładki:
$ 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