半年ぐらい aws sap-c02の勉強ばっかりやってた からsteamで遊ぶのもmicrok8sの更新も停滞気味やった。

ニュースでは見てたけど6月にubuntu26出とるな。引っ越したいやんけ。

raccoonってあるからアライグマ。

お茶目な感じや。

今回も26への引っ越しは時間かかる。docker/microk8s(kubernetes)の環境を維持してく下地を作る。

ubuntu使い続けるかどうか

turbolinux->fedora->centos->ubuntuって流れで個人環境でのlinux使い続けてきた。

redhatとかsuseに寄り道したこともあったな。

他のlinuxに切り替えよっかなって考えたけど、samba/apache/nginx/docker/microk8sを楽に使うには今回もバージョンアップでええかってなった。

OSのメンテ(apt upgradeや設定)から解放されたいなとも思ってるけど、そうときはクラウドのマネージドサービス使えばええ。

マネージドサービスのほうがお金かかるけどな。

インストールから初期起動

湯船でリラックスした状態でやり方考えた。

22から24に引っ越したときの メモ も読み返して考えた、だいたいの流れ。

  • windowsのvmwareの中でubuntu26インストール
  • マウントポイント作ってsamba動かしてスクリプトや設定をコピー
  • dockerの永続化領域と普段のデータ領域をバックアップ ⭐️vmdk壊れたときのためgoogle driveに退避しとく
  • 予備・本番のIPアドレスを入れ替えてデータ領域のvmdkファイルをubuntu24からubuntu26に接続変更 ⭐️宅内DNSで名前引きできる
  • コンテナ起動して永続化領域を掴ませる
  • apache2動かして宅内web見れるようにする
  • google cloudの接続利用 ⭐️ポートフォワードして使うとこの調整
  • バックアップ処理とか、データ移動処理とかのテスト ⭐️dockerからkubernetesとか、vmwareからutm環境の流し込み

まずは入手

Ubuntu Server取ってくる。

5分もかからずisoイメージのファイル手に入る。サイズは2.71GBで22や24のときとあんまり変わらん。

今回もserver

xrdpコンテナ使い始めたら、母艦に向けてGUIあんまり使わん。

gnome入れたら不要パッケージもあるからアンインストールとか面倒で、業務でやってるのと同じように最小構成のインストールして足してくことにする。

またもや日本語ない。後でロケール足す。

gvis-change2026

キーボードは日本語配列選べる。

gvis-change2026

ローカルPCのlinuxルートボリュームは200GB。レイアウトはインストール前に変えとく。

gvis-change2026

入れたいパッケージは決まってるけど手動で入れたいからいったんこのまま。

gvis-change2026

しばらく待つ。DNSとか設定しといたからセキュリティアップデートやってくれるんかな。

gvis-change2026

5分もせずにインストール終わる。ubuntu26入ったな。 macのターミナルからログインする ように設定作ったからgemini先生に相談して教えてもらったコマンドライン貼り付けできる。

gvis-change2026

vmxファイルいじる

vmxの手動設定よう忘れる。インストール終わったらOS設定の前にやらなアカンで。

スクリプトのテスト途中で性能出えへんことに気づいてあわてて書き足した。

Ubu26-nafslinux.vmx
1
2
3
4
5
mainMem.useNamedFile = "FALSE" ⭐️「ページングファイル(.vmem)」をホストのストレージ(ディスク)上に作成せん

MemTrimRate = "0" ⭐️VMwareが仮想マシンの未使用メモリをホストOSに返却する処理(メモリトリミング)を無効化

ethernet0.virtualDev = "e1000" ⭐️これやとイーサネットがハングしよる

zipの途中でなんかしらんけどイーサネットがハングしてssh切れてまうことがあった。

vmwareの画面見たら文字がいっぱい流れていきよる。

gvis-change2026

なんやねん腹たつわぁ。

gemini先生に相談して今回はethernetの設定を変えた。先生に画像見せて教えてもらった回答。

1
2
3
4
5
これは、Intelのネットワークドライバ(e1000)において、
送信リング(Tx Queue)の処理がタイムアウトしてネットワークアダプタが完全にハングアップ(無応答)している状態を示しています。

zip圧縮などの高負荷(大量パケット送信やCPU/I/O高負荷)に伴い、
TSO/GRO(オフロード機能)やドライバ自体のバグによってこの現象が頻発します。

なるほど。vmware3の頃ぐらいにwindowsでオフロード問題にあたったことあったっけ。

調査のためのコマンドライン教えてくれたけど、調査したいわけやなくさっさと動かしたい。

1
2
3
4
sudo ethtool --set-eee <インタフェース名> eee off
sudo ethtool -K <インタフェース名> tso off gso off gro off
sudo nano /etc/default/grub
sudo dmesg -T | grep -E "eth|net|r8169|e1000e|Link"

vmware workstationの設定どうしたらええか教えてくれた。

1
ethernet0.virtualDev = "vmxnet3" ⭐️こうするんやな

先生おおきに。すぐ動いた。

kubernetesのホスト作る時も同じ手使わせてもらうで。

OS設定

まずはタイムゾーン変更とロケールの日本語化しとく。

1
2
3
4
5
6
7
8
# apt update
# apt upgrade
# timedatectl set-timezone Asia/Tokyo
# apt -y install language-pack-ja-base language-pack-ja
# localectl list-locales | grep -i ja
# localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" ⭐️エラーになったけどログどっかいった
# update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" ⭐️代わりにこっち使う
# source /etc/default/locale

やってみたらこんな感じ。途中でエラー出たからやり直してて、aptは2回目やからalready the newest versionってなってる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
root@nafslinux-ubu26:~#
root@nafslinux-ubu26:~# timedatectl set-timezone Asia/Tokyo
root@nafslinux-ubu26:~# apt -y install language-pack-ja-base language-pack-ja
language-pack-ja-base is already the newest version (1:26.04+20260417). ⭐️2回目やし入らん
language-pack-ja is already the newest version (1:26.04+20260417). ⭐️2回目やし入らん
The following packages were automatically installed and are no longer required:
  linux-headers-7.0.0-14                   linux-tools-7.0.0-14
  linux-headers-7.0.0-14-generic           linux-tools-7.0.0-14-generic
  linux-image-unsigned-7.0.0-14-generic    pollinate
  linux-main-modules-zfs-7.0.0-14-generic  xxd
  linux-modules-7.0.0-14-generic
