バイナリを独自のRPMにバンドルする場合、それらが何であり、どこにインストールされているかのリストを取得することは簡単です。
例
$ 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
実行可能ファイルを/usr/bin
またはに入れ/usr/local/bin
、独自のRPMをローリングすることをお勧めします。これを行うのは非常に簡単です。RPMを使用してソフトウェアの展開を管理することで、バンドルにバージョン番号のラベルを付けることができ、展開時にソフトウェアの構成管理がさらに容易になります。
「自分の」RPMを特定する方法
ビルドを行う前に合意できる既知の情報を使用してRPMをビルドできます。私は自分のドメインが所有するシステムでパッケージをビルドすることが多いので、ホストX.mydom.comでビルドされたすべてのRPMを検索するだけでRPMを見つけるのは簡単です。
例
$ 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.
これはBuild Host
RPM内の行になります。
/ usr / bin / companyの使用?
このような場所の使用はお勧めしません。これは主に、すべてのシステムに$PATH
拡張機能を組み込んで標準にする必要があるためです。すべてのワナビーUnix管理者にとって、物事のカスタマイズは常に「通過権」でしたが、絶対に必要な場合を除いて、私は常にそれを勧めません。
このようなカスタマイズの最大の問題は、環境を維持することと、新しい人々に環境の使用方法を理解してもらうことの両方に負担がかかることです。
RPMからファイルのリストを取得できますか?
はい、これを達成できますが、RPMを2回呼び出す必要があります。最初は、ホストX.mydom.comでビルドされたパッケージのリストを作成します。このリストを取得したら、これらの各パッケージが所有するファイルのRPMクエリを再度呼び出す必要があります。これは、次の1つのライナーを使用して実現できます。
$ 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