0
0

More than 1 year has passed since last update.

createrepo_c と RHEL8

Last updated at Posted at 2022-11-23

RHEL8サーバへのパッケージ導入のため、ローカルにdnf(yum)リポジトリを作成したときの失敗談。

とりあえず結論、というか注意点だけ先に書いておくと、
「createrepo_c コマンドで作成された RHEL8 のリポジトリーミラーは、モジュール情報を正しく処理しません。」
つまりRHEL8で下手に createrepo_c を使ったら面倒なことになるので注意、というお話です。

リポジトリサーバにて createrepo_c コマンドでメタデータを作成した後、
お目当てのサーバで、下記のようにインストールを実行した。

dnf install javapackages-filesystem

すると、見慣れないエラーが出る。

CRITICAL モジュラーパッケージ 'javapackages-filesystem-5.3.0-1.module+el8+2447+6f56d9a6.noarch' のモジュラーメタデータは利用不可です、システムにインストールはできません
(合わせて右記も出力された「No available modular metadata for modular package」)

よくわからないが、どうやら新しく導入された概念(Modularity)が関係しているようだ。

RHEL 8/Fedora 28で導入されたModularity
https://rheb.hatenablog.com/entry/201812-modularity

上記の記事を参考に、createrepo したディレクトリを見てみると、
どうやら下記が存在していないといけないようだが、ない。

modules.yaml.gz

調べてみたところ、下記の「既知の問題」の影響で、createrepo_c コマンド実行時に削除されてしまった模様。
https://access.redhat.com/ja/solutions/6319191

上記記事の解決法ではキャッシュから作成しているが、今回はRHEL8のメディアから対象ファイルを復元。
無事エラーが解消し、パッケージ導入成功!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0