Use 'apt autoremove' to remove them.

Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 2
root@nafslinux-ubu26:~# localectl list-locales | grep -i ja
ja_JP.UTF-8
root@nafslinux-ubu26:~# localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" ⭐️エラー出るねん
Failed to issue method call: Locale ja_JP:ja is not valid, refusing.
root@nafslinux-ubu26:~# update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" ⭐️gemini先生に教えてもらったコレ使う
root@nafslinux-ubu26:~# source /etc/default/locale
root@nafslinux-ubu26:~#
root@nafslinux-ubu26:~# echo $LANG
ja_JP.UTF-8 ⭐️できたかな
root@nafslinux-ubu26:~# date
2026年 7月 29日 水曜日 07:03:33 JST ⭐️時間あってる、日本語表示できとる
root@nafslinux-ubu26:~#

最小構成でインストールしたからか、 ubuntu24のとき起動で時間かかるプロセス は発生せんし、 使わんモジュールの削除 もやらんでええ。

モジュールの確認してみる。

目視して「なんやこれ」って思うもんは特になかった。

GUI入れてへんからまぁ必要なもん入ってるんやろな。

1
2
3
4
5
6
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | more
一覧表示...
3cpio/resolute,now 0.14.0-1ubuntu1 amd64 [インストール済み、自動]
adduser/resolute,now 3.153ubuntu1 all [インストール済み、自動]
amd64-microcode/resolute,now 3.20251202.1ubuntu2 amd64 [インストール済み、自動]
:(中略)

念の為、morewc -lってすると521個。切り替え完了する頃には624個やった。

1
2
3
root@nafslinux-ubu26:/gvis/script# apt list --installed 2>/dev/null | grep -v 'Listing...'| wc -l 
624
root@nafslinux-ubu26:/gvis/script# 

他にも不要そうなもんないか検索してみたら、usbと無線LAN系のがひっかかった。libとかfirmwareやし、まぁ、いったんこのまま行こか。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | wc -l
521 ⭐️けっこう入っとるな
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | grep libreof ⭐️gnome入ってへんしあるわけないけど
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | grep byobu ⭐️gnome入ってへんしあるわけないけど
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | grep remmina ⭐️gnome入ってへんしあるわけないけど
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | grep thunder ⭐️gnome入ってへんしあるわけないけど
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | grep cups ⭐️いらん
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | grep printer ⭐️いらん
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | grep modem ⭐️いらん
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | grep ppp ⭐️いらん
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | grep sane ⭐️いらん
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | grep usb-
libusb-1.0-0/resolute,now 2:1.0.29-2build1 amd64 [インストール済み、自動] ⭐️いらんような気ぃするけど、まぁこのままいっとこか
root@nafslinux-ubu26:~#
root@nafslinux-ubu26:~# apt list --installed 2>/dev/null | grep -v 'Listing...' | grep wireless ⭐️有線LANしか使ってへんけどfirmwareぐらいはええか
linux-firmware-broadcom-wireless/resolute-updates,now 20260319.git217ca6e4-0ubuntu1.1 all [インストール済み、自動]
linux-firmware-intel-wireless/resolute-updates,now 20260319.git217ca6e4-0ubuntu2.1 all [インストール済み、自動]
linux-firmware-marvell-wireless/resolute-updates,now 20260319.git217ca6e4-0ubuntu1.1 all [インストール済み、自動]
linux-firmware-qualcomm-wireless/resolute,now 20260319.git217ca6e4-0ubuntu1 all [インスト ール済み、自動]
wireless-regdb/resolute,now 2026.02.04-0ubuntu1 all [インストール済み、自動]
root@nafslinux-ubu26:~#

モジュールの追加

自分のメモ使って入れてく。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
apt update
apt upgrade
apt autoremove
apt-get install open-vm-tools ⭐️cuiでも入れとかなvmwareのシャットダウンボタンとか効かへんで
apt-get install nmon ⭐️負荷状態確認で使う
apt install vim pwgen ⭐️まだnano慣れん、パスワードジェネレータ使う
apt install mailutils ⭐️監視メールで使う
apt install postfix mailutils sasl2-bin libsasl2-modules ⭐️監視メールで使う
apt-get install apt-transport-https ca-certificates gnupg ⭐️他のモジュール導入で使う
apt install systemd-timesyncd ⭐️時刻同期で使う
apt install cron ⭐️systemd-timerはまだ覚えとらん
apt install iputils-ping dnsutils traceroute ⭐️ネットワーク確認にいるで
apt install rsync ⭐️バックアップで使う
apt install zip unzip  ⭐️バックアップで使う
apt install logrotate ⭐️ログローテートで使う

1日目はいったんここまで。

NTPの同期先

今までやってこんかったけど、レイテンシー低い国内サーバ使おうかと。

gemini先生に相談してみたら「日本の NTP サーバー(特に NICT の NTP)に変更することを強くおすすめします。日本の国家標準時(日本標準時)を生成・管理している本家本元の機関です。」やとさ。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
root@nafslinux-ubu26:/gvis/script# timedatectl set-ntp true
root@nafslinux-ubu26:/gvis/script# vi /etc/systemd/timesyncd.conf ⭐️設定いじる
root@nafslinux-ubu26:/gvis/script# tail -2 /etc/systemd/timesyncd.conf
NTP=ntp.nict.jp ntp.mfeed.ad.jp ⭐️国内サーバ使う
FallbackNTP=ntp.ubuntu.com ⭐️もし国内サーバ使えんかったらubuntuのntp参照させる
root@nafslinux-ubu26:/gvis/script# systemctl restart systemd-timesyncd
root@nafslinux-ubu26:/gvis/script# journalctl -u systemd-timesyncd -n 5 --no-pager
 8月 01 05:55:43 nafslinux-ubu26 systemd[1]: Stopped systemd-timesyncd.service - Network Time Synchronization.
 8月 01 05:55:43 nafslinux-ubu26 systemd[1]: Starting systemd-timesyncd.service - Network Time Synchronization...
 8月 01 05:55:43 nafslinux-ubu26 systemd[1]: Started systemd-timesyncd.service - Network Time Synchronization.
 8月 01 05:55:43 nafslinux-ubu26 systemd-timesyncd[6460]: Contacted time server 133.243.238.164:123 (ntp.nict.jp).
 8月 01 05:55:43 nafslinux-ubu26 systemd-timesyncd[6460]: Initial clock synchronization to Sat 2026-08-01 05:55:43.427993 JST.
root@nafslinux-ubu26:/gvis/script# 

フォルダ構成の維持とデータ置き場の準備

流し込みする前に、OSユーザのuidそろってるか確認。ubuntu24と26で見比べる。

