Linux 讀書會 2020 === ## 時間 * 領讀多數仍在學,目前偏好週六日 * 待參與者們在投票出一個大家都可以的時間 * 每兩週舉辦一次,每次 1~1.5 小時 * https://docs.google.com/spreadsheets/d/1xjz22UDz_vKW92dJpnGysNCtFiSCYz_wbkHD4B1EQ-0/edit?usp=sharing ## 地點 * 遠端線上進行 * https://meet.google.com/utd-vktg-yph ## 進行方式 參考 SRE / DevOps Taiwan 讀書會文件 > https://study-area.sre.tw/GuideLine/ 目前人數多少尚未知曉,可能會以個人或是分組方式進行 ### 一、事前準備 * 與小組討論 * 提問題:從使用經驗中提問題,從學習中找答案 * 做 Lab,從 Sample 中找問題 * 如果有需要,可以用程式碼實作。如:shell script * 對於內容提出疑惑,找到類似的參考文件 * 參考文件盡可能地找出第一手的資訊(如:Linux man page)而非第三方 blog 資訊 * 整理屬於自己的筆記,分享出來 (ex: blog) * 用自己的語言,重新整理內容,學習如何用淺顯詞彙解釋給第一次學習的人 * 分享閱讀過覺得不錯的資源(一兩篇),讓參與者能提前接觸本次章節有初步的了解 * 或以其他形式讓參與者有個基礎的 Total Preview ### 二、讀書會進行中 * 導讀者: * 用 Slide 導讀,匯出 PDF,發 PR 到 GitHub * 用自己的語言、經歷,把內容表達出來 * 問問題,從問題中,提出思考與討論 * 小組成員: * 協助記錄共筆與問題討論重點 * 聽講者: * 提問題 * 分享找到的資訊 * 整理筆記,結構化、組織所學 > ~愛與鼓勵~ & ~支持與包容~ [name=minecola] ### 三、讀書會事後整理 * 小組整理資料到 GitHub * 重構討論的內容,結構化、組織化 * 分享到社群 * 找同類型的書/文件閱讀,看看不同的觀點 ### 四、持續學習 * 幫別人解決問題 * 分享、演講、教學 (坑) * 前兩點:~~來當 LSA 助教~~ (!) * 問問題,找答案 * 學習「大家怎麼學習」 * 提升自己 & 拉拔他人,~~不只成功還要卓越~~ * 如果臨時有事可以協助學習該次主題 & 自我複習的好機會 ## mentor * @JackKuo * @yiyu0x * @minecola * @zinxinnnn * @vincentinttsh * @focaaby ## 書籍 * 鳥哥基礎篇 ### 章節 * 暫列出鳥哥章節,並摘要一下有什麼可以補充 1. 主機規劃與磁碟分割 * MBR、GPT、UEFI 4. 首次登入與 man page 5. 檔案權限與目錄配置 * FHS * /var/log 在「登錄檔」章節可以細節討論 6. 檔案與目錄管理 7. 磁碟與檔案系統 * Mount / Unmount * 動態儲存空間配置 8. 壓縮指令的運用 9. vim 程式編輯器 * 大家互相展示 vimrc 的概念 10. 認識與學習 BASH * Streams, Redirection, and Pipes * Environment Variable * Others Shell 11. 正規表示法與文件格式化 * grep * awk, sed 搭配 12. 學習 shell scripts * https://www.shellcheck.net/ 13. 帳號管理與 ACL * pam 其實很重要,但真的不太會用到 14. Quota, RAID, LVM * 這章節我極為不熟 XD 15. at, crontab, anacron * `crontab` feat. `rsync` 16. 程序管理與 SELinux * Debian/Ubuntu 是怎麼做的? * pthread, fork * `&`, `[Ctrl]+[Z]`(vs `[Ctrl]+[C]`), `fg`, `bg`, `jobs` * `kill`, dpkg error 17. 認識系統服務(daemon) * systemV vs systemd 18. 認識與分析登錄檔 * logs 們 19. 開機流程模組管理與 Loader * 極為重要,可多分 2-3 週 * 可簡單實作: `/etc/rc.d/rc.local` * Boot loader (GRUB/GRUB2/Others) * Boot Process 20. 基礎系統設定與備份策略 * Incremental / Differential backup * 備援機制(冷熱) * Backup 與 Redundancy 差異 21. 原始碼與 Tarball * make/configure * .deb 22. RPM/YUM/SRPM 軟體管理 * vs apt 23. X-Window 設定 * GUI 24. Linux 核心編譯 * 能編譯 hello world 即可 * [Add a new system call](https://drive.google.com/file/d/1sprlRr7dfxBGIP3foPOLj9M01Yev5txG/view?usp=sharing) * `dmesg` * kernel module (姜媽課程內容?) 25. 容器化技術 LXC/LXD * 容器化技術相關 Namespace... etc > Secure, Networking(How linux network working? & TCP/DHCP/DNS/firewall/iptable), Remote(SSH/telnet), Some application pratice in linux(Fail2ban/Nginx), 實務案例探討解決方案等類似 LSA 延伸/複習/補充 [name=minecola] ## Todo - [ ] 時間 - 線上 或 線上與實體兼容 - [ ] 宣傳招生 - 定義目標客群與管道 / 基礎能力需求 - [ ] 整理 Google sheet 章節認領表格 - [ ] 來個 GitHub repo + Landing Page - [ ] Telegram new group or not? - [ ] 考慮 Telegram Channel(~~復興 MOLi Group~~) > 可以考慮用 Telegram Channel 發布讀書會相關資訊也可以在裡面開啟討論群組,重要訊息、投票及討論串可以在 Channel 上彙整發布 <br> > 參閱 https://telegram.org/blog/privacy-discussions-web-bots > [name=minecola] ### 時間 Feedback ## 參考 Resource ### 書籍 > 我有參考 `LPIC-1 Linux Professional Insti - Richard Blum` 一書[name=minecola] LPIC-1 書大概分成幾個章節 - Command line basic - 包含 Shell、文字處理 (Process/Filter)、正規表達式 - 軟體管理 - RPM/Debian - Convert package format - 依賴管理 & 衝突 - 共享 lib 管理 - Processes 管理 - 硬體~~調教~~ - 檔案管理 - 屬性權限 Quota - Booting Linux and Editing Files - Boot - Process - Systemctl - 系統管理 - User/Admin & Group - Log - Job (Cron) - System Time - Networking - Script - Securing ### 其他讀書會 Linux 底層運作 - [[讀書會] Linux環境編程:從應用到內核](https://hackmd.io/@VIRqdo35SvekIiH4p76B7g/rJVila1o) - [Linux-讀書會 / 從零開始的開源地下城社群](https://hackmd.io/@combo-tw/Linux-%E8%AE%80%E6%9B%B8%E6%9C%83/%2F%40combo-tw%2FHyJXuuy8H) Trello 看板管理 - [(荒廢的 Linux - 線上讀書會](https://trello.com/b/J8K9PRrO/linux-%E7%B7%9A%E4%B8%8A%E8%AE%80%E6%9B%B8%E6%9C%83) > 可以透過看板管理各個議題的進度及資源 [name=minecola] ## 報名區 舉例: telegram id/暱稱/姓名 example: - @ID Name - @Yalin_Huang 雅琳 - @gnotnuyil 畇彤 - @PinpingC 品萍 - @chofinn 世宇 - @imasavior 承翰 - @YuTing0412 毓庭 - @PengLaiRenOu 陳柏瑋 - @kekeyo 林科佑 - @efficacy38 莊才賢 - @Svenja_Lu 心慈 - @Yensong_Chang 張晏菘