緯育 2026-0319

出自頂極製作所
於 2026年3月19日 (四) 03:05 由 Kuyohong留言 | 貢獻 所做的修訂 →‎伺服器服務與防火牆

LINUX 課程大綱

本課程以系統化方式建立對 Linux 的完整認識與實務能力,涵蓋過去、現況與未來趨勢,並強調其在現代設備與服務中的核心地位。課程以半天一主題進行:上午導入生態與觀念、安裝並體驗桌面版;下午安裝兩套主流伺服器(Ubuntu 與 CentOS),完成帳號登入與網路連通,若時間不夠至少完成一套。 後續主題延伸:

  • 指令基礎
  • 文字編輯器
  • 網路設定
  • 套件安裝
  • 檔案權限(預設/延伸/特殊/ACL)
  • 帳號與群組
  • 磁碟與檔案系統(分割、格式化、掛載、LVM 擴容與資料遷移)
  • 系統開機流程(GRUB、init、Kernel)
  • 在無圖形介面環境的系統管理(主態檔變更、程序管理、資源監控)
  • 文字網路工具(上傳下載、文字瀏覽器)
  • 排程與自動化(單次與週期)
  • 以及常見伺服器服務的安裝與管理(Web、FTP、rsync、SSH、NFS)。

課程亦對比 Linux 與 Windows 維運心智模型,指出 Linux 架構與維護的清晰與簡潔,並提醒在正式環境禁止冒進更動開機流程與關鍵設定。

Linux 的重要性與普及

  • 產業採用度持續攀升,伺服器環境由傳統 Unix 轉向 Linux,比例已超過一半,未來只會更高。
  • 消費與智慧設備高度仰賴 Linux:Android 手機、生態系各品牌智慧裝置、家用視訊監控器、智慧門鎖與燈泡等。
  • 家用路由器普遍以 Linux 為核心,雖僅提供 Web 管理介面,但內部服務堆疊與常見網頁伺服器一致。
  • 桌面版 Linux 已能對應多數 Windows 常用軟體(會議軟體、瀏覽器含 Edge 等),差異逐漸集中在作業系統層面。

發行版生態與就業對應

  • 主軸聚焦 Ubuntu 與 CentOS,兩者合計使用比例達七成以上;網通設備導向常用 CentOS,研發導向常用 Ubuntu。
  • 具備雙版本經驗可提升面試應對力;理解兩者共通性與差異,可延伸到其他發行版。
  • 教學策略:差異大則雙版示範,相同則單版示範、跨版練習;動手操作為主。

無圖形介面環境的操作與系統管理

  • 主態檔變更與常見維運:時區與時間設定、程序查詢與終止、記憶體與硬體資源監控。
  • 純文字介面操作習慣與便利工具:alias、link、帳號間訊息傳遞;熟練後文字操作更高效。
  • 身分驗證(PAM)概念與示範:理解「誰來驗證」的機制與基本配置。
  • 文字網路工具:檔案上傳下載、純文字瀏覽器;適用於高安控且無 GUI 的受限環境。

指令、編輯器與網路設定

  • 指令基本架構與核心命令:目錄切換、檔案/目錄建立刪除、複製、搬移/改名;掌握 stdin/stdout/stderr、重導向與管線。
  • 文字編輯器在設定檔管理中的角色:以兩套編輯器完成主機名稱與固定 IP 設定,對比 Ubuntu/CentOS 操作差異。
  • 套件安裝的三種方式:圖形化商店與兩類指令途徑;跨版指令已整理到「只差一個字」等級;理解來源與認證。

檔案權限體系(預設、延伸、特殊、ACL)

  • 預設 RWX 權限為通用基礎,可直接以權限判斷目錄可進入與檔案可執行性。
  • 延伸屬性提供更細緻控制;特殊權限(setuid/setgid/sticky)在特定情境生效;ACL 允許多使用者共享存取。
  • 教學分段:預設/延伸與特殊/ACL 分開講解,降低混淆。

帳號與群組管理

  • 新增、刪除、修改、停用與授權;切換帳號與群組。
  • 帳號與群組資料儲存於數個文字檔,受權限保護但可讀結構,利於維運與災難復原。
  • 對比 Microsoft 權限複雜度,建立跨平台心智模型。

磁碟、檔案系統、掛載與 LVM

  • 分割/格式化與檔案系統選擇:Windows(FAT32/NTFS/exFAT)、Linux(ext 系列、XFS 等)、macOS(APFS)。
  • 掛載點導向的路徑模型對比 Windows 槽號。
  • LVM 擴容與資料遷移:新增硬碟加入容量、不中斷服務移轉資料、拔除舊碟;操作可簡化為少量指令。

系統開機流程與風險

  • 三大組件:GRUB、init、Kernel;說明作用與流程,並提醒虛擬機可安全試驗。
  • 禁止在客戶環境冒進更改開機流程或關鍵設定,避免系統無法開機。

伺服器服務與防火牆

  • 服務安裝與管理:Web、FTP、rsync、SSH、NFS 等,以達成目標功能為教學重心。
  • 防火牆學習以原理為主、指令次之;在專門課程中進一步安裝與設定。

2026-0319-01.png

作業系統比較與歷史

  • Windows 作業系統的演進與特性
    • 講師回顧Windows發展史,從極其成功的Windows 95(曾佔全球九成市佔率),到介面風格延續至Windows XP。
  • Linux 與蘋果 macOS 的關係
    • 蘋果的作業系統macOS是基於BSD,而非Linux。
    • 由於Linux與BSD都在模仿UNIX系統,它們從目錄架構到指令用法都幾乎完全相同,因此蘋果電腦可作為學習Linux的工具。
  • 蘋果電腦的市場定位與硬體
    • 蘋果電腦的全球市佔率長期偏低(約5%-10%),其伺服器產品市佔率也不高。
    • 近期推出的Mac mini適合做為學習機,但不適合大型遊戲或AI運算。

