変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

インターネット

[Almalinux]Cockpit-Podman

コンテナと云えばDockerなんだろうけどRedhatのコマンドから削除され、代わりにPodmanが入ったらしい。

cockpitのアプリケーションの画面にPodmanがあるので【インストール】ボタンを押してみる。

# podman --version
podman version 5.2.2

イメージをダウンロードしてみる。

docker.ioからAlmaLinux9のminimalを選んでダウンロードしてみる

暫くすると

イメージは落とせたらしいので【コンテナーの作成】ボタンを押してコンテナを作る。

で動いてるっぽい。

ここまではいいけど、どう繋げばいいんだろう?

と思ったら「コンソール」タグがあった。

これで何かを付け足せば良いのだろうけど

dnfもtopも何も入ってないのでどうすればいいのかな?

インスト済みのコマンドならホストから実行できる。

# podman exec {コンテナ名} {コマンド} な感じで

# podman exec suspicious_morse ls -l
total 0
dr-xr-xr-x   2 root root   6 Oct  2 21:00 afs
lrwxrwxrwx   1 root root   7 Oct  2 21:00 bin -> usr/bin
drwxr-xr-x   5 root root 360 Mar 26 14:31 dev
drwxr-xr-x   1 root root  18 Mar 26 14:31 etc
drwxr-xr-x   2 root root   6 Oct  2 21:00 home
lrwxrwxrwx   1 root root   7 Oct  2 21:00 lib -> usr/lib
lrwxrwxrwx   1 root root   9 Oct  2 21:00 lib64 -> usr/lib64
drwxr-xr-x   2 root root   6 Oct  2 21:00 media
drwxr-xr-x   2 root root   6 Oct  2 21:00 mnt
drwxr-xr-x   2 root root   6 Oct  2 21:00 opt
dr-xr-xr-x 254 root root   0 Mar 26 14:31 proc
dr-xr-x---   2 root root  91 Mar  7 07:52 root
drwxr-xr-x   1 root root  42 Mar 26 14:31 run
lrwxrwxrwx   1 root root   8 Oct  2 21:00 sbin -> usr/sbin
drwxr-xr-x   2 root root   6 Oct  2 21:00 srv
dr-xr-xr-x  13 root root   0 Mar 26 14:31 sys
drwxrwxrwt   2 root root   6 Oct  2 21:00 tmp
drwxr-xr-x  12 root root 144 Mar  7 07:52 usr
drwxr-xr-x  18 root root 235 Mar  7 07:52 var

できるけどviすら無いから・・・

ただ rpm コマンドは入ってたので・・・

ホストからファイル転送すれば何とかなるかな???????

# podman cp {ホストファイルパス} {コンテナー名} : {コンテナーファイルパス}

外にファイル転送するには

# podman cp {コンテナー名} : {コンテナーファイルパス} {ホストファイルパス}

で使えるらしい。:の有無でホストとコンテナを区別してるっぽいので

# podman cp {コンテナー1} : {コンテナーファイルパス}  {コンテナー2} : {コンテナーファイルパス}

もできそう。

首尾よく何かが出来上がったら、コンテナを停止してイメージを作ればいいのかな。

# podman stop {コンテナー名}  か cockpitのpodmanのコンテナのメニューの【停止】

# podman commit {コンテナー名} {イメージ名} か コンテナのメニューの【コミット】

※「なんたらかんたら」はエラった



[AlmaLinux9]node.jsインスト

# dnf install nodejs

でnodeコマンドは使えるけど、npmが使えないので、こうなった。

# dnf module list nodejs
Last metadata expiration check: 3:08:48 ago on Sun Apr  6 00:19:18 2025.
AlmaLinux 9 - AppStream
Name                                      Stream                                   Profiles                                                                Summary                                             
nodejs                                    18                                       common [d], development, minimal, s2i                                   Javascript runtime                                  
nodejs                                    20                                       common [d], development, minimal, s2i                                   Javascript runtime                                  
nodejs                                    22                                       common [d], development, minimal, s2i                                   Javascript runtime                                  

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
# dnf module -y install nodejs:22/common
・・・
===============================================================================================================================================================================================================
 パッケージ                                    アーキテクチャー                    バージョン                                                                     リポジトリー                           サイズ
===============================================================================================================================================================================================================
group/moduleパッケージをインストール:
 nodejs                                        x86_64                              1:22.13.1-1.module_el9.5.0+139+09296491                                        appstream                              1.9 M
 npm                                           x86_64                              1:10.9.2-1.22.13.1.1.module_el9.5.0+139+09296491                               appstream                              2.0 M
