【後編】SSDにUbuntu Serverを入れて24時間マシンにする
たまお前編で予告してた、UGREEN NASのUbuntu化をした。



できた。SSHもTailscaleも通して、Macからどこでも触れる24時間マシンになった。やった手順を順番に書くよ。
開封・SSD 取り付け・初回セットアップは前編にまとめています。先に前編から読むのがおすすめ。
👈 前編|開封・セットアップ編を読む
クーポンコード TAMACION で5%OFF‼️
UGREEN公式サイトでは、メールアドレス登録でキャンペーンに参加でき、抽選で賞品が当たる企画も実施予定です。
やったことの全体像
結論、UGOSは消さずに残したまま、256GBのM.2 SSDだけにUbuntu Server 24.04.4 LTSを入れて、SSHとTailscaleで遠隔から触れる常時稼働マシンになった。アイドル時はCPU温度55℃、メモリ使用3%、SSD使用2.9%で、ファンの音もほぼ気にならない。N100は省電力なので、24時間つけっぱなしでも電気代は月200円くらい。
順番はこの6ステップ。
- Ubuntu Server入りのUSBを作る
- BIOSで3つだけ設定する(Watchdog無効・USB最優先・停電復旧)
- Ubuntu Serverをインストールする
- MacからSSHで入る
- Tailscaleで外出先からも触れるようにする
- sudoパスワード省略と停電復旧を仕上げる
大前提:UGOSは消さない。SSDだけにUbuntuを入れる
UGREEN NASには本体内部にもストレージ(29.2GBのeMMC)があって、ここにUGOSというLinuxベースのカスタムOSが入っています。今回はこれを残したまま、新しく挿した256GBのM.2 SSDだけにUbuntuを入れます。
① Ubuntu Server入りのUSBを作る



ここから先は、あくまで僕の環境の話です。



出来ればChatGPT(Codex)に聞きながらやるほうが良いです。
今回はサーバー用途なので、軽くて余計なものが入っていないUbuntu Server版を作ります。
ISOを公式から取って、SHA256で中身が壊れていないか検証します。
curl -L -o ~/Downloads/ubuntu-24.04.4-live-server-amd64.iso \
https://releases.ubuntu.com/24.04/ubuntu-24.04.4-live-server-amd64.iso
curl -L -o ~/Downloads/SHA256SUMS-ubuntu-24.04.4 \
https://releases.ubuntu.com/24.04/SHA256SUMS
cd ~/Downloads
shasum -a 256 -c SHA256SUMS-ubuntu-24.04.4 2>/dev/null | \
grep 'ubuntu-24.04.4-live-server-amd64.iso: OK'「OK」と返ってきたら、Macに32GBのUSBを挿してddで書き込みます。書き込み先のディスク番号(ここでは /dev/disk6)は diskutil list で必ず自分の環境のものを確認してください。間違えるとMac本体のディスクを潰します。
diskutil unmountDisk /dev/disk6
sudo dd if=~/Downloads/ubuntu-24.04.4-live-server-amd64.iso of=/dev/rdisk6 bs=4m conv=sync
sync
diskutil eject /dev/disk6② BIOSで3つだけ設定する
USBが出来たら、NASにHDMIでモニターを、USBにキーボードを挿します。電源を入れた直後にBIOSへ。入るキーはCtrl+F2でした。
- Ctrl+F2
DXP2800のBIOSはAMI製でした。MainタブにIntel N100、8192MB DDR5(4800MHz)、SPCC M.2 PCIe SSD 256GB が並んでいるのを確認できます。


AdvancedタブからWatchDog Settingsを開いて、Watch Dog Controlを「Disabled」にします。これはOS側で応答が止まったときに勝手に再起動する仕組みで、サーバーとして使うときは切っておきます。




続いてBootタブで、Boot Option #1にUSB Key(JetFlash Transcend 32GB)を選びます。インストールが終わったら戻すので、ここは一時的な設定です。


保存して再起動。F10で保存→Yesでいけました。
③ Ubuntu Serverをインストールする
USBから起動すると、systemdが立ち上がってきて、GRUBの選択画面になります。


ここから先はステップに分けます。
言語は英語のまま進めます。日本語表示には対応していないので、無理に変えるとレイアウトが崩れることがあります。


続いてインストーラの更新を聞かれます。今回は「Continue without updating」を選びます。理由は、後でOSが立ち上がってから apt full-upgrade で一気に新しくできるからです。




