そのコマンドを使用するときは、createrepo
RPM(デフォルトディレクトリにある)を複数のディレクトリ(階層的に考える)に配置し、yumにデフォルトディレクトリのディレクトリのすべてのRPMを再帰的に見つけることができますか?
例:
createrepo /srv/my/repo
/srv/my/repo/vendor1/package1/first.rpm
/srv/my/repo/vendor1/package2/first.rpm
/srv/my/repo/vendor2/package1/third.rpm
私がこの質問をする理由は、RPMの1つをディレクトリにドロップしてacreaterepo --update
とaを実行してもyum clean all
まだ認識されていないからです。これで、階層構造ではなくフラットファイル構造にする必要があるかどうか疑問に思います。
ベストアンサー1
私の経験上、いいえ、createrepo
ディレクトリツリーを再帰的に移動することはできません。したがって、ストレージのディレクトリ構造を平坦化する必要があります。私は通常、リポジトリビルドスクリプトでこのタイプのループ構成を使用します。
destdir="/path/to/my/yum-repos/Fedora/14"
for arch in i386 x86_64 noarch; do
printf "\n\n==== creating repo: %-50s [%-s]\n" $destdir $arch
pushd ${destdir}/${arch} >/dev/null 2>&1
createrepo -dp .
popd >/dev/null 2>&1
done