Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Steam Deck, Linux Container and the Arch Community

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Young
July 30, 2022

Steam Deck, Linux Container and the Arch Community

Coscup 2022, Taiwan

Young

July 30, 2022

Transcript

33 slides
  1. 從 Steam Deck 看 Arch Linux 與 Container Steam Deck,

    Linux container and the Arch Community 2022 Jul 30
  2. Suiong Ng 4 電動與我 • Arch 使用者 • 我的 Arch

    有裝 Steam • 有 Windows VM 有設定 GPU pcie passthrough • 休閒玩家、沒有很常打電動 平常“沒有”打電動的習慣 也沒有任何家機掌機,可以說是電動初心者
  3. Suiong Ng 6 訂購囉! 座標:美國 • 負責訂購 Steam Deck •

    回台灣時帶主機回來給我玩 座標:新竹 • 提供 Linux 問題問到飽服務
  4. Suiong Ng 12 • Pacman (Arch 套件 ) • 軟體會安裝至

    /etc/, /usr/lib, /usr/bin/ 等多個目錄下 • Flatpak (container 格式 ) • 軟體會安裝至 /var/lib/flatpak/ • 程式無法讀取 container 外面的檔案 Arch SteamOS 3 安裝軟體的方式和 Arch 不同 Manjaro’s pacman frontend (Pamac) SteamOS’ frontend (KDE Discover)
  5. Suiong Ng 13 剛剛發生了什麼事? ↖ 檔案總管的圖片位置 ↖gThumb 的圖片位置 這裡的 gThumb

    是 flatpak 應用程式 所以沒辦法讀取 $HOME/.local/ 目錄 為了讓 gThumb 讀取這張圖片 flatpak 另外把這張圖放入 container 中
  6. Suiong Ng 15 • 軟體更新會把整個 rootfs 換掉 也就是用 pacman 裝的軟體會不見

    那在 Steam Deck 上 可以用 pacman 來安裝軟體嗎? 可以的,但是 ... △ pacman 安裝的 gpicview flatpak 安裝的 gThumb
  7. Suiong Ng 17 • Debian Linux • 安裝軟體 apt-get install

    firefox • Arch Linux 實際上和 Arch 很不一樣 ( 類 immutable rootfs) • 安裝軟體 pacman -S firefox flatpak install flathub org.mozilla.firefox 3.0 (Steam Deck) Steam OS 3 就是 Arch Linux 嗎 不容易個人化成喜歡的樣子 例如:假如你不喜歡 KDE 2.0
  8. Suiong Ng 18 SteamOS 和 Arch Linux 不一樣 SteamOS 和

    Arch Linux 不一樣 SteamOS 和 Arch Linux 不一樣 很重要所以要講三次 !!! 系統 不 能改, 不 容易個人化
  9. Suiong Ng 19 和 Arch 完全不同的更新方式 /home (esp) SD 卡

    (A) /efi (A) rootfs (A) /var (B) /efi (B) rootfs (B) /var /home/.steamos/offload/var/lib/flatpak ../var/lib/docker ../var/cache/pacman ../srv ../root ... bind mount 交替更換 (A) / (B) 兩個系統 不更動 使用者的檔案 和 應用程式 應用程式
  10. Suiong Ng 20 這樣子設計有什麼好處? • 穩定好維護,不易壞 • A / B

    交替更新,不怕更新失敗 • 重新安裝、重設系統時 可以選擇保留 應用程式 和 資料 系統 獨立分開 且 唯讀 程式、遊戲、檔案都放在 /home 的設計
  11. Suiong Ng 21 唯讀 和 A/B 更新其實很常見 • Android 7+

    Seamless A/B update • Chrome OS A/B update • MacOS Catalina read-only system volume Big Sur sealed system volume 更新不需要關機再安裝
  12. Suiong Ng 23 在 Arch Linux 上安裝軟體 • 官方 Repository

    pacman -S firefox • AUR yay -S librewolf-bin • Flatpak / Snap / Appimage / docker ... flatpak install flathub org.mozilla.firefox • 直接下載 binary wget https://download-installer.cdn.mozilla.../firefox-91.11.0esr.tar.bz2 tar xvf firefox-91.11.0esr.tar.bz2 ./firefox/firefox ( 我只相信官方 Repo) ( 我想試試社群版本 ) ( 聽說新版有硬體加速 ) ( 我想裝更舊的版本 ) ( 某些特定版本只能手動 下載了 ) Arch Linux 給了使用者很大的彈性、選擇的自由 但是這樣子的自由,對於非 Linux 的 Steam Deck 使用者來說,不太重要 Container→
  13. Suiong Ng 25 想像一個麻瓜 (container) 版本的 Linux • 不熟數位產品的人,也能簡單上手 •

    唯讀、穩定的系統 • 不怕系統更新失敗 • 系統升級容易、也可以降級 • 可以安裝多個版本的應用程式,不用煩惱相依性 • 非常簡單的就能套用各種安全性設定 • 應用程式各自獨立,隔離在自已的沙盒中 預設使用 container 有什麼好處?
  14. Suiong Ng 27 Arch Linux 與 Container Q1: 如果你有一台 Steam

    Deck 你會想用 Steam OS 3 嗎? 還是會想重新安裝 Arch Linux + steam 呢? Q2: 你覺得 Arch 社群,是不是也該有類似 MicroOS 或 SilverBlue 那樣的衍生版?
  15. Suiong Ng 31 如果不喜歡 container 但又想要安全性 • namespace, seccomp, capabilities

    • Firejail • Bubblejail (Bubblewrap) Container 用了這些技術來隔離應用程式 或者,傳統的 LSM 也很實用 例如用 apparmor 或 selinux 禁止 firefox 讀取 ~/.ssh/ 如果想把用 pacman 安裝的程式,也用上 面的技術隔離起來,可以試試
  16. Suiong Ng 32 Flatpak 和 bubblejail / firejail 一樣安全嗎? 既然

    Flatpak 和 bubblewrap (bubblejail) 系出同源 也使用同樣的技術,那安全性上是不是就沒有差別? • 多數程式沒有 firejail / bubblejail 設定檔 必須自行撰寫 • Firejail / bubblejail 設定檔維護問題 例如不同的 Distro. 路徑不同、依賴的涵式庫不同 • “ 容易使用”很重要 理論上是,可是

Other Decks in Programming