質問 :YUM を使用してシステム内のファイルが見つからないパッケージを見つける方法は?このハウツーは、ファイルが欠落しておらず、既にインストールされている場合にも適用できますが、何らかの理由で、ファイルを提供するパッケージを知る必要があります。
YUM パッケージ マネージャー ツールは、リポジトリを使用して情報を取得し、パッケージをダウンロードします。リポジトリの設定は /etc/yum.repos.d/*.repo にあります これらのファイルでは、複数のリポジトリを有効にし、他のリポジトリを無効にすることができます。
1. 使用するサブコマンドは「provides」です。たとえば、/usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64 ファイルを探します:
# yum provides /usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64
これにより、システムにインストールする必要があるリポジトリとパッケージが表示されます。
2. ただし、パッケージを含むリポジトリが無効になっているため、コマンドでパッケージが見つからない場合があります:
No Matches found
その場合、すべてのリポジトリまたは 1 つのリポジトリだけを検索できるようにすることを試みることができます。そのためには、オプション –enablerepo を使用する必要があります .たとえば、.repo ファイルで構成されたすべてのリポジトリを使用して、有効化および無効化します。
# yum provides /usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64 --enablerepo=*
または特定のレポ:
# yum provides /usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64 --enablerepo=ol7_UEKR4_archive
または正規表現に一致する複数のもの
# yum provides /usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64 --enablerepo=ol7_*_archive
サンプル出力:
kernel-uek-devel-4.1.12-124.18.6.el7uek.x86_64 : Development package for building kernel modules to match the kernel Repo : ol7_UEKR4_archive Matched from: Filename : /usr/src/kernels/4.1.12-124.18.6.el7uek.x86_64
3. 最終的な目標がパッケージのインストールであり、オプション –enablerepo を使用してのみ可能だった場合は、同じオプションを使用してパッケージをインストールします:
# yum install kernel-uek-devel-4.1.12-124.18.6.el7uek.x86_64 --enablerepo=ol7_UEKR4_archive
パスの場所が不明なファイルを探す場合は、ワイルドカードを含むファイル パスを使用できます:
# yum provides */fileX