OS 初始化腳本
本頁說明支援的作業系統版本、映像來源,以及新 VM 在初始化階段執行的 sh/<os>_<version>.sh。
支援版本與映像
os |
version |
映像來源 | 支援至(sh/pdvm_os.json) |
|---|---|---|---|
debian |
11 |
cloud.debian.org bullseye generic amd64 |
June 2026 |
12 |
cloud.debian.org bookworm generic amd64 |
June 2028 | |
13 |
cloud.debian.org trixie generic amd64 |
June 2030 | |
ubuntu |
20.04 |
mirror.twds.com.tw ubuntu-cloud-images server cloudimg amd64 |
April 2030 |
22.04 |
同上 | April 2032 | |
24.04 |
同上 | April 2036 | |
rockylinux |
8 |
dl.rockylinux.org GenericCloud-Base latest x86_64 |
May 2029 |
9 |
同上 | May 2032 | |
10 |
同上 | May 2035 |
其他組合在 getting OS image 步驟以 unsupported ... version 失敗。
執行方式
VM 第一次可 SSH 登入後,主節點以 Cloud-Init 使用者身分登入 VM 並執行:
curl -fsSL http://<NODE_{MAIN_NODE}>:<PORT>/sh/<os>_<version>.sh | sudo bash -s <VM_ROOT_PASSWORD>
VM_ROOT_PASSWORD 為空時不帶參數,腳本改用內建值 0123456789。腳本輸出逐行轉成 SSE 事件,任一指令失敗(set -e)即視為 SSH 初始化失敗並清除 VM。
腳本內容
| 動作 | Debian | Ubuntu | Rocky Linux |
|---|---|---|---|
| 設定 root 密碼 | ✓ | ✓ | ✓ |
停用 passwd/chpasswd 並鎖定密碼期限 |
✓ | ✓ | ✓ |
| 切換套件來源 | ftp.tw.debian.org |
tw.archive.ubuntu.com |
啟用 EPEL |
升級系統、安裝常用工具與 qemu-guest-agent |
✓ | ✓ | ✓ |
語系 en_US.UTF-8 |
✓ | ✓ | — |
時區 Asia/Taipei |
✓ | ✓ | ✓ |
| sysctl:忽略 ICMP echo、提高 inotify 上限 | ✓ | ✓ | ✓ |
建立 2G /swapfile |
✓ | ✓ | ✓ |
安裝登入資訊腳本 sysinfo |
✓ | ✓ | ✓ |
清除套件快取、/tmp 與日誌 |
✓ | ✓ | ✓ |
腳本完成後服務會重開 VM 以套用 GRUB 與核心參數。
客製化
直接修改 sh/ 下對應檔案即可,服務每次都以靜態檔案即時提供,不需重啟。新增版本則需同時修改 internal/service/osImage.go 的支援清單與映像網址。