終於搞定 Ubuntu Server 15.10 @@
摘要提示
- Docker 與 NAS: 原為準備 ASP.NET 5 試玩 Docker,進而把部落格與反向代理搬到 NAS,發現 NAS 資源有限。
- 另建 Docker 環境: 為降低 NAS 壓力,決定另外打造可長開省電的 Docker 主機。
- 舊筆電再生: 以報廢前的 Acer Aspire 5742Z 改造成常駐伺服器使用。
- 硬體規格: 15.6 吋螢幕(已裂)、320GB HDD、4GB RAM、Pentium P6200。
- 省電與電池優勢: 舊 NB 當 Server 省電,電池可當迷你 UPS 撐關機。
- 安裝挫折(工具誤用): 首支開機 USB 僅支援 net install 且網卡未驅動,導致安裝卡關。
- 發行版嘗試失敗: 試 Ubuntu 12.04/14.04 LTS、CentOS 均遇 CDROM 內容不對或桌面卡死。
- 關鍵解法: 拔除無線網卡,改裝 Ubuntu 15.10,安裝終於順利完成。
- 服務設定: 之後設定 SSH、固定 IP、Samba 網芳,查指令即可搞定。
- 後續計畫: 先記錄里程碑與照片,ASP.NET 5 部分改日再戰。
全文重點
作者原本僅想在 NAS 上用 Docker 為 ASP.NET 5 做準備,意外發現 Docker 好用到將原本放在 GoDaddy 的部落格遷回 NAS 並架設反向代理,讓 NAS 的 Docker 成為正式用途。然而 NAS 硬體(DS-412+、Atom D2700 雙核、1GB RAM)有限,負載令人擔心,遂決定另建一台可長時間低功耗運作、隨時可用的 Docker 主機。
為此作者挑中一台原打算報廢的 Acer Aspire 5742Z 舊筆電:螢幕已裂但不影響當伺服器使用;拆掉螢幕還能省空間;NB 擁有省電優勢,且電池可在斷電時短暫撐住當小型 UPS。硬體規格為 320GB HDD、4GB RAM、Pentium P6200。
真正的難題落在作業系統安裝。首先誤用開機 USB 製作工具,做出來的碟只支援 net install,偏偏網卡驅動未就緒導致安裝無法繼續;更換工具後才避開此雷。接著又嘗試 Ubuntu 12.04 LTS、14.04 LTS、CentOS,均在安裝過程報 CDROM 內容不對,即使重新下載、校驗 MD5 皆無解;改裝 desktop 版亦在進入桌面後卡死。最後找出關鍵:拔掉無線網卡,改裝 Ubuntu 15.10,安裝終於成功。
系統安裝完成後,設定 SSH 伺服器、固定 IP 與 Samba 網路分享雖花時間查指令,但屬例行工作,逐步完成。作者以雙螢幕(其中一支直立)輔助安裝與查資料,並以照片記錄過程。結尾處打趣地說用微軟隨身碟裝 Linux,又要跑 Microsoft 的 ASP.NET 5,顯得既衝突又有趣。ASP.NET 5 的實作留待數週後再說。本篇作為成功建置 Ubuntu Server 15.10 的里程碑記錄與經驗備忘。
段落重點
動機與背景:從 NAS 玩 Docker 到正式上線
作者為準備 ASP.NET 5,在 NAS 上試玩 Docker,結果越玩越上手,乾脆把原先放在 GoDaddy 的部落格搬回 NAS,並順勢架設 reverse proxy,讓 NAS 的 Docker 轉為正式服務用途。因 NAS 主機(DS-412+)硬體受限,ATOM D2700 雙核與 1GB RAM 容量有限,跑幾個容器就擔心資源吃緊。為避免壓垮 NAS,同時希望有個 24 小時可用、低維護且省電的環境,於是決定另外打造一台專門玩 Docker 的主機。
舊筆電規格與優勢:Acer Aspire 5742Z 再就業
剛好家人有台欲報廢的 Acer Aspire 5742Z,經整理後化身為常駐伺服器。其規格包含 320GB HDD、4GB RAM、Intel Pentium P6200,雖不新但足以應付 Docker 測試與輕量服務。筆電螢幕本已裂開,直接拆除反而更省空間;外接螢幕與鍵盤即可操作。使用舊 NB 的好處在於省電、安靜,且內建電池可在斷電時作為迷你 UPS,爭取幾分鐘完成關機,符合長開且低維運的需求。
安裝歷程與問題:工具、驅動與發行版的坑
安裝一開始就遇到多重阻礙。首先使用了不合適的 USB 開機工具,製作出的開機碟僅支援 net install,安裝程式要求網路連線,但系統又抓不到網卡驅動,導致無法繼續。雖查到可跳過步驟的說明,但實作仍受阻,最後更換另一款 USB 製作工具才避免此問題。接著嘗試 Ubuntu 12.04 LTS、14.04 LTS、CentOS 等版本,安裝過程反覆出現「CDROM 內容不對」錯誤;作者多次重下載並校驗 MD5 皆正確,仍無解。改裝 desktop 版雖能進入桌面,卻會在桌面載入後卡住,不再回應,進度停滯。
關鍵解法與系統設定:拔無線網卡、改裝 Ubuntu 15.10
最終轉機來自硬體調整:直接拔除無線網卡,並改用 Ubuntu 15.10 版本重裝,安裝流程終於順利完成。安裝後的環境設定包含 SSH server 啟用、設定固定 IP、以及 Samba 網路分享,屬於常見伺服器基礎作業,雖需花時間查詢指令與配置,但循序完成並未再遇到大問題。整體流程以雙螢幕(其中一台直立以便閱讀文件)輔助,雖一度因為臨時接上 D-SUB 而懶得調整導致操作不便,但終究完成任務。
結語與雜感:里程碑與後續計畫
完成基本環境後,作者以照片記錄成果,並自嘲以微軟隨身碟裝 Linux,又要在 Linux 上跑 Microsoft 的 ASP.NET 5,頗具反差趣味。本篇並未詳細列出所有技術步驟,僅將細節保存在個人筆記中;對熟悉 Linux 的人而言,這些問題或許只是小兒科。此文主要作為成功建置 Ubuntu Server 15.10 的里程碑與過程回顧,而 ASP.NET 5 的實作與部署則留待未來幾週再進一步分享。
資訊整理
知識架構圖
- 前置知識
- 基本 Linux 命令列操作與伺服器安裝流程
- BIOS/UEFI 開機設定與 USB 開機碟製作概念
- 基礎網路知識(固定 IP、網卡驅動、SSH)
- Docker 基礎與容器化服務概念
- 簡單檔案分享(Samba)與反向代理概念
- 核心概念
- 舊筆電再利用為低功耗常開伺服器:以 Acer Aspire 5742Z 改造為 24/7 Docker 主機,電池兼具簡易 UPS
- Ubuntu Server 安裝與相容性坑:USB 開機工具差異、無線網卡驅動問題、版本相容性(12.04/14.04/CentOS 失敗,15.10 成功)
- 網路與遠端管理基本盤:SSH、固定 IP、Samba 檔案分享,支撐後續 Headless 管控
- NAS 與自架服務的取捨:NAS 資源有限,外接一台 Docker 引擎分擔正式服務(部落格、反向代理)
- 容器化應用的目標:為 ASP.NET 5 開發測試與部署預作環境
- 技術依賴
- ASP.NET 5(應用)依賴 Docker(容器)依賴 Ubuntu Server(作業系統與核心)
- 反向代理、部落格服務(應用)依賴 Docker 與穩定網路(固定 IP、網卡驅動)
- SSH/Samba(管理與檔案分享)依賴正確網路設定
- USB 安裝流程依賴可靠的開機碟工具與硬體驅動相容性(特別是無線網卡)
- 應用場景
- 自架部落格與家庭服務(反向代理、檔案分享)
- 個人開發/測試環境(Docker 容器跑 ASP.NET 5 等)
- 低功耗常開家庭實驗室(Home Lab)
- 成本敏感的輕量服務遷移(把 NAS 正式服務部分外移到更可控環境)
學習路徑建議
- 入門者路徑
- 準備硬體與評估:選擇可常開的舊筆電/小型機,確認 RAM/CPU 足夠
- 製作正確的 USB 開機碟:選用相容的工具,驗證映像檔雜湊值
- 安裝 Ubuntu Server 並完成基本設定:使用者、時區、磁碟分割
- 建立遠端管理:啟用 SSH、設定固定 IP
- 進階者路徑
- 處理驅動與相容性:辨識安裝中斷點,必要時移除問題硬體(如無線網卡)
- 檔案與網路服務:設定 Samba、調整防火牆與網路介面
- 安裝 Docker 與基礎容器實作:拉取影像、建立容器、資料卷與網路
- 反向代理入門:以容器化 Nginx/HAProxy 實作服務入口
- 實戰路徑
- 遷移既有服務:將部落格等服務容器化並從外部主機(如 NAS)遷入
- 建立開發到部署流程:針對 ASP.NET 5 建立映像、開發測試與部署
- 運維與優化:監控資源、限制容器資源、規劃備援(利用筆電電池作簡易 UPS)
- Headless 化:拔除螢幕後全程以 SSH 管理,精簡系統服務以省資源
關鍵要點清單
- 舊筆電再利用:以低成本打造 24/7 伺服器,電池可當簡易 UPS (優先級: 高)
- NAS 與外接主機分工:將正式服務與實驗環境分離以緩解 NAS 資源壓力 (優先級: 高)
- USB 開機工具選擇:不同工具影響是否能正常安裝與驅動載入 (優先級: 高)
- 網卡驅動相容性:無線網卡可能導致安裝卡關,必要時拆除或禁用 (優先級: 高)
- 版本相容性嘗試:多版本發行版可能表現不同,選擇實測可行者 (優先級: 中)
- 驗證映像檔:下載後比對 MD5/雜湊以排除檔案損毀因素 (優先級: 中)
- SSH 遠端管理:安裝後優先啟用以便無頭運維 (優先級: 高)
- 固定 IP 設定:確保服務可被穩定存取與反向代理正確轉發 (優先級: 高)
- Samba 檔案分享:方便局域網傳輸與部署檔案 (優先級: 中)
- Docker 導入:以容器提升部署效率與隔離性 (優先級: 高)
- 反向代理架設:集中入口、管理多服務與憑證 (優先級: 中)
- 資源監測與限制:筆電/舊硬體資源有限,需管控容器資源 (優先級: 高)
- Headless 營運:拆除螢幕、純 SSH 管理以減少能耗與干擾 (優先級: 中)
- 故障排查流程:從工具、驅動、硬體模組逐一排除 (優先級: 中)
- 服務遷移規劃:從外部託管(如 GoDaddy)遷回自管環境的步驟與風險控管 (優先級: 中)