依存関係のインストール:
 nodejs-libs                                   x86_64                              1:22.13.1-1.module_el9.5.0+139+09296491                                        appstream                               20 M
弱い依存関係のインストール:
 nodejs-docs                                   noarch                              1:22.13.1-1.module_el9.5.0+139+09296491                                        appstream                              8.6 M
 nodejs-full-i18n                              x86_64                              1:22.13.1-1.module_el9.5.0+139+09296491                                        appstream                              8.6 M
モジュールプロファイルのインストール中:
 nodejs/common                                                                                                                                                                                                
・・・
インストール済み:
  nodejs-1:22.13.1-1.module_el9.5.0+139+09296491.x86_64             nodejs-docs-1:22.13.1-1.module_el9.5.0+139+09296491.noarch         nodejs-full-i18n-1:22.13.1-1.module_el9.5.0+139+09296491.x86_64       
  nodejs-libs-1:22.13.1-1.module_el9.5.0+139+09296491.x86_64        npm-1:10.9.2-1.22.13.1.1.module_el9.5.0+139+09296491.x86_64       
・・・
完了しました!
# node -v
v22.13.1
# npm -v
10.9.2

Expressパッケージで画面を表示したりサービス化するにはpm2パッケージが必須なので入れとく。

# npm install pm2 -g
added 134 packages in 29s

13 packages are looking for funding
  run `npm fund` for details
npm notice
npm notice New major version of npm available! 10.9.2 -> 11.2.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.2.0
npm notice To update run: npm install -g npm@11.2.0
npm notice


[AlmaLinux]mariaDBが動かない

再起動したら・・・

巷では放置サイトでよく見かける

WordPressのDB接続エラーの画面

journalctl -xeu mariadb.serviceで状況を見ると

最初は

No process is using /var/lib/mysql/mysql.sock, which means it is a garbage, so it will be removed automatically.

と出ていたのでロック状態かなと思って削除してみるも動かない

Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.
If this is not the case, make sure the /var/lib/mysql is empty before running mariadb-prepare-db-dir.

