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 張晏菘