Ubuntu ServerとUbuntu Server (minimized) の2択。今回は Ubuntu Server を選びました。最小構成は本当に最低限しか入らないので、普通に使うならフルでいいです。


有線LAN(enp2s0)が認識され、Intel I226-Vの2.5GbE NICが見えます。DHCPでIPが自動で割り当てられました。家庭のルーター下なら基本このままでOK。




Proxyは空欄、ミラーはデフォルトの日本国内のサーバー(jp.archive.ubuntu.com)で「passed」と出るのを確認して進めます。




ここが一番神経を使うところです。「Use an entire disk」を選び、ディスクが SPCC_M.2_PCIe_SSD ... 238.474G になっていることを確認します。eMMC(29.2G)が選ばれていないかも合わせて目視。


今回はLVMも暗号化も使いません。UEFI+GPT+ext4のシンプル構成です。LVMのチェックを外して、ディスクは256GB SSD一択に。


次のサマリ画面で、USED DEVICES に SPCC_M.2_PCIe_SSD ... だけが入っていて、/boot/efi(fat32)と /(ext4, 237.4G)に分かれていることを確認します。eMMC側は AVAILABLE のままで未マウントなら安全です。


確認画面で「Confirm destructive action」と出ます。Continueを選ぶと戻れません。ここで 消去対象がSSDだけ である最終確認をしてから進みます。


名前・ホスト名・ユーザー名・パスワードを決めます。ホスト名は ugreen-nas、ユーザー名は user のような自分が覚えやすいものに。


Ubuntu Proは Skip for now。後から pro attach で有効化できるので、最初はスキップで十分です。


次のSSH画面で Install OpenSSH server を必ず有効 にします。これを入れ忘れると、後でMacから入れず、毎回HDMIモニターを繋ぐ羽目になります。


最後のFeatured server snapsは 何もチェックしない でOK。後から必要なものだけ入れた方が、無駄が出ません。


あとは待つだけ。「Installation complete!」が出たら再起動です。


再起動の途中で「Please remove the installation medium, then press ENTER」と出るので、USBを抜いてEnter。


無事に立ち上がると、見慣れたloginプロンプトが出ます。これでUbuntu Server 24.04.4 LTSのインストールは終わりです。





お疲れ様でした。
④ MacからSSHで入る
ここからはモニターもキーボードも要りません。Mac側から鍵で入って、あとは机に座ったまま全部やります。
まずNASがLAN内のどのIPに居るのか分からないので、ポート22(SSH)が開いている端末をスキャンします。家のサブネットが 192.168.x.0/24 なら、こんな感じ。
for ip in 192.168.x.{1..254}; do
(nc -G 1 -z "$ip" 22 >/dev/null 2>&1 && echo "$ip") &
done
wait候補が複数出たら、MACアドレスのベンダーを見て「Ugreen Group Limited」になっているのが本体です。あとは決めたユーザー名で入るだけ。
ssh user@192.168.x.x初回はパスワードで入ります。ログインすると、こんなMOTD(ログイン時の挨拶画面)が出ます。


アイドル状態でCPU温度が55℃、メモリ使用は3%、SSDは232GB中2.9%しか使っていません。N100は思った以上に余裕がありそうです。
毎回パスワードを打つのは面倒なので、Macの公開鍵を authorized_keys に登録します。Mac側で鍵があるか確認して、NAS側に追記する流れ。
# Mac側
test -f ~/.ssh/id_ed25519.pub && cat ~/.ssh/id_ed25519.pub
# NAS側(SSHで入ってから)
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo '<Macの公開鍵をここに貼る>' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keysこれでMacから鍵だけでSSHが通るようになります。ここから先、パスワード入力は基本ゼロ。
ついでにOSも一度きれいにしておきます。
sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt full-upgrade -y
sudo reboot⑤ Tailscaleで外出先からも触れるようにする
家の外からNASに入れるようにすると24時間マシンが本領発揮できます。今回は手軽さでTailscaleを選びました。ルーターのポート開放も、固定IPの契約も要りません。
公式のインストールスクリプトを叩いて、起動するだけです。
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --hostname=ugreen-nas表示されたURLをMacのブラウザで開いてログインすると、Tailscaleが 100.x.x.x 系のIPを割り当ててくれます。あとはTailscaleに入っている端末ならどこからでも、その内向きIPで普通にSSHできます。
ssh user@100.x.x.x最初は --ssh オプションを付けてTailscale SSHも有効にしてみました。ただTailscale SSHはACL(誰がどの端末に入っていいかのルール)で、ブラウザでの追加確認が出ることがあって、自分の使い方には合いませんでした。最終的にTailscaleはVPNとして使い、SSHは通常のOpenSSH鍵認証にしています。
sudo tailscale set --ssh=false⑥ sudoパスワード省略と停電からの自動復帰
遠隔から作業していると、sudoのたびにパスワードを聞かれるのが面倒です。管理用ユーザーだけパスワードを省略するように設定しました。
echo 'user ALL=(ALL) NOPASSWD:ALL' | \
sudo tee /etc/sudoers.d/90-user-nopasswd >/dev/null
sudo chmod 440 /etc/sudoers.d/90-user-nopasswd
sudo visudo -cf /etc/sudoers.d/90-user-nopasswdparsed OK と返れば成功です。書き方を間違えるとsudo自体が壊れるので、必ず visudo -cf で構文チェックしてください。
あと、停電したあと自動で立ち上がってほしいので、BIOSのPower Settingsで「Power Loss」を「Power On」に変えます。これはOSの設定では無理で、BIOS側だけで効きます。


