2026 TvServer on Linux

TVServer on Linux (ubuntu-24/etc) with BonCasProxy and Chinachu (2026/3/5作成)

以前から使用していた、録画用 TVServerがクラッシュしたのをキッカケにOSをUbuntu-24.04.5にアップデートしましたが、以前の環境に戻すのは困難を極め、やっと非Dockerでのインストールにて、BonCasProxy実装したChinachuでの録画サーバーの構築方法を見つけることが出来たので、ここに詳細をUpしました。ここではRaspberyPi(Debian64bit)でも同様の方法でインストール出来たので併記しています。

1. 関連する以前の投稿

以前の投稿 1. BonCasServer for mac2. TvServer on Raspberry Piがこのサーバー内にあります。

2. 今回の検討理由

以前の録画環境はubuntu-18にBonCasProxyを入れて、chinachuからSambaでフィイル転送で10年間再起動することなく、安定して稼働していました。今回のクラッシュはMB内のボタン電池の寿命と停電が重なってしまった事が原因でBIOSの設定が飛び追加カーネルの設定も壊れてしまいました。やむなくOSをubuntu-24に上げ再インストールを試みました。Ubuntsu-24の録画サーバー構築方法はDocker バージョンで出回っていますが、BーCAS一体となった、EPGStationのもので、これではBonCasProxyも実装できず。安定したchinachuも使用出来ない為今回の検討となったわけです。

3.サーバーと録画カード

前回はPX-Q3PE4をPCIexpressのあるマシンに刺していたのですが、今回はPLEX社の全製品に対応すべく検討してみました。

  

1.PLEX製品にはUSB接続の単体製品、2.USB接続のあるPCIexpress用カード製品と3.接続をPCIexpressのBusから取るタイプのカードがありますが、3のタイプではPCIexpressスロットを持ったマシンでなければなりません。1に関しては小型PC(RaspberyPIを含む)に接続して使用する事が出来ます。2に関してはPCIexpressのスロットに刺して使用出来ますが、Busからは3.3Vの電源を取っているだけなので、外付BOXに取り付けて小型PCやRaspberyPIでも使用するとが可能です。

サーバーについては小型PC, RaspberyPI, ATX--PCが使えますが、中古のDesktop PCが安いので買い得です。私はHP600G2の中古を購入してみました。Fujitsuのものが中古で大量に出ていますがexpressではないPCIスロットなので、使い道がありません。RaspberyPIに関してはPI4,PI5が使えます。PI-zeroでは性能不足です。

4. 前準備 - OSとソフトフェアのインストール

4.1 OSのインストール

サーバーへのOSのインストール方法につてはここでは詳しく述べませんが、UbuntuやRaspberyPI用のUSB、SDcardでインストールする事になります。ただこの頃ではSecurityBootが有効になっている為に変な所で苦労することがあります。インストール時にはSecurityBootを無効にする必要があります。インストール後も無効にしておかないとドライバーのインストールが出来ないなど原因がわからず、苦労することになります。

BIOS画面の表示は”esc", "f1", "f2", "f9", "f9", "f10"キーを押しながら電源ONですが、Windowsの立ち上げ状態では”Shift"キーを押しながら”再起動”、Linuxでは"$ sudo systemctl reboot --firmware-set"でBIOS画面に移行できます。どうしても立ち上げできない場合は起動ディスクを外して、ubuntsuのインストールUSBを挿してTryモートで立ち上げてから、前記コマンドを実行すると良いでしょう。

PCではubuntu-22またはubuntu-24をインストールして下さい。ubuntu-22ではchinachuがそのままインストールできるので手間が少なく済みます。RaspberyPIの場合はせっかくなので、64bitの最新鈑をインストールします。

4.2 VNCの設定

設定にはディスプレー、キーボード、マウスなどを占有してしまうので、まずはVNCを設定して作業するのが良いでしょう。

まず立ち上げたら、ディスプレーの解像度設定、ディスプレーのタイムアウトなし(Power設定でディスプレーのタイムアウトなし)、V4接続でIPアドレス等の設定を行います。またubuntuでは設定画面のPrivacy and Securityのdevice securityでSecurity bootが無効になっていることを確認しておきます。

