RHEL9でchkconfigをインストールしたいときの対処法
概要
この文書は、RHEL9でchkconfigをインストールしようとした際に発生するエラーとその解決策について説明します。
対象者
- RHEL9を使用しているユーザー
- chkconfigが必要なユーザー
- コマンド操作に慣れていない初心者
目次
- はじめに
- エラー内容
- 原因
- エラー解決策
4.1. 既存リポジトリの無効化
4.2. ネットワーク接続の確認
4.3. Red Hat サポートページの確認
4.4. キャッシュの削除 - 手順の詳細
5.1. 既存リポジトリの無効化
5.2. ネットワーク接続の確認
5.3. キャッシュの削除 - 補足
6.1. systemd-sysv-generatorコマンドについて
6.2. chkconfigとsystemd-sysv-generatorの比較 - まとめ
1. はじめに
RHEL9では、従来のchkconfigコマンドは非推奨となり、systemd-sysv-generatorコマンドが推奨されています。しかし、一部の環境ではchkconfigが必要となる場合があります。
2. エラー内容
chkconfigをインストールしようとすると、以下のエラーが発生する場合があります。
[root@localhost yum.repos.d]# dnf install chkconfig
サブスクリプション管理リポジトリーを更新しています。
Red Hat Enterprise Linux 9 for x86_64 - BaseOS 17 kB/s | 4.1 kB 00:00
Red Hat Enterprise Linux 9 for x86_64 - BaseOS 1.6 B/s | 10 B 00:06
Errors during downloading metadata for repository 'rhel-9-for-x86_64-baseos-eus-debug-rpms':
- Status code: 404 for [https://cdn.redhat.com/content/eus/rhel9/9/x86_64/baseos/debug/repodata/repomd.xml](https://cdn.redhat.com/content/eus/rhel9/9/x86_64/baseos/debug/repodata/repomd.xml) (IP: 23.59.92.251)
エラー: repo 'rhel-9-for-x86_64-baseos-eus-debug-rpms' のメタデータのダウンロードに失敗しました : Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
3. 原因
上記のエラーは、以下の4つの原因が考えられます。
- リポジトリ
rhel-9-for-x86_64-baseos-eus-debug-rpms
が無効化されていない - ネットワーク接続に問題がある
- リポジトリサーバーに問題がある
- キャッシュの問題
4. エラー解決策
上記の4つの原因に対して、以下の解決策を試すことができます。
4.1. リポジトリの無効化
以下のコマンドを実行して、リポジトリ rhel-9-for-x86_64-baseos-eus-debug-rpms
が存在するかどうかを確認します。
sudo dnf repolist | grep rhel-9-for-x86_64-baseos-eus-debug-rpms
リポジトリが存在する場合は、以下の手順で無効化します。
-
/etc/yum.repos.d/
ディレクトリにあるリポジトリ設定ファイルを開きます。
sudo vim /etc/yum.repos.d/<リポジトリ名>.repo
例:
sudo vim /etc/yum.repos.d/redhat.repo
-
ファイル内の
enabled=1
をenabled=0
に変更します。 -
ファイルを保存して終了します。
:wq!
- リポジトリの無効化を反映するために、以下のコマンドを実行します。
(上記のviエディターを使用した方法をしてるなら、やらなくてよくて、理由は、同じ意味の操作だから)
sudo dnf config-manager --disable rhel-9-for-x86_64-baseos-eus-debug-rpms
4.2. ネットワーク接続の確認
ネットワーク接続に問題がないことを確認します。
4.3. Red Hat サポートページの確認
Red Hat サポートページを確認して、リポジトリサーバーに問題がないか確認します。
4.4. キャッシュの削除
以下のコマンドを実行して、キャッシュを削除します。
sudo dnf clean all
5. 手順の詳細
5.1. リポジトリの無効化
以下の手順で、リポジトリ rhel-9-for-x86_64-baseos-eus-debug-rpms
を無効化します。
1. リポジトリ設定ファイルを開く
以下のコマンドを実行して、vi
コマンドで /etc/yum.repos.d/redhat.repo
ファイルを開きます。
sudo vi /etc/yum.repos.d/redhat.repo
2. enabled
の設定を変更する
ファイル内の enabled=1
を enabled=0
に変更します。<==(無効化する作業)
長いので割愛...
[rhel-9-for-x86_64-baseos-rpms]
name = Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)
baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/baseos/os
enabled = 1 <--- ここを「0」に変更する
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/3995217458996691560-key.pem
sslclientcert = /etc/pki/entitlement/3995217458996691560.pem
metadata_expire = 86400
enabled_metadata = 1
sslverifystatus = 1
長いので割愛...
3. ファイルを保存して終了する
Ctrl
キーと C
キーを同時に押し、:wq!
と入力してファイルを保存して終了します。
4. リポジトリの無効化を反映する
*上記の方法で、viエディターで編集できるなら、この方法は必要ないです。
なぜなら、同じ操作だからです。
以下のコマンドを実行して、リポジトリの無効化を反映します。
sudo dnf config-manager --disable rhel-9-for-x86_64-baseos-eus-debug-rpms
5.2. ネットワーク接続の確認
以下のコマンドを実行して、ネットワーク接続に問題がないことを確認します。
(オフラインだったので、何らかのネットワークにつながっている人専用)
ping google.com <--参考程度にしてください。
5.3. キャッシュの削除
以下のコマンドを実行して、キャッシュを削除します。
(リポジトリの無効化してもインストールできなかったら、以下を実行し、もう一度インストールコマンドを打ってください。)
sudo dnf clean all
6. 補足
6.1. systemd-sysv-generatorコマンドについて
RHEL9では、従来のchkconfigコマンドは非推奨となり、systemd-sysv-generatorコマンドが推奨されています。systemd-sysv-generatorコマンドは、systemdサービスファイルに必要なランレベル情報を生成するコマンドです。
6.2. chkconfigとsystemd-sysv-generatorの比較
機能 | chkconfig | systemd-sysv-generator |
---|---|---|
対象 | サービスの起動・停止・設定 | systemdサービスファイルのランレベル情報生成 |
コマンド | chkconfig service on/off/list | systemctl enable/disable service |
設定ファイル | /etc/sysconfig/services/service | /etc/systemd/system/service.service |
7. まとめ
この文書では、RHEL9でchkconfigをインストールしようとした際に発生するエラーとその解決策について説明しました。
注意事項
- 上記の手順は、あくまで参考情報です。ご自身の環境に合わせて、作業を行ってください
- 作業を行う前に、必ずデータのバックアップを取ってください
参考情報
- Red Hat Enterprise Linux 9 documentation: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/
- systemd documentation: https://www.freedesktop.org/software/systemd/man/