Wake-on-LANも有効でした(Wake-on: g)。落ちたら起動する、寝てたら起こせる、の両方が揃った状態です。
sudo ethtool enp2s0 | grep -E 'Supports Wake-on|Wake-on|Link detected'実際の感想 省電力で静かな常時稼働マシンになった
立ち上げて何もしていない状態で、CPU温度55℃、メモリ使用3%、SSD使用2.9%、ロードアベレージ0.02。背面のファンが回っていますが、机の上に置いていてもほぼ気になりません。N100のミニPCを一台、机の隅に置いている感覚に近いです。
NAS用のガワに、ちゃんとしたLinuxサーバーが入ってて、外からも触れるのは新感覚。せっかくなので、もともとRaspberry Pi 5で動かしていたLINE OpenChat Bot「Tamami」をそのままここに移してきて、PiとNASで同じ条件のスピードテストまで取ってみました。
⑦ AI導入:LINE Bot「Tamami」をRaspberry Pi 5からNASに移す
常時稼働マシンの最初の用途として、もともとRaspberry Pi 5で動かしていたLINE OpenChat Bot「Tamami」を、UGREEN NAS上のUbuntu 24.04に移してきました。Tamamiは複数のオプチャを見て、Hermesというサイドカーのローカル推論APIに問い合わせて返信を作り、画像生成や定期同期まで抱えている、わりと重めの構成です。