RaspberyPIの場合はメニューからVNCをアクティブにするだけですが、ubuntuの場合は下記方法でX11vncをインストールします。

$ sudo apt update
$ sudo apt install lightdm

$sudo apt update
$ sudo apt install x11vnc

$ sudo x11vnc -storepasswd /etc/.vncpasswd
   Enter VNC password: ← パスワード入力
   Verify password: ← パスワード確認入力
   Write password to /etc/.vncpasswd? [y]/n
   Password written to: /etc/.vncpasswd

$ sudo x11vnc -auth guess -display :0 -rfbauth /etc/.vncpasswd -rfbport 5900 -forever -loop -noxdamage -repeat -shared

stop by ^c

$ sudo nano /etc/systemd/system/x11vnc.service

(下記を書き込む)

[Unit]
Description=x11vnc (Remote access)
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -display :0 -rfbauth /etc/.vncpasswd -rfbport 5900 -forever -loop -noxdamage -repeat -shared
ExecStop=/bin/kill -TERM $MAINPID
ExecReload=/bin/kill -HUP $MAINPID
KillMode=control-group
Restart=on-failure

[Install]
WantedBy=graphical.target


systemdへ登録して起動します

$ sudo systemctl daemon-reload
$ sudo systemctl enable x11vnc
$ sudo systemctl start x11vnc


ここまで済んだらシステムを再起動し、VNCクライアントのPCから接続し、ログインします。これで、本体からディスプレーとキーボードを取り外すことができますが、今後の再起動の際に不安定にならないため、本体のディスプレー端子にはHDMIダミープラグを接続しておきます。

4.3 録画ファイル用のSSDのフォーマットとマウント

起動Diskに余裕がある場合(500GB以上)の場合この作業は不用なので、読み飛ばして下さい。ただ録画用に別のSSDを実装している場合、下記ののコマンドでディスクの状態を確認します。

$ sudo fdisk -l


この時、起動ディスクを含めた多くの情報が表示されますが、SATAやUSBディスクの場合 sdaxx/sdbxx/...、M2nvmeの場合 nvme0xx/nvme1xx/...として表示されていますので、どれがどのディスクかを認識する必要があります。

ここでディスクをフォーマットしますが、ubuntuの場合GUIのユーティリティである、"disks"を使用して、パーティションがあれば解除し、"ext4"でフォーマットします。時間がかかりますが覚悟して作業を進めます。RaspberyPIの場合はコマンドで、"sudo mkfs -t ext4 /dev/sdb1"でフォーマットします。この場合フォーマットはすぐに終了する様に見えますが、次の再起動時になにかグズグズしている様です。

フォーマット後ディスクを/mnt下にマウントします。以下の例は追加ディスクが”sdb1"の場合です。

$ df -Th


でマウント状態を見ます。すでに他の場所にマウントされていれば"sudo umount /dev/sdb1"でマウントを解除します。その後、録画エリアを"tsfiles"として、/mntの下にマウントします。

$ cd /mnt
$ sudo mkdir tsfiles

$ sudo mount /dev/sdb1 /mnt/tsfiles


うまく行ったらfstabに追記して、次のブート時に自動マウントされる様にします。

$ sudo nano /etc/fstab

下記ラインを追記します。

/dev/sdb1 /mnt/tsfiles ext4 defaults,nofail 0 0


ここでRebootしますが、上記fstabの内容が間違っていると再起動が立ち上がらなくなりVNCも接続されないので、ディスプレー、キーボードを接続し直して、やり直さなければならにので、注意深く作業を進めて下さい。

4.4 録画ディレクトリーの作成と公開

録画ディレクトリの作成をします。/mnt以下にマウントされているSDDを使用する場合(例"tsfiles"という名前で)

$ cd /mnt
$ ls -l
$ sudo chown nobody:nogroup tsfiles
$ sudo chmod 777 tsfiles


ディスクが一つしかなく/mnt下にマウントされていない場合には/home/"ユーザーネーム"下に”tsfiles”を配置します。

$ cd ~/
$ sudo mkdir tsfiles
$ sudo chown nobody:nogroup tsfiles
$ sudo chmod 777 tsfiles