1
2
3
nari@nafslinux-ubu24:/$ id
uid=1000(nari) gid=1000(nari) groups=1000(nari),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),101(lxd),985(docker)
nari@nafslinux-ubu24:/$
1
2
3
nari@nafslinux-ubu26:~$ id
uid=1000(nari) gid=1000(nari) groups=1000(nari),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),101(lxd)
nari@nafslinux-ubu26:~$

準備するフォルダはdocker/gvis/nari/nari2。

1
2
3
4
5
6
nari@nafslinux-ubu24:/$ ls -l | grep nari
drwx------   9 nari nari       4096  4月 16 05:08 docker
drwxr-xr-x   7 nari nari         96  6月  1  2024 gvis
drwxr-xr-x   7 nari nari       4096  7月 26 07:34 nari
drwxr-xr-x   2 nari nari         26  6月  1  2024 nari2
nari@nafslinux-ubu24:/$

ubuntu26側に用意してく。gvisはコピーして持ってくるからフォルダは作らん。

1
2
3
4
5
6
root@nafslinux-ubu26:~# mkdir /docker
root@nafslinux-ubu26:~# mkdir /nari
root@nafslinux-ubu26:~# mkdir /nari2
root@nafslinux-ubu26:~# chown nari:nari /docker
root@nafslinux-ubu26:~# chown nari:nari /nari
root@nafslinux-ubu26:~# chown nari:nari /nari2

dockerの永続化領域用

vmdkを新規で作ってOS再起動する。sdbが見えるはず。

gvis-change2026

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
nari@nafslinux-ubu26:~$ lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0  200G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    2G  0 part /boot
└─sda3                      8:3    0  198G  0 part 
  └─ubuntu--vg-ubuntu--lv 252:0    0  198G  0 lvm  /
sdb                         8:16   0  100G  0 disk ⭐️増えとる
sr0                        11:0    1 1024M  0 rom  
nari@nafslinux-ubu26:~$ 

パーティション作る。

parted使おうとしたら、ubuntu26に入っとらんかった。昔ながらのfdisk使う。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
root@nafslinux-ubu26:~# fdisk /dev/sdb ⭐️増えたディスクにパーティション作る

fdisk (util-linux 2.41.3) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。

デバイスには認識可能なパーティション情報が含まれていません。
新しい DOS (MBR) ディスクラベルを作成しました。識別子は 0x34f2489f です。

コマンド (m でヘルプ): n ⭐️新規作成
パーティションタイプ
   p   基本パーティション (0 プライマリ, 0 拡張, 4 空き)
   e   拡張領域 (論理パーティションが入ります)
選択 (既定値 p): p ⭐️基本パーティションね
パーティション番号 (1-4, 既定値 1):  ⭐️そのままenter
最初のセクタ (2048-209715199, 既定値 2048):  ⭐️そのままenter
最終セクタ, +/-セクタ番号 または +/-サイズ{K,M,G,T,P} (2048-209715199, 既定値 209715199):  ⭐️そのままenter

新しいパーティション 1 をタイプ Linux、サイズ 100 GiB で作成しました。

コマンド (m でヘルプ): w ⭐️ディスクに書き込み
パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
ディスクを同期しています。

root@nafslinux-ubu26:~#

パーティションできたからファイルシステム作る。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
root@nafslinux-ubu26:~# sudo mkfs.ext4 /dev/sdb1 ⭐️ext4で作ってちょ
mke2fs 1.47.2 (1-Jan-2025)
Creating filesystem with 26214144 4k blocks and 6553600 inodes
Filesystem UUID: 9a8658b7-ca6b-4480-9f6e-b49514c3a52b
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (131072 blocks): done
Writing superblocks and filesystem accounting information: done   

root@nafslinux-ubu26:~# mount /dev/sdb1 /docker ⭐️つないでちょ
root@nafslinux-ubu26:~# lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0  200G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    2G  0 part /boot
└─sda3                      8:3    0  198G  0 part 
  └─ubuntu--vg-ubuntu--lv 252:0    0  198G  0 lvm  /
sdb                         8:16   0  100G  0 disk 
└─sdb1                      8:17   0  100G  0 part /docker ⭐️つながった
sr0                        11:0    1 1024M  0 rom  
root@nafslinux-ubu26:~# 

運用スクリプトでmountするから、fstabは変更しない。

gvisのフォルダはubuntu24からtar.gzをそのまま持ってくる

gvisのフォルダに道具がいろいろ入っててtar.gzしておいたものをteratermのscpでローカルPCに落としてくる。

gvis-change2026

同じようにteratermでubuntu26へtar.gzを展開する。

1
2
3
4
5
root@nafslinux-ubu26:~# tar xzf /tmp/gvis.tar.gz 
root@nafslinux-ubu26:~# mv gvis /
root@nafslinux-ubu26:~# ls -l / | grep gvis
drwxr-xr-x   7 nari nari       4096 Jun  1  2024 gvis
root@nafslinux-ubu26:~# 

普段利用するデータ置き場

nariのフォルダはmkdirだけやっといてubuntu24のvmdkをマウント。

nari2はhdd交換して、vmdk切り替えるときの予備のマウントポイント。

hddまだ3年ぐらいしか使ってへんし価格高騰してるから、今回はデータ引っ越しはせずubuntu24のvmdkそのまま使うかな。

samba/apacheを入れ終わったらマウントする。

システムの起動にかかる時間

OS起動にかかる時間は、使っていくうちに遅くなっていく。たまにしか確認せんから見とく。

Ubuntu24でgnome利用
1
2
3
4
root@nafslinux-ubu24:~# systemd-analyze
Startup finished in 4.855s (kernel) + 3.238s (userspace) = 8.094s
graphical.target reached after 2.947s in userspace.
root@nafslinux-ubu24:~#
Ubuntu26でgnome未使用
1
2
3
4
root@nafslinux-ubu26:/gvis/script/proc# systemd-analyze
Startup finished in 2.011s (kernel) + 2.121s (initrd) + 3.198s (userspace) = 7.331s
graphical.target reached after 3.197s in userspace. ⭐️なんでgraphical.targetってなってんねん?
root@nafslinux-ubu26:/gvis/script/proc#

gnome入れてへんのにgraphical.targetってなってるから修正する。

Ubuntu26で修正
1
2
3
4
5
6
7
8
root@nafslinux-ubu26:/gvis/script/proc# systemctl get-default ⭐️どないなっとるか確認
graphical.target ⭐️ありゃりゃ
root@nafslinux-ubu26:/gvis/script/proc# sudo systemctl set-default multi-user.target ⭐️昔で言うランレベル3に変更
Created symlink '/etc/systemd/system/default.target' → '/usr/lib/systemd/system/multi-user.target'.
root@nafslinux-ubu26:/gvis/script/proc# systemd-analyze
Startup finished in 2.011s (kernel) + 2.121s (initrd) + 3.198s (userspace) = 7.331s
multi-user.target reached after 3.197s in userspace.  ⭐️変更できた
root@nafslinux-ubu26:/gvis/script/proc#