Tamamiは個人の趣味で作っているアプリで公開はしていません。
もともとの構成はこんな形です。
LINEJS / Tamami
-> localhost の Hermes API :8642
-> provider / tools / memory
-> Tamami が LINE に返信移行後も、この構成自体は何も変えていません。変えたのは実行ホストだけです。
移行前: Raspberry Pi 5
移行後: UGREEN NAS DXP2800 / Ubuntu 24.04Dockerは挟まず、Ubuntuのuser systemdでそのまま動かしています。NAS側にもPiと同じスタックを揃えてから、Pi上のTamamiとTamami-Hermesの実行環境、設定、runtime、Hermesの.hermesデータをNASに同期しました。
⑧ Raspberry Pi 5 vs UGREEN NAS:スピードテスト
移行が落ち着いたところで、PiとNASで同じ条件のテストを回しました。実運用に近い範囲で、LINEへの投稿を伴わないテストにしています。測ったのはこのあたりです。
- Tamami の構文チェック(
pnpm check) - Tamami のテスト一式(289件)
- Hermes のテスト一式(28件)
- Hermes config コマンドの起動
- Node.js のCPUベンチ
- Hermes API の
/health応答
比較した環境
ソフトウェアのバージョンはほぼ揃え、違いはCPUアーキテクチャ(ARM Cortex-A76 vs x86_64 Intel N100)だけ、という状態にしました。
【Raspberry Pi 5】
OS: Debian GNU/Linux 13 trixie
CPU: Cortex-A76 / 4 cores
RAM: 7.9 GiB
Node.js: v22.22.2
pnpm: 10.30.1
Hermes Agent: v0.13.0
Python: 3.11.15【UGREEN NAS DXP2800】
OS: Ubuntu 24.04.4 LTS
CPU: Intel N100 / 4 cores
RAM: 7.5 GiB
Node.js: v22.22.2
pnpm: 10.30.1
Hermes Agent: v0.13.0
Python: 3.11.15結果一覧
| テスト内容 | Raspberry Pi 5 | UGREEN NAS | 差 |
|---|---|---|---|
Tamami pnpm check | 2.01秒 | 1.87秒 | NASが約7%速い |
Tamami pnpm test 289件 | 2.29秒 | 1.88秒 | NASが約18%速い |
| Hermes test 28件 | 0.31秒 | 0.24秒 | NASが約23%速い |
| Hermes config 起動 | 0.55秒 | 0.41秒 | NASが約25%速い |
| Node.js CPUベンチ | 1.14秒 | 0.69秒 | NASが約40%速い |
Hermes /health | 約0.9〜1.0ms | 約0.7〜1.2ms | ほぼ同等 |
Tamamiのテスト(289件)
Raspberry Pi 5: 2.29秒
UGREEN NAS: 1.88秒NASのほうが約18%速い結果でした。この差は、Bot返信1回ごとにそのまま体感できるほど大きいわけではありません。ただ、テスト実行、再起動、開発中の確認、複数処理が重なる場面ではNASのほうが余裕があります。
Hermesのテスト(28件)
Raspberry Pi 5: 0.31秒
UGREEN NAS: 0.24秒こちらもNASが約23%速い結果でした。HermesはTamamiの返信生成、ツール利用、メモリ参照などのサイドカーとして動いているので、ここが少しでも軽いとBot全体の安定感にも効いてきます。
Node.js CPUベンチ
Raspberry Pi 5: 1.14秒
UGREEN NAS: 0.69秒差が一番大きかったのがNode.jsのCPUベンチで、NASのほうが約40%速い結果でした。TamamiはNode.jsで動いているため、この差はわりと重要です。通常の返信ではネットワーク待ちやLLM API待ちのほうが支配的ですが、ログ処理、画像/動画生成前後の処理、複数チャットの監視、JSONLの読み書きなどではCPUの余裕が効きます。
Hermes APIの/health応答
Raspberry Pi 5: 約0.9〜1.0ms
UGREEN NAS: 約0.7〜1.2msHermes APIの/healthは、どちらもほぼ1ms前後で、ここはほぼ差がありません。実際の返信では、Hermes API自体のローカル応答よりも、LLM API、検索、メモリ、画像生成などの外部処理のほうが時間を使います。
⑨ 体感と移行後の稼働状態
単純なメッセージ返信だけなら、Raspberry Pi 5でも十分動きます。それでも今回のように、Tamamiが複数のオプチャを見て、Hermes API、メモリ、画像生成、動画生成、定期同期まで抱える構成だと、NASのほうが安心感があります。
差を感じやすいポイント
- テスト実行が速い
- Node.js 処理に余裕がある
- systemd 運用が安定している
- ストレージ容量に余裕がある
- NAS なので常時稼働前提にしやすい
- Pi を他用途に戻せる
後編まとめ
後編をやってみて、UGREEN DXP2800はNAS専用機ではなく、省電力なLinuxマシンとしても十分使えるということがわかりました。BIOSが普通のAMI製で、USBブートも素直に通る。M.2 SSDだけにOSを入れれば、内蔵のUGOS領域は残せます。後から「やっぱりNASに戻したい」と思えば、SSDを抜いてUGOSで起動すればいいだけ。
さらに、もともとRaspberry Pi 5で動かしていたLINE Bot「Tamami」をそのまま乗せて、Piと同条件でスピードテストまで取りました。ざっくりまとめるとこんな結果です。
- 軽い health check(
/health)はほぼ同等 - Tamami/Hermes のテストは NAS が約18〜25%速い
- Node.js の CPU 処理は NAS が約40%速い
LINE Botの返信そのものは外部LLM API待ちも多いので、毎回40%速くなるわけではありません。それでも、常時稼働、複数チャット監視、画像/動画生成、ログ処理、定期同期まで含めた運用では、UGREEN NASのほうが余裕があります。Raspberry Pi 5でも動くけど、本番Botを長く安定運用するならUGREEN NASのほうが向いている、というのが今回の結論です。



N100+8GBメモリ+2.5GbE+HDMIで、Pi 5より余裕があるAIマシンが手元にある安心感はかなり強い。



Tamamiの本番ホストはこれでしばらく回します。
開封・SSD 取り付け・メモリ増設口・初回セットアップは前編にまとめています。
👈 前編|開封・セットアップ編を読む
クーポンコード TAMACION で5%OFF‼️









コメント