状況が良く解らないから初期化してね?(怖いよ

ということでログ(/var/log/mariadb/mariadb.log)を見る

[ERROR] InnoDB: Cannot replay rename of tablespace 1122 from './{DB名}/#sql-alter-317-ec.ibd' to './{DB名}/wp_wpo_404_detector.ibd' because the target file exists
[ERROR] InnoDB: Plugin initialization aborted with error Data structure corruption

というので、wp_wpo_404_detector.ibdを消したら、起動できた。

中身は空っぽだからいいか



[AlmaLinux]certbot

SSL化って何したかな?忘れた。

SSL化参考リンク(かなり古い)を見に行くとそんなサーバーは無かったりする。

とりあえず、またググって、インストしてみる。

# dnf --enablerep=epel install certbot

設定が怪しいのでテスト

# certbot certonly --webroot -w {apacheのDocumentRootパス} -d {ドメイン名} --dry-run

外部からサーバが見えてないとダメなのでルータの飛び先を変えて成功

但し、アクセス失敗

Invalid command 'SSLOptions', perhaps misspelled or defined by a module not included in the server configuration

SSLOptionsオプションで使用するモジュールが足りなかったらしい

ググってみるとmod_ssl モジュールらしいので

# dnf  install mod_ssl
⇒ mod_ssl-2.4.62-1.el9_5.2.x86_64.rpm
# systelctl restart httpd

/etc/httpd/conf.d/ に ssl.conf が出現した。
でも「信用できない」状況なのでSSL設定の状況を調べると・・・

# httpd -S
VirtualHost configuration:
*:443                  is a NameVirtualHost
         default server {ドメイン名} (/etc/httpd/conf.d/ssl.conf:40)
         port 443 namevhost {ドメイン名} (/etc/httpd/conf.d/ssl.conf:40)
         port 443 namevhost {ドメイン名} (/etc/httpd/vhost/ssl_virtualhost-{ドメイン名}.conf:1)
*:80                   {ドメイン名} (/etc/httpd/vhost/virtualhost-{ドメイン名}.conf:1)

ssl.confの設定が優先されバーチャルホストの設定が無効化になってそう

なので vhost.confavhost.conf に名前(に他意は無い)を変え先に読まれる様にしてみると

# httpd -S
VirtualHost configuration:
*:80                   {ドメイン名} (/etc/httpd/avhost/virtualhost-{ドメイン名}.conf:1)
*:443                  is a NameVirtualHost
         default server {ドメイン名} (/etc/httpd/avhost/ssl_virtualhost-{ドメイン名}.conf:1)
         port 443 namevhost {ドメイン名} (/etc/httpd/avhost/ssl_virtualhost-{ドメイン名}.conf:1)
         port 443 namevhost {ドメイン名} (/etc/httpd/conf.d/ssl.conf:40)
・・・以下、省略・・・

試しにinfo.phpをwordpressのパスに放り込むと表示するけど、削除すると白紙になるので、ブログの設定かな?

DirectoryIndex index.html index.phpからindex.phpを取ると

403エラーになる

暫くすると真っ白に

結局良く解らないが

元のWordPressのファイルをコマンドラインから復元したら

OKだった

WordPressの中身に何かあるらしい

壁紙のプラグインとか入れてなかったのでその辺で失敗してる様な気がした。

WP-Optimizeがテーブルのインデックスサイズ調査でグルグル回ってる(時間が解決

SSL込みで移行するのは大変みたいだ

でも正しいインストール順で構築すれば行けるのかもしれない(知らんけど

ps.

cockpit のSSL証明書の設定を追記。

cd /etc/cockpit/ws-certs.d/
# ln -s /etc/letsencrypt/live/{ドメイン名}/fullchain.pem {ドメイン名}.crt
# ln -s /etc/letsencrypt/live/{ドメイン名}/privkey.pem {ドメイン名}.key

実際にはWinSCPからリンクを貼った。



[AlmaLinux]phpMyAdmin後処理

まずは定番(インポート用)

memory_limit = 128M
post_max_size = 128M
upload_max_filesize = 128M

サービスを切り直し

# systemctl reload httpd
# systemctl restart mariadb

但し、php-fpmもインストしていたら、php-fpmもreloadが必要。

# systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; preset: disabled)
     Active: active (running) since Thu 2025-03-13 23:06:00 JST; 3min 54s ago
   Main PID: 8200 (php-fpm)
     Status: "Processes active: 0, idle: 5, Requests: 5, slow: 0, Traffic: 0req/sec"
      Tasks: 6 (limit: 29552)
     Memory: 38.8M
        CPU: 1.253s
     CGroup: /system.slice/php-fpm.service
             ├─8200 "php-fpm: master process (/etc/php-fpm.conf)"
             ├─8201 "php-fpm: pool www"
             ├─8202 "php-fpm: pool www"
             ├─8203 "php-fpm: pool www"
             ├─8204 "php-fpm: pool www"
             └─8205 "php-fpm: pool www"

 3月 13 23:06:00 ssiscirine.warlander.local systemd[1]: Starting The PHP FastCGI Process Manager...
 3月 13 23:06:00 ssiscirine.warlander.local systemd[1]: Started The PHP FastCGI Process Manager.
# systemctl reload httpd.service
# systemctl reload php-fpm.service

mariaDBにも

# mysql -u root
MariaDB [(none)]> show global variables like '%timeout%';
+---------------------------------------+----------+
| Variable_name                         | Value    |
+---------------------------------------+----------+
| connect_timeout                       | 10       |
| deadlock_timeout_long                 | 50000000 |
| deadlock_timeout_short                | 10000    |
| delayed_insert_timeout                | 300      |
| idle_readonly_transaction_timeout     | 0        |
| idle_transaction_timeout              | 0        |
| idle_write_transaction_timeout        | 0        |
| innodb_flush_log_at_timeout           | 1        |
| innodb_lock_wait_timeout              | 50       |
| innodb_rollback_on_timeout            | OFF      |
| interactive_timeout                   | 28800    |
| lock_wait_timeout                     | 86400    |
| net_read_timeout                      | 30       |
| net_write_timeout                     | 60       |
| rpl_semi_sync_master_timeout          | 10000    |
| rpl_semi_sync_slave_kill_conn_timeout | 5        |
| slave_net_timeout                     | 60       |
| thread_pool_idle_timeout              | 60       |
| wait_timeout                          | 28800    |
+---------------------------------------+----------+
19 rows in set (0.003 sec)

でもphpMyAdminとは無関係見たいなのでコマンドラインからインポートした方がいいかも

# mysql {データベース名} -u root < /tmp/******.sql 
しばらくすると終わる(笑


[AlmaLinux]仮想マシンクライアントを作る

まず・・・仮想マシンを作る前にネットワークにブリッジを追加します。

  • cockpit画面左の「ネットワーキング」
    • 画面中央の「インターフェース」
      • 【ブリッジの追加】のボタンを押す

基本的に修正無しで【追加】ボタンを押す。

名前がenp3s0からbridgr0に変り設定内容も変わる。

ネットワーク設定ができたので仮想マシンを作成する。

  • cockpit画面左の「仮想マシン」
    • 画面中央の「仮想マシン」
      • 【仮想マシンの作成】ボタンを押す
  • 「名前」を入力(適当)
  • 「オペレーションシステム」で「AlmaLinux 9」を選択
  • 「ストレージの制限」でサイズを入力(適宜)
  • 「メモリ」でサイズを入力(適宜)
  • ネットワーク設定の確認のため【作成して編集する】ボタンを押す
  • cockpit画面左の「仮想マシン」
    • 画面中央の「仮想マシン」
      • 作成した仮想マシンの名前のリンクを選択
      • 画面を下へスクロールし「ネットワークインターフェース」を表示

という感じ(タイプがbridge、ソースがbridge0)になっていればOK(ハズ

  • 画面を上にスクロール
  • 【インストール】ボタンを押す
  • 長いインストールの始まり始まり始まり始まり
    • 途中「ネットワーク」画面で

と希望するセグメントのIPアドレスになっていれば成功です。



[AlmaLinux]iSCSIデバイスを使う

NASでターゲットの使用許可したIQNを Linux側のIQNとして設定する

# dnf -y install iscsi-initiator-utils

# vi /etc/iscsi/initiatorname.iscsi
InitiatorName = {Linux側のIQN名}

NASに作成したiSCSIデバイスをLinuxから探してみる

# iscsiadm -m discovery -t sendtargets -p {NASのIPアドレス:ポート} ※{ポートは3260}
{NASのIPアドレス:ポート},1 {ターゲット名1}  ※ターゲット名形式:iqn.yyyy-mm.naming-authority:uniqueName
・・・
{NASのIPアドレス:ポート},1 {ターゲット名x} ←今回のターゲット
・・・
{NASのIPアドレス:ポート},1 {ターゲット名n}

安易に見つかった全ターゲットにログインさせてみると・・・

# iscsiadm -m node --login

待ち時間も長いし失敗すると結果も怪しいので

使用するターゲットのみログインする

# iscsiadm --mode node --targetname {ターゲット名x} --portal {NASのIPアドレス:ポート} --login
Logging in to [iface: default, target: {ターゲット名x}, portal: {NASのIPアドレス:ポート}]
Login to [iface: default, target: {ターゲット名x}, portal: {NASのIPアドレス:ポート}] successful.
確認
# iscsiadm -m session -o show
tcp: [2] {NASのIPアドレス:ポート},1 {ターゲット名x} (non-flash)

# cat /proc/partitions
major minor  #blocks  name

   8        0  117220824 sda
   8        1     614400 sda1
   8        2    1048576 sda2
   8        3  115556352 sda3
 253        0   72294400 dm-0
 253        1    7958528 dm-1
 253        2   35299328 dm-2
   8       16  134217728 sdb
   8       17  134201344 sdb1

ログインしたターゲットにファイルシステムを作成する

# parted --script /dev/sdb "mklabel gpt"
# parted --script /dev/sdb "mkpart primary 0% 100%"
# mkfs.xfs /dev/sdb1
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=8387584 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=33550336, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

マウントしてみる
# mkdir /mnt/kvm
# mount /dev/sdb1 /mnt/kvm

確認
# df -hT
Filesystem                           Type      Size  Used Avail Use% Mounted on
・・・
/dev/sdb1                            xfs       128G  3.1G  125G   3% /mnt/kvm ※iSCSIのサイズになってる
・・・

ファイルシステムのタイプは環境依存なので調べてみる ※上のdf -Tでも判る

# mount -l
・・・
/dev/sdb1 on /mnt/kvm type xfs (・・・)

自動ログインの設定をする

# iscsiadm -m node -T {ターゲット名} -o show | grep startup
node.startup = automatic
node.conn[0].startup = manual      {両方automaticでないとダメらしい}

起動時は手動になっているので自動に変更
# iscsiadm -m node -T {ターゲット名} -o update -n node.conn[0].startup -v automatic

確認
# iscsiadm -m node -T {ターゲット名} -o show | grep node.startup
node.startup = automatic
node.conn[0].startup = automatic

/etc/fstabにも起動時マウントの指定を追加する

#
# /etc/fstab
# Created by anaconda on Wed Mar 12 20:38:55 2025
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/almalinux_*********-root /                       xfs     defaults        0 0
UUID=********-****-****-****-************ /boot              xfs     defaults        0 0
/dev/mapper/almalinux_*********-home /home                   xfs     defaults        0 0
/dev/mapper/almalinux_********-swap none                     swap    defaults        0 0
/dev/sdb1                            /mnt/kvm                xfs     _netdev         0 0

で、何に使うかと云えば

# rmdir /var/lib/libvirt/images           {imagesディレクトリィを削除し忘れると・・・・}
# ln -s /mnt/kvm /var/lib/libvirt/images  {imagesディレクトリィの下に kvm -> /mnt/kvm が出来てしまう}

本当はユーザ/パスワード指定してログインした方がいいし。CHAPも使った方がいい。

 vi /etc/iscsi/iscsid.conf
# CHAP有効化
node.session.auth.authmethod = CHAP
# iSCSI ターゲットで設定したユーザー名とパスワードを設定
node.session.auth.username = {ユーザ名}
node.session.auth.password = {パスワード}


[AlmaLinux9.5]インスト後処理(仮想マシンのホスト用)

Rufusを使ってAlmaLinux-9.5-x86_64-minimal.isoをUSBメモリに入れてBlog機にインスト。

https://almalinux.org/ja/get-almalinux

https://rufus.ie/ja

USBメモリのパーテーションはGBTの方がちょっと速い。

※MBRの方はJ1900ではブートに失敗したかと思うほど、カーネルの進行表示が出るまでが長すぎ。

パパッとインストした後は・・・

まず邪魔なSELINUXをおふる。

# grubby --update-kernel ALL --args selinux=0
# reboot   {カーネルのパラメータの変更だけだから}

何かと便利なcockpitをインスト

# dnf -y install cockpit {これをインストしておけば、後はブラウザでOK}
# vi /etc/cockpit/disallowed-users
 ### root  {rootも使える様にする}
{サービスを起動する}
# systemctl start cockpit.socket
# systemctl enable cockpit.socket
Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket → /usr/lib/systemd/system/cockpit.socket.
{rootで端末を使える様にする}
# vi /etc/ssh/sshd_config
PermitRootLogin yes #を追加
# systemctl restart sshd.service

これでパッケージ更新もcockpitからできると思ったら不調なので、

端末から

# dnf update

cockpit画面から

  • 画面左の「アプリケーション」を選択
    • 画面中央の「アプリケーション」で
      • 「マシン」と「ストレージ」の【インストール】ボタンを押す

仮装マシンメニューを開くと

と表示するので

# dnf install qemu-kvm libvirt virt-install
# systemctl start libvirtd
Created symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service → /usr/lib/systemd/system/libvirtd.service.
Created symlink /etc/systemd/system/sockets.target.wants/libvirtd.socket → /usr/lib/systemd/system/libvirtd.socket.
Created symlink /etc/systemd/system/sockets.target.wants/libvirtd-ro.socket → /usr/lib/systemd/system/libvirtd-ro.socket.
Created symlink /etc/systemd/system/sockets.target.wants/libvirtd-admin.socket → /usr/lib/systemd/system/libvirtd-admin.socket.
# systemctl enable libvirtd
# virt-host-validate
  QEMU: Checking for hardware virtualization                                 : PASS
  QEMU: Checking if device '/dev/kvm' exists                                 : PASS
  QEMU: Checking if device '/dev/kvm' is accessible                          : PASS
  QEMU: Checking if device '/dev/vhost-net' exists                           : PASS
  QEMU: Checking if device '/dev/net/tun' exists                             : PASS
  QEMU: Checking for cgroup 'cpu' controller support                         : PASS
  QEMU: Checking for cgroup 'cpuacct' controller support                     : PASS
  QEMU: Checking for cgroup 'cpuset' controller support                      : PASS
  QEMU: Checking for cgroup 'memory' controller support                      : PASS
  QEMU: Checking for cgroup 'devices' controller support                     : PASS
  QEMU: Checking for cgroup 'blkio' controller support                       : PASS
  QEMU: Checking for device assignment IOMMU support                         : WARN (No ACPI DMAR table found, IOMMU either disabled in BIOS or not supported by this hardware platform)
  QEMU: Checking for secure guest support                                    : WARN (Unknown if this platform has Secure Guest support)

IOMMUは、CPUがJ1900だからIntel語でVT-dは未搭載なので無視。

secure guest supportは、Intel cpuはどれもWARNっぽい。

仮想マシンAlmaLinux9.5(CPU:2コア、メモリ:3GB、ディスク:10GB)が作れたからOKとする。

後、仮想マシンの「ネットワーク」は仮想LAN用で外から見えないLANなので使わない。



[AlmaLinux]KVMからHyper-Vに移行

単にqcow2ファイルをvhdxファイルにコンバートすればいいのかなと思ったら

# qemu-img convert -p -f qcow2 -O vhdx {qcow2ファイル名} {vhdxファイル名}

起動に失敗した。

Linux起動時にgrub2の画面でカーネルを選択後、

/bootの下のinitramfsファイルを読んで一時的にファイルシステムとして使用されるが

フルセットでは重いからインストーラは

# dracut --kver {カーネル名} -f -v

で必須なドライバを見繕ったinitramfsファイルをカーネルごとに作成している。

つまり、KVMで作成したVMはKVM環境のドライバしか入っていないので、そのままHyper-Vに移行してもドライバ不足で何もできなくなる。

仕方が無いので、KVMで動いている状況下で

# dracut --kver $(uname -r) -f --add-drivers "hv_vmbus hv_storvsc hv_netvsc hv_utils hv_balloon hyperv-keyboard hyperv_fb hid-hyperv"

Hyper-V用のinitramfsファイルを作成する必要がある。

またネットワークの状況も違い

# nmcli con show
NAME    UUID                                  TYPE      DEVICE 
virbr0  63189c34-2fc4-48f8-adc8-8a631ab7e98c  bridge    virbr0
ens2    dc75b52c-b3eb-4fe3-9027-7983b30c0ed5  ethernet  --     
ens3    e18ddd44-7abe-4297-b16f-919c7cd32430  ethernet  -- 

Hyper-Vではブリッジではなくeth0に繋がる仕組みなので、

nmcli –offline connection コマンドでとりあえずファイルを作り

# nmcli --offline connection add type ethernet con-name eth0 ipv4.address 192.0.2.1/24 ipv4.dns 192.0.2.200 ipv4.method manual > /etc/NetworkManager/system-connections/eth0.nmconnection

Hyper-V上で作成したAlmaLinux9.5VMを見ながら一部コピペ

[connection]
id=eth0
uuid=20f2b6eb-7e6c-473c-b362-4d390d16e5a9    ※AlmaLinux9.5VMからコピペ
type=ethernet
autoconnect-priority=-999                    ※AlmaLinux9.5VMからコピペ
interface-name=eth0
timestamp=1741709046                         ※AlmaLinux9.5VMからコピペ

[ethernet]

[ipv4]
method=auto                                  ※DHCPモード

[ipv6]
addr-gen-mode=eui64                          ※AlmaLinux9.5VMからコピペ
method=auto

[proxy]

と書き換え

# chmod 600 eth0.nmconnection 
# chown root:root eth0.nmconnection
# systemctl start NetworkManager-dispatcher.service 
# reboot

再起動後は

# nmcli con show
NAME    UUID                                  TYPE      DEVICE 
eth0    20f2b6eb-7e6c-473c-b362-4d390d16e5a9  ethernet  eth0   ※これが欲しかった
virbr0  63189c34-2fc4-48f8-adc8-8a631ab7e98c  bridge    virbr0 ※多分要らない
ens2    dc75b52c-b3eb-4fe3-9027-7983b30c0ed5  ethernet  --     
ens3    e18ddd44-7abe-4297-b16f-919c7cd32430  ethernet  -- 

となり何とかなった。

不要なvirbr0は消した方がいいだろう。

また、起動状態を見たい場合は

grub2の画面で[e]キーを押して設定を一時的に修正しctrl+xで起動。

起動時に出てくる

probing edd (edd=off to disable)... ok

は、カーネルのオプションに

edd=off

を追加すると消える。

また、カーネルのオプショのconsole=以降を

console=tty0 console=ttyS0,115200

に変えるとコンソールに普通に起動の進行状況が表示される

永続的に変えたい場合は /etc/default/grub のGRUB_CMDLINE_LINUXの行を

修正前
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap console=ttyS0,115200n8"
修正後
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap console=tty0 console=ttyS0,115200n8 edd=off"

とエディタで書換え

# grub2-mkconfig -o /boot/grub2/grub.cfg

でgrub2が使う設定を更新できるらしい。




top