必要モジュールの設定

母艦の機能をセットアップしてく。dockerでhello worldいってみよか。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
apt-get update
apt-get upgrade
apt install samba
apt install apache2
apt install rclone
apt-get update
apt-get install -y ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update ⭐️忘れんように!
apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker run hello-world ⭐️テスト!

一般ユーザでdocker操作できる設定もしとく。

1
2
nari@nafslinux-ubu26:~$ sudo usermod -aG docker $USER
nari@nafslinux-ubu26:~$

ログインしなおすと、101(lxd),986(docker)ってグループ所属が増えとるのが見える。

1
2
3
nari@nafslinux-ubu26:~$ id
uid=1000(nari) gid=1000(nari) groups=1000(nari),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),101(lxd),986(docker)
nari@nafslinux-ubu26:~$ 

rcloneの設定

設定ファイルの$HOME/.config/rclone/rclone.cnfをコピって動かす。

手動で設定やる と面倒。

googleのアカウント設定で承認とか、APIからパスフレーズ取ってくるとかもやらずに済む。

運用スクリプトから呼び出してる処理でgoogledriveの一覧表示させる箇所を手動で動かして動作確認。

1
2
3
4
5
nari@nafslinux-ubu26:~$ rclone --config /home/nari/.config/rclone/rclone.conf lsl GoogleDrive:/ | more
6545998810 2026-07-26 07:29:39.325000000 configBackup/15_kubernetes/kubernetes.zip
 74700452 2026-07-26 07:34:47.082000000 configBackup/03_naFSlinux/nariHome.zip
8337214448 2026-07-26 07:34:42.954000000 configBackup/03_naFSlinux/nariDocs.zip
:(中略)

gcloudの導入

googleの自分のリソース使えるようにcli使えるようにしてく。

OSの一般ユーザでgcloud initを手動でやる。

やり方書いてあるページあるからやってみよか。

macのchromeで承認したら使えるようになった。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
nari@nafslinux-ubu26:~$ gcloud init --console-only ⭐️cuiやからコマンドライン承認のオプションつける
Welcome! This command will take you through the configuration of gcloud.

Your current configuration has been set to: [default]

You can skip diagnostics next time by using the following flag:
  gcloud init --skip-diagnostics

Network diagnostic detects and fixes local network connection issues.
Checking network connection...done.                                                                
Reachability Check passed.
Network diagnostic passed (1/1 checks passed).

You must sign in to continue. Would you like to sign in (selecting "Y" will display a link that can 
be opened in your browser to complete authentication) (Y/n)?  Y

Go to the following link in your browser, and complete the sign-in prompts:

    https://accounts.google.com/o/oauth2/auth?xxx ⭐️長〜いURLをmac側のchromeに貼り付けて開いて確認コードをコピーする
:(中略)
Once finished, enter the verification code provided in your browser: ⭐️ここに確認コードを貼り付ける
You are signed in as: [xxxx@gmail.com].

Pick cloud project to use: 
 [1] gvis-XXXXXXXXXXXXX
 [2] Enter a project ID
 [3] Create a new project
Please enter numeric choice or text value (must exactly match list item):  1

Your current project has been set to: [gvis-XXXXXXXXXXXXX].

Your project default Compute Engine zone has been set to [us-east1-b].
You can change it by running [gcloud config set compute/zone NAME].

Your project default Compute Engine region has been set to [us-east1].
You can change it by running [gcloud config set compute/region NAME].

