はじめに
leappコマンドを使ったRed Hat Enterprise LinuxのOSアップグレード時に以下のようなメッセージが表示されOSのアップグレードがブロックされることがあります。
Risk Factor: high (inhibitor) Title: Network configuration for unsupported device types detected Summary: RHEL 9 does not support the legacy network-scripts package that was deprecated in RHEL 8 in favor of NetworkManager. Files for device types that are not supported by NetworkManager are present in the system. Files with the problematic configuration: - /etc/sysconfig/network-scripts/ifcfg-em1
ifcfg-rh形式の設定ファイルを使っていることが原因のようです。
公式のドキュメントにifcfg-rh形式からkeyfile形式への設定移行方法(※1)があるものの、アップグレード元がRed Hat Enterprise Linux 8.6である場合、nmcliコマンドのmigrateオプションが実装されていないため、公式ドキュメント通りに自動で移行することは不可です。
そこで、手動でkeyfile形式に移行する方法を記載します。
手動でkeyfile形式に移行する
- 作業前の状況(ifcfg-rh形式)
/etc/sysconfig/network-scripts/ifcfg-em1
DEVICE=em1 BOOTPROTO=static BROADCAST=192.0.2.255 IPADDR=192.0.2.1 NETMASK=255.255.255.0 NETWORK=192.0.2.0 ONBOOT=yes
上記のファイルをkeyfile形式に移行してみましょう。ファイルの配置場所、内容が変更になります。
- keyfile形式への変換
/etc/NetworkManager/system-connections/em1.nmconnection
[connection] id=em1 uuid=********-****-****-****-************ type=ethernet interface-name=em1 timestamp=********** [ethernet] [ipv4] address1=192.0.2.1/24 method=manual [ipv6] method=ignore [proxy]
設定ファイル内のuuidは下記コマンドで確認できます。
# nmcli con show "System em1" | grep uuid
timestampも下記コマンドで確認した値を入力します。
# TZ=Asia/Tokyo date +%s
最後に、ifcfg-rh形式のファイルを削除します。
必要に応じてOSの再起動等を実施し、ネットワークインタフェースが有効になっていることを確認します。
参考資料
※1 RHEL 8 to RHEL 9: inplace upgrade fails at "Network configuration for unsupported device types detected"
https://access.redhat.com/solutions/7009239
RHELのネットワーク設定でのifcfg-rhからkeyfileへの移行