ネットワーク上の他のPCに公開するためにSambaを導入します。

$ sudo apt install samba
$ sudo nano /etc/samba/smb.conf

・文字コード設定の追加とプリンター設定の無効化。以下を追加。

[global] 24行目付近、下記追加
unix charset = UTF-8
dos charset = CP932
load printers = no
disable spoolss = yes

・ワークグループ

workgroup = MYGROUP ← 適宜変更

・ホームディレクトリ
変更前)
;[homes]
; comment = Home Directories
; browseable = no

変更後)
[homes]
   comment = Home Directories
   browseable = no
   writable = yes

※ Debian(RaspberyPI)では以下の行をコメントアウトして下さい。
   read only = yes

・プリンター設定は不要なので無効化
   [printers], [print$] の項目は全てコメントアウト

・共有フォルダ設定、以下をファイル末尾に追記
[tsfiles]
   comment = Shared SSD
   path = /mnt/tsfiles
   guest ok = yes
   writable = yes
   create mode = 0777
   directory mode = 0777

  


上記[tsfiles]のpathは追加ディスクの有無で適宜変更して下さい。書き込み後

$ sudo testparm

$ sudo pdbedit -a ユーザー名
new password: パスワードを入力
retry new password: パスワードを再度入力


$ sudo service smbd restart
$ sudo service nmbd restart


これでtsfileディレクトリーが他のPC(WindowsやMacMac)から読み書きできる様になるので、確認して下さい。

4.5 その他の有用なソフトウェアのインストール

時間管理の為にchronyを導入します。

$ sudo apt-get install chrony
$ date


ubuntu付いているファイルブラウザnautilusは使い勝手がいいのですが、sudo権限でのアクセスが出来ないので、nautilus-adminを導入します。 debian(RaspberyPI)では別のファイルブラウザがインストールされていますが、ネットワークアクセス出来ないのでこれを追加導入しても損はないと思います。

$ sudo apt install nautilus-admin
$ nautilus -q (<ー ubuntuのみ)


sunap-shot backupの為にtimeshiftを導入します。これは今後インストールを続け上で各段階での状態を保存することが出来非常に便利です。

$ sudo apt install timeshift


私の設定のお勧め、Dailyでのバックアップを外しscheduleを無効にし、/home, /rootもバックアップに含める事です。

5. 録画サーバーソフトのインストール

前置きが大分長くなってしまいましたが、ここからが本番です。

5.1 チューナードライバーのインストール

Plexのチューナーのインターフェイスには2種類あってカードタイプに使用されるPX4ドライバーとドングルタイプ用のPX-S1UDがあります。

まず、ホームが乱雑にならない為に~/下にplexというディレクトリーを作ってそこで作業を進めます。

$ mkdir ~/plex
$ cd ~/plex


必要なソフトのインストール

$ sudo apt install git
$ sudo apt install dkms


PX4タイプのドライバーインストール

$ cd ~/plex
$ wget https://github.com/tsukumijima/px4_drv/releases/download/v0.5.5/px4-drv-dkms_0.5.5_all.deb
$ sudo apt install -y ./px4-drv-dkms_0.5.5_all.deb
$ rm ./px4-drv-dkms_0.5.5_all.deb

$ sudo modprobe px4_drv
$ ls -l /dev/px4*


px4video0...が表示されれば成功です。

ドングルタイプPX-S1UD, PX-Q1UDドライバーインストールは

$ cd ~/plex
$ wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip
$ unzip PX-S1UD_driver_Ver.1.0.1.zip
$ sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/

ここでRebootします。

$ ls -l /dev/dvb


adaptor0...が表示されれば成功です。(OSによってはすでにこのdvbドライバーが組み込まれている様ですが、二重に行っても問題はありません。)

ちなみに[BS/CS-2ch、地デジ-2ch]のPX-W4xxタイプでの割り当ては
px4vido0 BS/CS      px4video1 BS/CS      pxv4video2 地デジ     px4video3 地デジ