Created a default .boto configuration file at [/home/nari/.boto]. See this file and
[https://cloud.google.com/storage/docs/gsutil/commands/config] for more
information about configuring Google Cloud Storage.
The Google Cloud CLI is configured and ready to use!

* Commands that require authentication will use xxxx@gmail.com by default
* Commands will reference project `gvis-XXXXXXXXXXXXX` by default
* Compute Engine commands will use region `us-east1` by default
* Compute Engine commands will use zone `us-east1-b` by default

Run `gcloud help config` to learn how to change individual settings

This gcloud configuration is called [default]. You can create additional configurations if you work with multiple accounts and/or projects.
Run `gcloud topic configurations` to learn more.

Some things to try next:

* Run `gcloud --help` to see the Cloud Platform services you can interact with. And run `gcloud help COMMAND` to get help on any gcloud command.
* Run `gcloud topic --help` to learn about advanced features of the CLI like arg files and output formatting
* Run `gcloud cheat-sheet` to see a roster of go-to `gcloud` commands.
nari@nafslinux-ubu26:~$ 

gcloudの設定生きてるか確認する。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
nari@nafslinux-ubu26:~$ gcloud config list ⭐️確認してみる
[compute]
region = us-east1
zone = us-east1-b
[core]
account = xxxx@gmail.com
disable_usage_reporting = True
project = gvis-XXXXXXXXXXXXX

Your active configuration is: [default]
nari@nafslinux-ubu26:~$ 

.bashrcにエイリアス入れとく

コマンドラインにエイリアスとか、運用スクリプトにパス通す設定とか入れとく。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
alias dff='df -h | grep -v DockerSys | grep -v "dev/loop" | grep -v tmpfs | grep -v credentials'
alias tree="pwd;find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/|  /g'"
alias sc='cd /gvis/script'
alias doc='cd /nari/nariDocs'
alias dk='cd /docker'

# 配下の.DS_Storeと._xxx を削除
function removegomi () {
  find . \( -name '.DS_Store' -or -name '._*' -or -name '.smbdelete*' \) -delete -print;
}
alias rmgomi=removegomi

PATH=/gvis/script/proc:$PATH:$HOME/bin
export PATH

postfixでメール飛ばす設定

postfixをインストールしたときは設定せんかったけど、メールをリレーできるように対話画面出す。

サテライトとか選んで適当にやってる。

1
sudo dpkg-reconfigure postfix

あとは このへん の設定やっとく。

/etc/postfix/main.cf
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level=may

smtp_tls_CApath=/etc/ssl/certs
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = nafslinux-ubu26 ⭐️ホスト名変えた
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, nafslinux-ubu24, localhost.localdomain, , localhost
relayhost = [smtp.lolipop.jp]:587 ⭐️gemini先生に聞いたらカッコ使うのが正解ってさ
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

smtp_tls_security_level = encrypt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd ⭐️用意しといた
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain

sender_canonical_maps = hash:/etc/postfix/sender_canonical ⭐️このファイル指定つけてmapしとかんとsmtp認証うまくいかん

sender_canonicalのファイルは作ったらpostmap /etc/postfix/sender_canonicalってやっとく必要ある。

/etc/postfix/sender_canonical
1
2
nari@nafslinux-ubu26 sales@gavann-it.com 
root@nafslinux-ubu26 sales@gavann-it.com

状態確認でsystemctl status postfixってやって警告とか出とらんかったらええ。

1
2
3
 8月 01 03:39:48 nafslinux-ubu26 systemd[1]: Starting postfix.service - Postfix Mail Transport Agent (main/default instance)...
 8月 01 03:39:48 nafslinux-ubu26 postfix/master[6988]: daemon started -- version 3.10.6, configuration /etc/postfix
 8月 01 03:39:48 nafslinux-ubu26 systemd[1]: Started postfix.service - Postfix Mail Transport Agent (main/default instance).

ただし、こういう警告は出る。

1
 8月 04 05:54:54 nafslinux-ubu26 postfix/postfix-script[2685]: warning: not owned by root: /var/spool/postfix/etc/resolv.conf

gemini先生に聞いたら「システム構成上発生する「無視して問題ない軽微な警告」です。」やってさ。

ホンマかな? しばらく様子見しとこ。

beckyで見たらメール来てた。

gvis-change2026

ログはsyslog使わんようになったらしくjournalctl -u postfix -n 10 --no-pagerとかで確認すればええ。

docker環境の展開

dockerの永続化領域とcompose.yaml引っ越しをやってく。

sambaを先に有効にしといてwindowsから接続し、左のubuntu24を右のubuntu26のにコピーする。

永続化領域はnariDockerDatで、中にmariadbやらdjangoのデータが入ってて、所有権やアクセス権崩したくないからtar.gzで固めてからコピーして展開する。

gvis-change2026

dockerのサービスにnariDockerSysのフォルダ使うよう設定しといたら、/var/lib/dockerの中は完全削除。

コンテナのビルドと利用

このへん の方法でビルドしてく。 mariadb/django/ssl/xrdp/oracle21のコンテナをビルドして稼働。

xrdpはブラウザ設定とかvscodeの設定とか手動設定してからイメージ作る。いったんubuntu24のxrdpそのままにしといて別の日に26に上げてく。

oracleのコンテナイメージはビルドに少し手間がかかるのと待ってる時間もある。

できたdockerイメージはこんな感じ。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
root@nafslinux-ubu26:/docker# docker images 
                                                                               i Info →   U  In Use
IMAGE                        ID             DISK USAGE   CONTENT SIZE   EXTRA
docker-sv_jupyter:latest     b81209a3027c        690MB             0B    U   
gvis-ubu24:24gvis            37da24835f34       5.43GB             0B    U   
mariadb:11.4-noble           5eb84d23187c        334MB             0B    U   
oracle/database:21.3.0-ee    8b6aeb83ad45       7.94GB             0B    U   
osixia/openldap:latest       31d1d6e16394        257MB             0B    U   
osixia/phpldapadmin:latest   dbb580facde3        309MB             0B    U   
steveltn/https-portal:1      501fc63961ee        347MB             0B    U   
sv_django:5                  667a2478007a       1.22GB             0B    U   
ubu:24gvis                   6dc67ff683a8       4.22GB             0B    U   
root@nafslinux-ubu26:/docker# 

コンテナも元気に動いてくれる。

マシン変えてもちゃんと動くし冪等性って楽やわぁ。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
root@nafslinux-ubu26:/docker# docker ps -a
CONTAINER ID   IMAGE                        COMMAND                   CREATED         STATUS                    PORTS                                                                                                                                         NAMES
152e95713f90   osixia/phpldapadmin:latest   "/container/tool/run"     3 minutes ago   Up 3 minutes              0.0.0.0:11801->80/tcp, [::]:11801->80/tcp, 0.0.0.0:11802->443/tcp, [::]:11802->443/tcp                                                        svldap-admin
37ca61c7ce0c   mariadb:11.4-noble           "docker-entrypoint.s…"   3 minutes ago   Up 3 minutes              0.0.0.0:13306->3306/tcp, [::]:13306->3306/tcp                                                                                                 docker-sv_mariadb1104-1
82c59ecf1272   steveltn/https-portal:1      "/init"                   3 minutes ago   Up 3 minutes (healthy)    0.0.0.0:30080->80/tcp, [::]:30080->80/tcp, 0.0.0.0:30443->443/tcp, [::]:30443->443/tcp                                                        docker-sv_https-portal-1
3019499840d3   sv_django:5                  "supervisord -n"          3 minutes ago   Up 3 minutes              0.0.0.0:38080->8080/tcp, [::]:38080->8080/tcp                                                                                                 docker-sv_django-1
20c27e083708   docker-sv_jupyter            "jupyter-lab --allow…"   3 minutes ago   Up 3 minutes              0.0.0.0:21088->8888/tcp, [::]:21088->8888/tcp                                                                                                 docker-sv_jupyter-1
d215b9b1b751   osixia/openldap:latest       "/container/tool/run"     3 minutes ago   Up 3 minutes              0.0.0.0:11389->389/tcp, [::]:11389->389/tcp, 0.0.0.0:11636->636/tcp, [::]:11636->636/tcp                                                      svldap-server
a616ea29b901   oracle/database:21.3.0-ee    "/bin/sh -c 'exec $O…"   3 minutes ago   Up 3 minutes (healthy)    0.0.0.0:31521->1521/tcp, [::]:31521->1521/tcp, 0.0.0.0:35500->5500/tcp, [::]:35500->5500/tcp, 0.0.0.0:35501->5501/tcp, [::]:35501->5501/tcp   docker-sv_ora21-1
e8fc605986fb   gvis-ubu24:24gvis            "/usr/bin/run.sh nar…"   2 hours ago     Up 3 minutes              0.0.0.0:33389->3389/tcp, [::]:33389->3389/tcp                                                                                                 docker-cl_ubu24gvis-1
root@nafslinux-ubu26:/docker# 

永続化領域の謎

前から疑問に思ってたことをgemini先生に聞いてみた。

docker用に置いてる永続化領域のマウントポイントがdf/duで数字違うのと、vmdkのサイズの関係。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
ubuntu26でdocker動かしているとき、dfで見たディスクの消費量とduで見た消費量に差異があるのはなぜか。

root@nafslinux-ubu26:/gvis/script# dff 
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv  194G  8.8G  176G   5% /
/dev/sda2                          2.0G  129M  1.7G   8% /boot
/dev/sdb1                           98G   36G   58G  39% /docker ⭐️なんでか36GBってある
/dev/sdc                           5.9T  2.3T  3.3T  41% /nari
root@nafslinux-ubu26:/gvis/script# du -shc /docker 
52G /docker ⭐️52GBが正解とちゃうんかな
52G total
root@nafslinux-ubu26:/gvis/script# 

そうや、オーバーレイのこと忘れとった。

1
2
3
4
5
6
7
8
df の表示(使用量: 36G)に対して du の表示(使用量: 52G)が大きい、
あるいは数値が食い違う主な原因は、Docker(OverlayFS)による
バインドマウントやオーバーレイ構造を du が二重に計算してしまうこと、
および 削除済みファイルの参照保持 によるものです。
:(中略)
一方、df はファイルシステム(/dev/sdb1)のブロック使用量を直接カーネルから取得するため、
df(36G)の数値が実際の物理ディスク消費量として正確です。
:(中略)

おいおい、vmwareでマウントさせてるdockerの永続化領域は52GB使ってるのにdfのほうがディスク消費量正しいって何やねん。

gvis-change2026

ファイルシステムで消費しているサイズは52GBなんやけど、たぶん肥大化してるんやな。

zerofreeってのを入れて使うらしいんやけど入ってた。

1
2
3
4
5
6
7
8
9
root@nafslinux-ubu26:/gvis/script# apt install -y zerofree
zerofree はすでに最新バージョン (1.1.1-1build6) です。 ⭐️入ってるってさ
zerofree は手動でインストールしたと設定されました。
Summary:                    
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 2
root@nafslinux-ubu26:/gvis/script# dd if=/dev/zero of=/docker/zero.fill bs=1M status=progress ⭐️ゼロ埋めしてみる
65810726912 bytes (66 GB, 61 GiB) copied, 29.0049 s, 2.3 GB/sdd: IO error: No space left on device
root@nafslinux-ubu26:/gvis/script# rm -f /docker/zero.fill
root@nafslinux-ubu26:/gvis/script#

いったんホストを停止してディスクの圧縮ボタンを押す。

gvis-change2026

圧縮終えてサイズ見たら縮んだ。dfの数字に近づいてくれて疑問が解けた。

gvis-change2026

ssdの容量苦しくなったら、やることにするか。

データ用vmdkのマウント

windowsのvmwareで、ubuntu24にくっつけてたvmdkをubuntu26につける。

万が一失敗とか破損があったときのため、クラウドへの退避先に保存する処理は別でやっとく。

gvis-change2026

ユーザIDの番号がそろってたら完全に所有権一致して使える。

ubuntu24はipアドレスを予備のもんに変更して、ubuntu26を母艦用のipに変更する。

cuiではnetplanって仕組みにある定義を変更する。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
root@nafslinux-ubu26:/gvis/script# cd /etc/netplan
root@nafslinux-ubu26:/etc/netplan# ls
00-installer-config.yaml  00-installer-config.yaml.org
root@nafslinux-ubu26:/etc/netplan# ls -l
total 8
-rw------- 1 root root 374 Aug  4 04:40 00-installer-config.yaml
-rw------- 1 root root 374 Jul 29 06:16 00-installer-config.yaml.org
root@nafslinux-ubu26:/etc/netplan# diff 00-installer-config.yaml 00-installer-config.yaml.org 
6c6
<       - 192.168.1.118/24 ⭐️母艦用のip
---
>       - 192.168.1.108/24 ⭐️さっきまでの予備ip
root@nafslinux-ubu26:/etc/netplan# 

宅内ルータのdnsで名前解決されるから、teratermマクロの接続先も新しいほうに向いていく。

macには.ssh/known_hostsにある記述をいったん削っとくのと、ubuntu24/26のリソース配分(メモリとCPUコア)もひっくり返す。

ここまで2日目。それほど大きなトラブルないやん。

windowsから利用

samba共有の設定少し変えたのでメモ。

zipうまくできるか

ubuntu22から24に切り替える時、 zipがうまいこと動かん ことあった。

バックアップ領域にあるデータをzipで固められるか。

1
2
3
4
5
6
7
nari@nafslinux-ubu26:/nari/GVIS/98_backup$ zip -r -P aaa _GVIS.zip ./Maimai_backup/
  adding: Maimai_backup/ (stored 0%)
  adding: Maimai_backup/Desktop/ (stored 0%)
(中略)
  adding: Maimai_backup/nari/icons/folderredgoogledrive_93221.ico (deflated 95%)
  adding: Maimai_backup/nari/DailyGCPcopy.xml (deflated 76%)
nari@nafslinux-ubu26:/nari/GVIS/98_backup$ 

おお、行けた。

「*** buffer overflow detected ***: terminated」って表示されん。

sambaが居眠りする

メール見る時、beckyはsambaで共有したドライブ領域にexeファイル置いてて、メールデータもsmb共有の中に置いてる。

アプリのインストールなしで、vscode/a5sql/becky/winmergeがすぐに使えてる。

becky開いて30分ぐらい放置したとき、次にメール受信してディスクを読ませようとしたら一瞬固まったみたいになる。

たぶん省電力のためにディスク止めたりしとるんかも。スピンダウンっていうんかな。

タブレットとかやないんやから居眠りせんと常にフルパワーで働けよな。

gemini先生に相談して対策やってみた。

ubuntu24では気にならへんかったから、vmwareの設定は関係ないやろし、windows側のnic設定が省電力モードとかにはなってへんはず。

あとファイル状態がちゃんと見えへんことあったからキャッシュ無効化する。

ubuntu26の設定とsambaの設定を足してしばらく様子見。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# systemdのサスペンド・ハイバネーション機能を完全無効化
sudo systemctl mask suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target

# hdparmをインストール(未導入の場合)
sudo apt update && sudo apt install -y hdparm

# ディスクのスピンダウン(APM)を無効化(-B 255)
# ディスクの省電力タイマーをオフ(-S 0)
sudo hdparm -B 255 /dev/sda
sudo hdparm -S 0 /dev/sda

viでsambaの設定いじる。

/etc/samba/smb.conf
1
2
3
4
5
6
7
8
9
[global]
# クライアントとの接続状態を維持(ソケットオプション)
socket options = TCP_NODELAY SO_KEEPALIVE

# デッドタイム(切断判定時間)を無効にする(0 = 無限に維持)
deadtime = 0

# ディレクトリキャッシュを無効化
directory cache = no

samba再起動したら居眠りせんようになった。ちゃんと働いてくれたらええねん。

apacheの確認

apache2で映画置き場にあるムービー開いたらちゃんと表示できるし、音も鳴ってる。

mp4化したisoファイルを開いてみる。

gvis-change2026

ちょっと脱線。

ジブリの映画で「時には昔の話を」って曲が流れる話がある。「紅の豚」はストーリーもよかったな。

エンディングのメロディーがなぜか泣けるめっちゃええ曲。

youtube探したらロックでアレンジしたのを置いてる人がいた。

いい曲はAIでアレンジ変えてロックになってもいい曲。

サビの声の割れ方オモロイけど、字幕で流れる歌詞がむちゃくちゃやな。

ここまで3日目。

google cloud利用

もうgcloud initできてるし、動かしてつないでみる。

google cloudへの接続

普段は運用スクリプトをteratermマクロで動かしてるから一瞬で終わるけど、母艦の引っ越しなので1つずつ確認してく。

使ってる運用スクリプトは変えてない。

1
2
3
4
5
6
7
8
nari@nafslinux-ubu26:/gvis/script/gcp$ cat 101_Start-gvis-nalinux.sh 
date                                         >> /gvis/log/003_gcpLog.log
echo '++++++before Start status++++++'       >> /gvis/log/003_gcpLog.log
gcloud compute instances list                >> /gvis/log/003_gcpLog.log
gcloud compute instances start numbat-fslinux >> /gvis/log/003_gcpLog.log
echo '++++++after  Start status++++++'       >> /gvis/log/003_gcpLog.log
gcloud compute instances list                >> /gvis/log/003_gcpLog.log
nari@nafslinux-ubu26:/gvis/script/gcp$ 

動かしてから起動状態見てみる。

1
2
3
4
nari@nafslinux-ubu26:/gvis/script/gcp$ gcloud compute instances list
NAME            ZONE        MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP      EXTERNAL_IP    STATUS
numbat-fslinux  xxxxxxxxxx  e2-standard-8               xx.xx.xx.xx      xx.xx.xx.xx  RUNNING
nari@nafslinux-ubu26:/gvis/script/gcp$

母艦のローカルlinuxでポートフォワーディングして、gcpのlinuxのdockerコンテナに接続してる。

ポートフォワーディングの運用スクリプトはこんな感じ。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
nari@nafslinux-ubu26:/gvis/script/gcp$ cat 301_ssh-tunnelCreate.sh
## SSH option
## -N : non command-line
## -f : background
## -C : compress

gcloud compute ssh numbat-fslinux \
  --project xxxxxxxxx        \
  --zone    xxxxxxxxx        \
  --ssh-key-file=/gvis/script/gcp/privateKEY \
  -- -N -f -C                \
     -L nafslinux.intra.gavann-it.com:53306:gcp-gvis-dklinux.intra.gavann-it.com:13306  \
     -L nafslinux.intra.gavann-it.com:53389:gcp-gvis-dklinux.intra.gavann-it.com:33389

nari@nafslinux-ubu26:/gvis/script/gcp$ 

ポートフォワーディングして、システム状態確認の運用スクリプトにあるプロセス確認だけ動かしたらこうなる。

1
2
3
4
nari@nafslinux-ubu26:/gvis/script$ ps -ef | grep ssh | grep gvis | awk '{print $29 "\n" $31 "\n" $33 "\n" $35 }'
nafslinux.intra.gavann-it.com:53306:gcp-gvis-dklinux.intra.gavann-it.com:13306
nafslinux.intra.gavann-it.com:53389:gcp-gvis-dklinux.intra.gavann-it.com:33389
nari@nafslinux-ubu26:/gvis/script$ 

windows/macからubuntu26へtcp53389へxrdp接続して普通にxrdpコンテナ使えたし、コンテナの中でfirefox/chrome使ってネットやdjangoアプリもssl経由で使えた。

a5sqlからubuntu26へtcp53306接続したらmariadbのデータも読めた。

gvis-change2026

しっかしgoogle cloudの中のネットワークは速いなぁ。下りで3361Mbpsってなんやねん。

gcpの停止とバックアップ処理は割愛するけど、エラーなく終わってた。

ここまで4日目。

本番データを展開できるか

バックアップはgoogle driveに入ったファイル類原本とdockerの永続化領域をcyberduckで母艦にダウンロードしておく。

ダウンロードした結果がコレ。

1
2
3
4
5
6
7
8
nari@nafslinux-ubu26:/nari/nariHTTP/configBackup/01_gcp-gvis-dkLinux$ ls -lh
total 8.8G
-rwxr--r--+     1 nari nari 1.2G Aug  2 08:16 Docker.zip
-rwxr--r--+     1 nari nari  21M Aug  2 08:10 gvis_conf.zip
-rwxr--r--+     1 nari nari 2.6M Aug  2 08:10 log.zip
-rwxr--r--+     1 nari nari 7.7G Aug  2 08:21 nariDocs.zip
-rwxr--r--+     1 nari nari  15M Aug  2 08:10 script.zip
nari@nafslinux-ubu26:/nari/nariHTTP/configBackup/01_gcp-gvis-dkLinux$ 

このzip使ってgcpのdockerコンテナの永続化領域を母艦に展開する。

毎度やってるけどwinmergeとかdiffで比べながら更新対象やその他のファイルが維持できてるか確認しながら使う。

1
diff -r /nari/nariDocs/smb/svm/Public /nari/nariHTTP/temp/smb/svm/Public

mariadbのデータ維持具合を確認するときはa5sqlからSQLを投げてみる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
-- dbmsのバージョン
select @@version ;

-- mariadbに対するオプション指定の確認
SHOW VARIABLES LIKE 'max_allowed_packet';

-- mariadbのテーブル確認
SHOW tables ;

-- データ入ってる件数の確認
SELECT count(*) FROM GVIS_keihi ;

-- betweenで月指定変えながら、経費テーブルに特定の日付のデータ入ってるか確認
SELECT * FROM GVIS_keihi
WHERE year(workPeriod) = 2026 and month(workPeriod) between 07 and 08
order by workPeriod desc , workShubetsu, workPriority ;

-- 支払った消費税が入ってるか確認
select Kamoku,Tax8Kng,Tax10Kng from GVIS_keihi where Tax8Kng > 0 or Tax10Kng > 0 ;

ubuntu26のmariadbコンテナにつなぐ。

gvis-change2026

件数と金額が完全一致するのは今回も同じ。

ここまで5日目。

ところが6日目になって、普段やってるバックアップ処理を1時間ほどかけて動かしてみたら、tar.gzやzipの処理でときどきイーサネットカードがハングしてまうことがわかった。

vmxファイルをOSインストール直後に書き換えるの忘れてたのと、イーサネットのオフロード問題があったからvmxの書き換え内容を追加してこのメモ書き直した。

着手して他のことしてた日もあるから、実際の期間は10日ぐらいかかった。

設定のバックアップ

いろいろ設定したしバックアップ作っとく。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
root@nafslinux-ubu26:/gvis/gvis_conf/_old/20260809# ll
total 88
drwxr-xr-x 2 root root  4096 Aug  9 03:10 ./
drwxrwxr-x 3 nari nari  4096 Aug  9 02:51 ../
-rw-r--r-- 1 root root 37569 Aug  9 03:00 apache2.tar.gz
-rw-r--r-- 1 root root 19447 Aug  9 03:06 linux.tar.gz
-rw-r--r-- 1 root root   688 Aug  9 02:56 logrotate.tar.gz
-rw-r--r-- 1 root root  6695 Aug  9 03:10 postfix.tar.gz
-rw-r--r-- 1 root root  4305 Aug  9 03:08 samba.tar.gz
root@nafslinux-ubu26:/gvis/gvis_conf/_old/20260809#

それぞれは設定した内容が入ってるから、バックアップ取って維持してく。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
root@nafslinux-ubu26:/gvis/gvis_conf/_old/20260809# for f in *.tar.gz; do echo "=== $f ==="; tar -ztvf "$f"; echo ""; done
=== apache2.tar.gz ===
drwxr-xr-x nari/docker       0 2026-08-09 02:59 apache2/
:(中略)
-rw-r--r-- root/root      7178 2026-07-07 00:33 apache2/apache2.conf.org
-rw-r--r-- root/root      7817 2026-08-04 06:27 apache2/apache2.conf
:(中略)
=== linux.tar.gz ===
drwxr-xr-x root/root         0 2024-06-21 03:45 linux/
-rw-r--r-- root/root     87319 2026-08-09 03:05 linux/811_dpkg-query.txt
-rw-r--r-- root/root       411 2026-07-29 06:17 linux/hosts.allow
-rw-r--r-- root/root       711 2026-07-29 06:17 linux/hosts.deny
-rw-r--r-- root/root       348 2026-08-09 03:02 linux/hosts
=== logrotate.tar.gz ===
drwxr-xr-x root/root         0 2026-08-09 02:52 logrotate/
-rw-r--r-- root/root       591 2026-08-08 08:39 logrotate/logrotate.conf
drwxr-xr-x root/root         0 2026-08-09 02:55 logrotate/logrotate.d/
-rw-r--r-- root/root       644 2026-08-08 08:37 logrotate/logrotate.d/gvislog
=== postfix.tar.gz ===
drwxr-xr-x root/root         0 2026-08-09 03:09 postfix/
:(中略)
-rw-r--r-- root/root      1590 2026-08-01 06:22 postfix/main.cf
-rw------- root/root     12288 2026-08-04 05:41 postfix/sender_canonical.db
-rw-r----- root/root     12288 2026-08-01 06:28 postfix/sasl_passwd.db
drwxr-xr-x root/root         0 2026-05-06 00:45 postfix/postfix-files.d/
-rw-r--r-- root/root      3136 2026-08-01 02:45 postfix/main.cf.org
-rw------- root/root        74 2026-08-01 06:28 postfix/sasl_passwd
-rw-r--r-- root/root      2455 2026-05-06 00:45 postfix/main.cf.proto
drwxr-xr-x root/root         0 2026-05-06 00:45 postfix/sasl/
-rw-r--r-- root/root      7335 2026-05-06 00:45 postfix/master.cf.proto
-rw-r--r-- root/root      7335 2026-07-30 04:56 postfix/master.cf
-rw------- root/root        83 2026-08-04 05:40 postfix/sender_canonical
=== samba.tar.gz ===
drwxr-xr-x root/root         0 2026-08-09 03:08 samba/
-rw-r--r-- root/root         8 2026-03-19 05:21 samba/gdbcommands
-rw-r--r-- root/root     11818 2026-08-08 05:20 samba/smb.conf
-rw-r--r-- root/root      9164 2026-07-25 00:59 samba/smb.conf.org

root@nafslinux-ubu26:/gvis/gvis_conf/_old/20260809# 

別ホスト作るときとか見直すときに使う。

ubuntu26になってみて気づいたこと

けっこう変わってるんやろけど自分で気づいたこと。

syslogやなくjournal利用

あんまりテキスト保管せんようになってるみたい。

実務でちょっと前にsmtpサーバ作る場面があって、postfixのログ確認がjournalになっとった。

ログローテートとかどうするんやろ。

使いながら調べてたら、syslogってグループなくなってた。

というかログローテート入ってへんから、自分で維持してるログがローテートできてへんかった。

設定入れて9世代compressつきにしといた。

syslog監視の仕組みいったん停止。

cronない

crontab設定しようとしたらcronが入ってへんかった。

systemd-timerの利用を主体にしようとしてるらしい。

めっちゃcrontabの定義使ってるからどないしたらええか考えなアカンのかな。

イーサネット落ちた

vmxのファイルに指定する名前を変えとかんと、勝手にオフロードしてハングすることがあった。

windowsでオフロードふん詰まったことあったような気がするけど、Linuxで今までこんなんなかった。

vmwareダウンロードするの使いづらくなってきたし、そろそろ別のに変えたいけどwindows xpのときのゲームがあるから変えるのめんどくさいねんなぁ。

もうちょっと使ってく。

変わらず使えるdocker

docker普通に動くのはめっちゃありがたい。まだやってへんけどmicrok8sでkubernetesも使えるみたいやし、vmwareだけやなくてutmのゲストOSでいけるはず。

いつかdocker使えへんようになる日が来るかもしれんけど、そのときがubuntuとサヨナラの日やな。

dockerを使わない次のパラダイム来るやろか。

gemini先生の活用

めちゃ使う。ググってくれるから広告見ずに済む。

自分でググるのは裏付けを取りたいとき。

ubuntu26でのコマンドライン教えてくれるだけやなく、運用スクリプトの内容もアドバイスしてくれる。

妄言出てくることあるけど、生成AI使うと気づく力を養えるんとちゃうかな。

「生成AIは嘘つき」って言う人がいる。

そうかもしれん。でも人間の役割はその嘘を見抜いた上で活用して、結果を出すことや。

実務ではcopilotでpowershellとか書かせたけど、平気でいっぱい間違いよる。

昔にawk使い始めた時 便利な一行野郎 ってのがあったな。

ユーザーのログイン名リストをソートして出力
1
awk -F: '{ print $1 }' /etc/passwd | sort

こういうのを考えるのはgemini先生にほぼ巻き取られた。