前言:原先在 synology 主機中透過 VirtalMachineManger (VMM) 套件安媴的 Ubuntu v18 版本,對於 node 應用上會需要到 v18 以上,但透過 nvm 所載下的 node v18 版本,可以透過 nvm use v18 切換,不過執行查看 node 版本指令 node -v 時,會回應出錯誤訊息 node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node)。
Ubuntu v18 版本確能支援到 v16 版,node 上到 v18 版確無法透過 nvm 切換使用,上網爬了一些處理方法,都發現這是舊系統不支援 GLIBC_2.28 的問題,在 Ubuntu 之後新的版本確沒有問題,為了請環境可以運行上 node v18 以上,只好花點時間安裝更新的 Ubuntu 在 synology 的 VMM 之中,也將有找到與處理的問題整理在這篇文章之中。
VMM 下載與安裝 Ubuntu 系統
安裝過程就不多說明了,操作設定的話可以參考 Youtube 影片如下
不過提醒在 VMM 的瀏覽器連線,v20.04, v22.04, 二個版本最好是選用預設的英文語系,如果選中文語系會讓系統介面內容過長,最後點按操作下一步的按鈕會點是不到。
下要載其他不同的版本,可以至 ubuntu 官網 – These releases of Ubuntu are available 下載。
在 2024/09 的時間,現有 ubuntu 的 TLS 版本已到 24.04.1,在發此文時已安裝過 ubuntu v20.04, v22.04, v24.04 版本。
ubuntu 系統完成完裝後,設定區網固定 ip
設定 > 網路 > 有線網路 > 設定 (小齒輪) > IPv4 > IPv4方法 > 手動
1 2 3 4 5 6 7 8 9 10 11 | 位址 192.168.0.bbb 子遮罩 255.255.255.0 閘道 192.168.0.aaa DNS 192.168.0.aaa |
- 192.168.0.aaa:路由器 IP,在 DNS 設定一定要填入不然無法對到外網。
- 192.168.0.bbb:指定主機運行在區網中的固定 IP。
ubuntu 系統增加 ssh-server 套件功能
v20.04, v22.04, 與先前版本一樣,讓外部的裝置使用 ssh 連線連進 ubuntu 主機,只需要多加入 ssh-server 與確定 ssh 連線就好,原則上只需要 sudo apt-get install openssh-client 指令裝完與啟用套件就可以,啟用方式可參考 synology使用VirtalMachineManger套件安裝Ubuntu(v20.04)記錄 文章。
找了一些設定方式,但針對先前的問題都沒改善,不過對於 ubuntu 設定的部份多一些了解,列出如下:
但到了安裝 v24.04 版本時,是可以使用只單純安裝ssh-server 套件 的方式,讓外部裝置透過 ssh 連進 ubuntu v24.04 的系統,但連一段時間之後會下多個指令時,會發現回應出來的訊息很卡很慢,而且也有過因為等回應過久直接在裝置中斷 ubuntu v24.04 的連線,上網找了不少處理方式都無效,最後參考了下面的作法才決解卡頓與沒回應斷線問題。
參考文章:Quick Guide to Enabling SSH on Ubuntu 24.04
主要的差別,是直接安裝 ssh-server 時會將相關的其他套件 (ncurses-term openssh-server openssh-sftp-server ssh ssh-import-id),另外也針對防火牆設定 SSH 連線,將整個加入到主機之中運行因此才解決問題,指令如下列出:
1 2 | $ sudo apt update $ sudo apt upgrade |
1 | $ sudo apt install ssh |
1 | $ sudo systemctl enable ssh |
1 2 3 4 | $ sudo systemctl status ssh # 如果該服務沒有運行,可以使用以下命令啟動 $ sudo systemctl start ssh |
1 2 3 4 | $ sudo ufw allow ssh # 下面這個指令沒下,先前指令下完就會直接生效 $ sudo ufw enable |
1 | $ ssh <userName>@<192.168.0,bbb> |