[BS/CS-4ch、地デジ-4ch]のPX-Q4xxタイプでの割り当ては
px4vido0 BS/CS      px4video1 BS/CS      pxv4video2 地デジ      px4video3 地デジ
px4vido4 BS/CS      px4video5 BS/CS      pxv4video6 地デジ      px4video7 地デジ


5.2 カードリーダーとarib25(BoncasProxy含む)のインストール


カードリーダーのインストールを行います。

$ sudo apt install pcscd pcsc-tools libpcsclite-dev
$ pcsc_scan


カードリーダーが繋がっていてBCASカードが挿してあればBCASカードの内容が表示されます。カードリーダーが繋がっていなければ探している様子が表示されます。とりあえず^Cで終了します。内臓BCASでデコードするにはこれらが接続されている必要がありますが、BonCasProxyにするにはこれらは不用になります。下記コマンドでlibaribをインストールします。

$ cd ~/plex
$ git clone https://github.com/tsukumijima/libaribb25
$ cd libaribb25


BonCasProxyを使用するには、./aribb25にあるb_cas_card.cを改造する必要があります。

改造方法は、TvServer on Raspberry Piの3.1項に述べています。b_cas_card.cも古いものから変わっていますが、改造方法については全く同じ方法が使えます。このファイルを置き換えた後下記を実行します。

$ sudo apt install cmake

$ cd ~/plex/libaribb25
$ cmake -B build
$ cd build
$ make
$ sudo make install


b_cas_card.cを置き換えず動作させ後にBonCasProxyにしたい場合は/usr/local/bin/にあるb25とarib-b25-stream-testを削除してから上記コマンド群を実行させるのが、良いでしょう。

5.3 受信ソフト(recpt1/recdvb)のインストール


ここでは2種類のチューナーを対象にしており、割り付けられるデバイスも2種類あるので、それぞれの受信ソフトも2種類になります。

px4videoを受信するソフトはrecpt1になりす。

$ sudo apt install -y automake autoconf

$ cd ~/plex
$ git clone https://github.com/stz2012/recpt1
$ cd recpt1/recpt1
$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install

test (受信して10秒間の録画ファイルを書き込む)
$ recpt1 --b25 --strip 27 10 ~/test.ts
$ recpt1 --b25 --strip --device /dev/px4video2 27 10 ~/test.ts
$ recpt1 --b25 --strip --device /dev/px4video0 BS15_0 10 ~/test.ts
$ recpt1 --b25 --strip BS15_0 10 ~/test.ts


/dev/dvb/下のataptorxを受信するソフトはrecdvbになりす。recdvbも色々あって、最近のものではarib25のBCAS readerが組み込まれているため、BonCasProxyの改造が無効になってしまいます。下記のgithubのものは、recdvbのplalaバージョンが廃止になってしまった今、貴重なものです。ただ、古いがゆえに新しいrecpt1の様にDecoderを分離できずmirakurunのtuner commandは"recdvb --b25 --strip --dev 0 <channel> - -”と--b25を書き込んで下さい。

$ sudo apt install -y automake autoconf

$ cd ~/plex
$ git clone https://github.com/kaikoma-soft/recdvb
$ cd recdvb
$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install

test (受信して10秒間の録画ファイルを書き込む)
$ recdvb --b25 --strip 【物理チャンネル番号】10 ~/test.ts
$ recdvb --b25 --strip --dev 0 27 10 ~/test.ts


これら2種のハード・ソフトは併用が可能で2枚挿しなどで後で増設することも可能です。

5.4 node制御とMirakurunのインストール


mirakurunのインストールを行いますが、最新版はDocker用のため、mirakurun@3.9.0-rc.4をインストールする事とします。このバージョンではnode-v16を要求しているためこのversionのJSを用意します。

もともとJava(JavaScriptはインタプリタモード)はCPUやOSを選ばず、プログラムをJavaで書けばどの機械でも動作するという触れ込みでしたが、日々Java自体もアップデートがくり換されて古いバージョンで書かれたものは動作できなくなる訳でプログラムごとに作成された環境を用意しなければなりません。この環境を管理するのが、nodeJSで、プログラム毎にnode情報を記録します。後に述べるchinachuではもっと古いv14を使用していますが、インストール時v14JSを自らインストールし専用のnodeを作って動作させています。ただ今回の設定では、JSversionを設置していますので、この設置インストール(npm install)するpm2などはこのバージョンで動作することになります。