Linux 的定義、優點與哲學

  • Linux 的「免費」與「自由」概念
    • Linux是自由軟體,社群更強調其「自由」(Free)而非「免費」。核心在於「四大自由」:自由複製、自由使用、自由修改、自由散佈。
  • Linux 的優點
    • 優點一:系統狀態與資訊完全公開:系統狀態透明,病毒和木馬難以隱藏。任何執行的程序都會被清楚顯示。
    • 優點二:所有狀態與動作都會被記錄:系統會詳細記錄所有事件,如使用者登入、服務操作、應用程式異常等,駭客需清除日誌才能隱藏蹤跡。
    • 優點三:系統穩定,無需頻繁重開機:Linux記憶體管理良好,非常穩定,除非更新核心,否則無需重開機。
    • 優點四:核心與使用者介面的分離:Linux核心與使用者介面(如Ubuntu桌面)相對獨立,介面當機不影響核心穩定。
    • 優點五:卓越的整體效能:全球頂尖的高效能運算伺服器中,超過八成運行Linux系統。
    • 優點六:技術創新的前沿:Linux常率先應用最新技術(如暗黑模式、AI),相較下蘋果和微軟反應較慢。

Linux 的核心哲學

  • 工程師導向與技術優先:重視新技術與應用的實現,而非商業目的。
  • 一致性與可辨識性:不同發行版(如CentOS、Fedora)之間操作體驗差異不大,具有高度一致性。
  • 沒有消息就是好消息:當指令成功執行時,系統不會顯示任何成功訊息,只會跳到下一行命令提示符。這種「沉默是金」的特性源於 "Talk is cheap. Show me the code." 的精神,強調執行效率。

Linux 對初學者的挑戰與迷思

  • 操作介面與指令的迷思
    • 介面不友善:習慣Windows的使用者初見Linux圖形介面會感不適,這需要時間熟悉,類似於初次接觸macOS。
    • 需要記憶大量指令:Linux現有四千多個指令,反映其功能強大,但並非所有操作都需要指令。
    • 複雜的目錄架構:初學者認為Linux目錄複雜,但講師指出Windows將軟體安裝在多處(如Program Files、AppData),結構更為複雜且不易清理。
  • 軟硬體相容性問題
    • 商業軟硬體廠商優先支援市佔率高的Windows,導致Linux用戶在使用最新硬體(如頂級顯示卡)時可能因缺乏驅動程式而遇到問題。建議選擇稍舊一些的硬體以獲得更好相容性。
  • 系統回饋與錯誤訊息
    • Linux在出錯時可能直接顯示相關程式碼,對非開發者難以理解。相較下,Windows錯誤訊息較簡潔,但可能需要付費聯繫客服。
  • 獨立學習與問題解決
    • Linux使用者需學習獨立解決問題,如透過指令安裝軟體,並在出錯時查找系統日誌(log)分析錯誤訊息。

自由軟體概念與衍生產品

  • 自由軟體的四大自由
    • 自由複製:可以自由地複製軟體。
    • 自由使用:可以自由地使用軟體。
    • 自由修改:可以自由地修改軟體源碼。
    • 自由散佈:可以自由地散佈軟體。
  • 自由軟體的使用限制與風險
    • 不能將修改後的自由軟體源碼隱藏,並聲稱是自己的產品營利。
    • 使用自由軟體二次開發的產品,其本身也必須公開源碼,這曾導致台灣廠商一公開源碼,對岸市場就出現大量功能雷同的「公版」產品。

容器技術的發展 (Docker & Kubernetes)

  • Docker 的起源與核心概念
    • Docker源於一家公司將Linux中繁瑣的容器啟動步驟用Go語言寫成腳本,以簡化流程。後將此工具開源而爆紅。
    • Docker的核心價值在於將Linux既有的技術進行封裝,提供簡單的指令(如docker run)來啟動和管理應用程式。
  • Kubernetes (K8S) 的角色
    • K8S(因K和S之間有8個字母得名)是一個容器管理軟體,用於管理眾多不同來源的容器(如Docker、AWS容器等)。
    • 學習K8S時,仍需了解底層容器技術(如Docker)的指令,以便進行問題排查。

主流作業系統分類

  • Windows
    • 個人版: 如Windows 10, 11等。
    • 伺服器版: 如Windows Server系列。
    • 開發版: Windows Core。
  • UNIX (純正血統)
    • 目前已不多見,主要由IBM的AIX和HP的HP-UX維護。
  • BSD (Berkeley Software Distribution)
    • 常見的有FreeBSD、NetBSD、OpenBSD。macOS的底層基於BSD發展而來。
  • Linux
    • 擁有數以千計的衍生版本,對初學者易造成選擇困難。
    • 第一大類 (Red Hat 及其衍生版):
    • Red Hat: 商業版,需付費訂閱。
    • CentOS: 免費版,內容源自Red Hat,在台灣伺服器市場廣泛使用。
    • Fedora: 常被用於教學。
    • 第二大類 (Debian 及其衍生版):
    • Debian: 穩定且歷史悠久的發行版。
    • Ubuntu: 本次課程使用的系統,基於Debian開發。
    • SteamOS: 遊戲掌機Steam Deck的系統,早期基於Debian,3.0後改為基於Arch Linux。
    • Arch Linux: 另一個重要的Linux發行版。

2026-0319-02.png