Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Steam Deck, Linux Container and the Arch Community
Search
Young
July 30, 2022
Programming
970
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Steam Deck, Linux Container and the Arch Community
Coscup 2022, Taiwan
Young
July 30, 2022
Other Decks in Programming
See All in Programming
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
Java 27新機能 / Java 27 new features
kishida
2
150
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
350
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
330
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
190
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
110
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.8k
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
170
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
140
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
270
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
1.9k
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
590
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Tell your own story through comics
letsgokoyo
1
1.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
280
We Are The Robots
honzajavorek
0
380
New Earth Scene 8
popppiees
4
2.6k
Making the Leap to Tech Lead
cromwellryan
135
10k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
Producing Creativity
orderedlist
PRO
348
41k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.1k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Transcript
從 Steam Deck 看 Arch Linux 與 Container Steam Deck,
Linux container and the Arch Community 2022 Jul 30
Suiong Ng 2
Suiong Ng 3 Steam Deck 與我
Suiong Ng 4 電動與我 • Arch 使用者 • 我的 Arch
有裝 Steam • 有 Windows VM 有設定 GPU pcie passthrough • 休閒玩家、沒有很常打電動 平常“沒有”打電動的習慣 也沒有任何家機掌機,可以說是電動初心者
Suiong Ng 5 我怎麼發現 Steam Deck 這個酷東西的 註:該朋友對 Linux 一竅不通,但熟悉各種數位科技
Suiong Ng 6 訂購囉! 座標:美國 • 負責訂購 Steam Deck •
回台灣時帶主機回來給我玩 座標:新竹 • 提供 Linux 問題問到飽服務
Suiong Ng 7 一波三折的訂購過程
Suiong Ng 8 開箱 結果在沒有任何協助的情況下,非 Linux 使用者也可 以輕鬆容易地安裝通訊軟體 , 看圖程式
, 瀏覽器… 等
Suiong Ng 9 Flatpak 與 Steam Deck SteamOS 改變了 Arch
安裝軟體的方式
Suiong Ng 10 問題:為什麼一次只能看一張圖片? gThumb 僅顯示一張圖 從檔案總管點選圖片
Suiong Ng 11 Steam Deck 是怎麼安裝程式的
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)
Suiong Ng 13 剛剛發生了什麼事? ↖ 檔案總管的圖片位置 ↖gThumb 的圖片位置 這裡的 gThumb
是 flatpak 應用程式 所以沒辦法讀取 $HOME/.local/ 目錄 為了讓 gThumb 讀取這張圖片 flatpak 另外把這張圖放入 container 中
Suiong Ng 14 剛剛發生了什麼事? gThumb 預設只能讀取這些目錄 Flatpak 額外允許這張圖片
Suiong Ng 15 • 軟體更新會把整個 rootfs 換掉 也就是用 pacman 裝的軟體會不見
那在 Steam Deck 上 可以用 pacman 來安裝軟體嗎? 可以的,但是 ... △ pacman 安裝的 gpicview flatpak 安裝的 gThumb
Suiong Ng 16 Steam Deck 系統設計 和 Arch 有什麼不一樣
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
Suiong Ng 18 SteamOS 和 Arch Linux 不一樣 SteamOS 和
Arch Linux 不一樣 SteamOS 和 Arch Linux 不一樣 很重要所以要講三次 !!! 系統 不 能改, 不 容易個人化
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) 兩個系統 不更動 使用者的檔案 和 應用程式 應用程式
Suiong Ng 20 這樣子設計有什麼好處? • 穩定好維護,不易壞 • A / B
交替更新,不怕更新失敗 • 重新安裝、重設系統時 可以選擇保留 應用程式 和 資料 系統 獨立分開 且 唯讀 程式、遊戲、檔案都放在 /home 的設計
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 更新不需要關機再安裝
Suiong Ng 22 Arch Linux 與 container
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→
Suiong Ng 24 Container 已是時下流行 在 Ubuntu 上預設只能透過 Snap (container)
安裝 Firefox
Suiong Ng 25 想像一個麻瓜 (container) 版本的 Linux • 不熟數位產品的人,也能簡單上手 •
唯讀、穩定的系統 • 不怕系統更新失敗 • 系統升級容易、也可以降級 • 可以安裝多個版本的應用程式,不用煩惱相依性 • 非常簡單的就能套用各種安全性設定 • 應用程式各自獨立,隔離在自已的沙盒中 預設使用 container 有什麼好處?
Suiong Ng 26 麻瓜版本的的 Linux Distro. MicroOS (OpenSUSE) SilverBlue (Fedora)
當然, SteamOS 3 (Steam Deck) 也是!
Suiong Ng 27 Arch Linux 與 Container Q1: 如果你有一台 Steam
Deck 你會想用 Steam OS 3 嗎? 還是會想重新安裝 Arch Linux + steam 呢? Q2: 你覺得 Arch 社群,是不是也該有類似 MicroOS 或 SilverBlue 那樣的衍生版?
Suiong Ng 28 Container 有什麼安全性上的好處?
Suiong Ng 29 應用程式隔離在 container 中有什麼好處 範例: Firefox 曾有安全性漏洞,駭客可以讀取任意檔案 例如偷走存在
~/.ssh/ 下的 ssh key 而透過 Flatpak 安裝的 Firefox ,則預設無法讀取家目錄
Suiong Ng 30 XKCD : Authorization 傳統 unix 的權限設計,已不敷使用 各別應用程式需要更細膩的存取控制
https://xkcd.com/1200/
Suiong Ng 31 如果不喜歡 container 但又想要安全性 • namespace, seccomp, capabilities
• Firejail • Bubblejail (Bubblewrap) Container 用了這些技術來隔離應用程式 或者,傳統的 LSM 也很實用 例如用 apparmor 或 selinux 禁止 firefox 讀取 ~/.ssh/ 如果想把用 pacman 安裝的程式,也用上 面的技術隔離起來,可以試試
Suiong Ng 32 Flatpak 和 bubblejail / firejail 一樣安全嗎? 既然
Flatpak 和 bubblewrap (bubblejail) 系出同源 也使用同樣的技術,那安全性上是不是就沒有差別? • 多數程式沒有 firejail / bubblejail 設定檔 必須自行撰寫 • Firejail / bubblejail 設定檔維護問題 例如不同的 Distro. 路徑不同、依賴的涵式庫不同 • “ 容易使用”很重要 理論上是,可是
Suiong Ng 33 Thank You