nodeの制御プログラムは下記の方法でインストールします。

$ cd ~/
$ sudo apt install npm
$ sudo apt install curl
$ sudo apt install nodejs
$ sudo npm install n -g

$ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
$ source ~/.bashrc

$ node -v
$ npm -v
node 16.20.2 is prefered for mirakurun@3.9.0-rc.4, then
$ sudo n 16.20.2
v16.20.2 (with npm 8.19.4)
$ sudo npm install --force npm@8.19.4
$ node -v

もしnode versionが変更されない場合は
$ source ~/.barshrc
$ node -v
$ npm -v


mirakurunをインストールします。

$ cd ~/
$ sudo npm install pm2 -g
$ sudo apt install build-essential

$ sudo npm install mirakurun@3.9.0-rc.4 -g --unsafe --production
$ sudo npm install rivarun -g

$ cd /usr/local/etc/mirakurun/
$ sudo nano server.yml
  内容はそのままで良い

$ sudo nano tuners.yml
recdvbには
- name: PXS1UD
    type:
      -GR
    command: recdvb --b25 --strip --dev 0 <channel> - -

recpt1の場合には
- name: PX4-S1
    types:
      - BS
      - CS
    command: recpt1 --device /dev/px4video0 <channel> - -
    decorder: arib-b25-stream-test
    isDisabled: false
などと入れる。
$ sudo mirakurun restart

チャンネルスキャン(mirakurun restart後10分ぐらい待ったほうがいいらしい)
$ curl -X PUT "http://127.0.0.1:40772/api/config/channels/scan"
$ sudo nano channels.yml
ここで不要なチャンネルなどを削除できるが、chinachuの番組表設定で表示の可否が設定できるので、残しておいてもよいであろう。
$ sudo mirakurun restart

$ cd ~/plex
$ rivarun --list | sed 's/},/},\n/g' > serviceID.txt
このserviceID.txtは他の端末でVLCを使っての視聴リストの作成に役立つ。TvServer on Raspberry Pi参照

$ sudo mirakurun restart



mirakurunでは東京地域の地上波の設定とBS,CSのチャンネル情報が含まれている。住んでいる地域によって、チャンネルスキャンが必要である。チャンネルスキャンとServiceIDの取得は地デジのチャンネルのみとなる。BS,CSについては全国共通であり、ServiceIDについてはchannels.ymlに記載されているので、視聴クライアントの構築に支障はない。



ここでlog fileがシステムを圧迫しない様にlogrotateを組み込む。

$ sudo pm2 install pm2-logrotate

$ sudo nano /etc/logrotate.d/mirakurun
下記を書き込む
/usr/local/var/log/mirakurun.stdout.log
/usr/local/var/log/mirakurun.stderr.log
/{
  daily
  compress
  rotate 7
  missingok
  notifempty
}

$ sudo pm2 status
$ sudo pm2 save

5.5 chinachuのインストール


さてここで、最大の難関である、chinachuのインストールに挑戦します。

chinachuがubuntu-24やRaspberyPI-64bit最新バージョンにインストールできない直接の原因はPython3のバージョンにあります。しかし、chinachuγのページに書いてある様にJSのVersion14.18.3(npm6.14.15)のサポートが終了している事でさらに新しいカーネルが実装されると使用しているJSが整合が取れなくなる事です。chinachuではJSのいくつかのコードを試してインストールを試みている様です。現状のubuntuのカーネルではなんとか動作させることができていますが、将来的には不安があり、chinachuγ(βの次ぎ)で開発終了を宣言しています。さらに、RaspberyPIのARM64のバイナリがないので、ソースファイルからコンパイルしてJSインタプリタをコンパイルしています。しかし、このソースも最新のgcc用ではないので、gccバージョンを古いものと入れ替える必要があります。

従ってraspberyPIにインストールするにはgcc, g++のバージョンを下げる必要があります。(ubuntuの場合は不要)

$ ls -l /usr/bin/gcc*
gcc-14がインストールされている様です。
ここでインストールできる最古のバージョンであるgcc-12をインストールすることします。

