Wenn Sie Ihre Binärdateien in Ihren eigenen RPMs bündeln, ist es trivial, eine Liste zu erhalten, was sie sind und wo sie installiert wurden.
Beispiel
$ 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
Ich würde vorschlagen, Ihre ausführbaren Dateien entweder in /usr/bin
oder zu setzen /usr/local/bin
und Ihre eigene RPM zu rollen. Dies ist ziemlich trivial. Wenn Sie Ihre Softwarebereitstellung mit einem RPM verwalten, können Sie ein Bundle mit einer Versionsnummer kennzeichnen, was die Konfigurationsverwaltung Ihrer Software während der Bereitstellung weiter vereinfacht.
Bestimmen, welche Drehzahlen "meine" sind?
Sie können Ihre RPMs mit einigen bekannten Informationen erstellen, die dann vor dem Erstellen vereinbart werden können. Ich erstelle häufig Pakete auf Systemen, die meiner Domain gehören. Daher ist es trivial, RPMs zu finden, indem ich einfach alle RPMs durchsuche, die auf Host X.mydom.com erstellt wurden.
Beispiel
$ 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.
Dies wäre die Build Host
Linie innerhalb der Drehzahlen.
Die Verwendung von / usr / bin / company?
Ich würde wahrscheinlich von der Verwendung eines solchen Ortes abraten. Hauptsächlich, weil alle Ihre Systeme $PATH
erweitert werden müssen, um sie einzuschließen, und dies nicht dem Standard entspricht. Das Anpassen von Dingen war schon immer ein "Durchgangsrecht" für jeden Möchtegern-Unix-Administrator, aber ich rate immer davon ab, es sei denn, dies ist absolut notwendig.
Das größte Problem bei solchen Anpassungen ist, dass sie sowohl für die Wartung Ihrer Umgebung als auch für die Aktualisierung der Nutzung Ihrer Umgebung durch neue Mitarbeiter eine Belastung darstellen.
Kann ich nur eine Liste der Dateien von RPM erhalten?
Ja, Sie können dies erreichen, aber es sind 2 RPM-Aufrufe erforderlich. Der erste wird eine Liste von Paketen erstellen, die auf Host X.mydom.com erstellt wurden. Nachdem Sie diese Liste erhalten haben, müssen Sie die RPM-Abfrage für die Dateien, die jedem dieser Pakete gehören, erneut aufrufen. Sie können dies mit diesem einen Liner erreichen:
$ 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
Ein naheliegender Vorschlag ist, Ihre Binärdateien oder Pakete auf besondere Weise zu benennen. So könnten Sie ihnen beispielsweise
cm-
gemäß Ihren in diesem Beitrag angegebenen Initialen ein Präfix voranstellen . Wenn Sie RPMs installieren, müssen diese/usr/bin
gemäß FHS aufgerufen werden (wenn es sich um ausführbare Dateien auf Benutzerebene handelt). Sie sollten/usr/local/bin
zum Beispiel nicht darauf eingehen . Dies gilt nur für lokale Installationen.Ich finde die Idee, Binärdateien in einem speziellen Verzeichnis abzulegen und zu verknüpfen, überhaupt nicht ansprechend, obwohl ich denke, dass solche Dinge manchmal getan werden. Denken Sie auch daran, dass Sie das Verpackungssystem einfach abfragen können, wenn Sie herausfinden möchten, welche Binärdateien zu welchem Paket gehören.
quelle
Binärdateien, die nicht Teil des Systems oder der Distribution sind, befinden sich normalerweise in
Das Verzeichnis befindet sich normalerweise im Standard,
$PATH
sodass Ihre Binärdateien gefunden werden.quelle
/usr/local/bin
für manuell installierte ausführbare Dateien. Vom Paketmanager verwaltete ausführbare Dateien gehen in/usr/bin
.