進階學習路徑地圖
已掌握基礎操作、Shell 腳本、服務部署?接下來的進階領域分為四大維度:
一、核心與系統程式設計
- 核心模組開發:字符/塊/網路設備驅動、模組參數、sysfs/proc 介面、中斷處理、併發控制 (spinlock, mutex, RCU)。
- 核心子系統深入:調度器 (CFS, EEVDF)、記憶體管理 (SLUB, mmap, page cache, swap)、VFS 與文件系統 (ext4, XFS, Btrfs)、網路協議棧 (TCP/IP, XDP, eBPF)、裝置驅動模型 (kobject, sysfs, udev)。
- 工具鏈:GCC/Clang 優化旗標、Linker Scripts、glibc/musl 差異、static/dynamic linking、sanitizers (ASan, UBSan, TSan)。
- 推薦資源:《Linux Kernel Development》(Robert Love),《Understanding the Linux Kernel》(Bovet & Cesati),LWN.net 核心週刊,Kernel Newbies,Linux Kernel Mailing List (LKML)。
二、效能分析與調優
- 觀測工具:perf (CPU 週期、快取未命中、分支預測)、eBPF/BCC/bpftrace (動態追蹤)、ftrace、SystemTap、vmstat/iostat/mpstat/pidstat、sar、netstat/ss、nethogs、iftop。
- 調優維度:
- CPU:任務綁核、隔離核心、調度策略 (SCHED_FIFO/RR/DEADLINE)、中斷親和性。
- 記憶體:HugePages、Transparent Huge Pages (THP) 調整、NUMA 親和性、oom_killer 調整、zswap/zram。
- I/O:I/O 調度器 (none/mq-deadline/bfq)、blk-mq、NVMe 多佇列、文件系統掛載參數 (noatime, discard)、RAID/ LVM 條帶化。
- 網路:TCP 擁塞控制 (BBR, CUBIC)、RSS/RPS/RFS/XPS、TC 佇列規則、DPDK/AF_XDP 繞過核心。
- 基準測試:sysbench、fio、iperf3、netperf、specjbb、OLTPBench、Phoronix Test Suite。
- 推薦資源:《Systems Performance》(Brendan Gregg)、《BPF Performance Tools》、Netflix Tech Blog、Facebook Engineering、Red Hat Performance Tuning Guide。
三、分散式系統與雲原生
- 容器技術:Docker/Podman/containerd、CRI-O、Buildah、Skopeo、镜像規範 (OCI)、多階段建構、安全掃描 (Trivy, Syft)。
- 編排平台:Kubernetes (kubeadm, k3s, kubespray, OpenShift)、Helm/Kustomize、Operator 模式、CRD、Service Mesh (Istio, Linkerd, Cilium)。
- 可觀測性:Prometheus + Grafana、Loki、Tempo、OpenTelemetry、eBPF 觀測 (Cilium Hubble, Pixie)。
- 服務發現/配置:Consul、etcd、CoreDNS、ExternalDNS、Vault。
- 推薦資源:Kubernetes The Hard Way、CNCF Landscape、KubeCon 論文、《Kubernetes Up & Running》、《Designing Data-Intensive Applications》。
四、安全與合規
- 核心安全:LSM (SELinux, AppArmor, Smack, TOMOYO)、Landlock、seccomp-bpf、Kernel Self-Protection (KPTI, KASLR, FG-KASLR, CET, Shadow Stacks)、模組簽名、鎖定模式。
- 系統加固:CIS Benchmarks、STIG、Lynis、OpenSCAP、systemd hardening (ProtectSystem, PrivateTmp, NoNewPrivileges)、不可變基礎設施 (Flatcar, Bottlerocket, Talos)。
- 供應鏈安全:SBOM (Syft, SPDX)、SLSA、Cosign/Sigstore 簽名驗證、Reproducible Builds。
- 推薦資源:《Linux Hardening》、《SELinux Coloring Book》、NIST 800-53/800-190、CNCF TAG Security 白皮書。
IBM 與社群學習資源整合
- IBM Developer:Linux 專區教學、OpenShift 實驗室、eBPF 實戰、AI on Power。
- IBM Redbooks:企業級部署指南、效能調優紅皮書、遷移手冊。
- Linux Foundation Training:LFD450 (核心開發)、LFS258 (K8s)、LFS200 (DevOps)、CKA/CKAD/CKS 認證。
- 社群大會:Linux Plumbers Conference、Kernel Summit、KubeCon、FOSDEM、SCaLE、OSDT。
進階之路無終點,選擇一條感興趣的賽道深耕,同時保持對全景圖的敏感度。貢獻上游社群 (提交 Patch、回報 Bug、改進文檔) 是能力躍升的最快捷徑。