sudo apt install gcc-12 g++-12

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12
sudo update-alternatives --list gcc

リンクを切り替えます。
sudo update-alternatives --list gcc
ここではautomodeを指定するので、そのまま<Enter>を押します。

$gcc --version
切り替わりました。


ここから全システム共通で、python3のversion downとchinachuのインストールまで、一気に行います。理由はchinachuのインストールプログラムがPython3.10(以下?)で書いてある為で、インストール後はpythonのバージョンは関係なくなるためほんの一時的に変更するだけです。

$ sudo apt update
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ sudo apt install libedit-dev -y
$ sudo apt install libncurses5-dev -y
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git

$ export PYENV_ROOT="$HOME/.pyenv"
$ export PATH="$PYENV_ROOT/bin:$PATH"
$ eval "$(pyenv init --path)"
$ eval "$(pyenv init -)"

$ pyenv install 3.10.12
$ pyenv rehash
$ pyenv global 3.10.12
$ python3 --version

python3のversionが設定されたのでこのままchinachuのインストールを行います。

$ cd ~/plex
$ git clone https://github.com/Chinachu/Chinachu
$ cd Chinachu
$ ./chinachu installer
1) Auto (full)を選択します。
$



インストール完了のcommand promptが出るまで、ubuntuでは30分程度だと思いましたが、RaspberyPI(ARM64)ではJSインタプリタのコンパイルがあるので、6時間以上かかっていたようです。
インストールが完了すれば、terminal windowを閉じてもOKです。(次にterminalを起動すればpython versionは元に戻っているはずです。)続いてchinachuの設定に移ります。

$ cd ~/plex/Chinachu
$ echo "[]" > rules.json
$ cp config.sample.json config.json

$ nano config.json
"uid": "ユーザ名",
"recordedDir" : "/mnt/tsfiles/" (tsfilesファイルのある場所を指定)
"wuiOpenHost": "0.0.0.0",
"recordedFormat": "<title>[<channel-name>].m2ts" (長いので変更した)

$ ./chinachu service wui execute
^Cで終了,
$ ./chinachu update
$ sudo pm2 start processes.json

$ sudo pm2 status
$ sudo pm2 save


processes.jsonが起動出来ない場合はインストールが完全でない可能性があります。インストール部分を見直して下さい。
続いてchinachuもlogrotationに組み込みます。

$ sudo nano /etc/logrotate.d/chinachu
以下を書き込みます。
/usr/local/var/log/chinachu-operator.stderr.log
/usr/local/var/log/chinachu-operator.stdout.log
/usr/local/var/log/chinachu-wui.stderr.log
/usr/local/var/log/chinachu-wui.stdout.log
{
  weekly
  compress
  rotate 4
  missingok
  notifempty
}

$ sudo pm2 restart pm2-logrotate
$ sudo pm2 save


これで、chinachuのインストールは終了です。あとは本体のポート:20772にアクセスして、好みの設定を行います。

6. 結論


どうしてここまでするのか、すでにお気づきだと思いますが、最大の目的はBonCasProxyを使いたいが為です。最近の録画サーバーのインストール手順はDockerによるEPGStationです。これらはmirakurun, recpt1, BCAS readerと一体化されており、BCAS reader部分の改造を行うことが不可能になっています。EPGStationの派手な色使いは好きになれません。chinachuの落ち着いた雰囲気と番組表の録画したいジャンルのハイライト化など使いやすや実績のある安定性は代え難い価値があります。


ただRaspberyPIのlegacy32bitOSは古すぎて他のプログラムもついていけないところもあるので、64bit最新にしたのは仕方ありませんが、ubuntuに関してはubuntsu24にする意味はありません。この手のサーバーは他の目的に使用することがないため、ubuntsu-22にインストールする方が楽といえます。さらにいえば今回のプログラムは一旦組み込んでしまえは、アップデートがあっても、動作できなくことはなく、22から24へのライブUpgradeでも動作し続けます。

今回の記事が同じような悩みを持った人々への助けになればと願っています。

CGI Powered

MUN2 HOME PAGE

(c)mun2jp