CachyOS 使用 1 個月心得

· 約 6 分鐘閱讀

不知不覺 CachyOS 已經用了 1 個月,現在也臨近期末,然後我最近剛好在大力整改 Blog ,所以你們會看到我這幾天更新頻率下降。

5/10 是我正式遷移到 CachyOS 的日子,也是我第一次踏入 Arch 家族發行版,關於我剛遷移過來的心得可以回去看這篇

整體而言#

這 1 個月用下來,CachyOS 相當穩定,還沒碰到什麼大錯誤,或者需要我 Fallback 的情況。

遊戲性能和系統流暢度自然是沒話說,CachyOS 的賣點之一。
以 War Thunder 為例,我自己之前在 Ubuntu 玩的時候,陸戰第一次出車時,進入地圖後會在半分鐘內卡頓數秒,無論 Ubuntu-Budgie (X11) 還是 Kubuntu (Wayland) 都是這樣,到了 CachyOS 這個卡頓則會大幅減少到 1 秒左右。
我認為這可能跟 Vulkan 和排程器有關,我目前用的是預設排程器,或許經過調整能進一步改善這個問題。

所以用下來我非常滿意,但是 Ubuntu-Budgie 我也是用了 2、3 個月後換顯卡才碰到 X11 Crash 問題,所以我不能保證 CachyOS 能持續穩定下去。

況且,Arch 的穩定性社群都有共識。

所以希望我不會碰到需要 DKMS 的套件吧,CachyOS 就算有保護網,但也只是保證可以快速還原,不是保證更新穩定。
(但是有人為失誤的時候,滾動更新和 LTS 都差不多,保護網這時候就是天與地的差距)

然後,如果你會在意系統是不是最新的,你可能碰到剛更新完,結果右下角的 CachyOS Update 又通知你有更新,那自行斟酌一下,而且這個更新三不五時不是 Kernel 相關,就是會需要重啟生效的套件。
如果你喜歡把電腦放著休眠,可能需要改變一下你的使用習慣,至少定期重開。

碰到的問題#

我碰到的#

相對而言是小問題,目前比較明顯的問題是在 Dolphin 身上。
如果我先複製文字後,再去 Dolphin 上建立新增資料夾後,不能直接貼上,他會把剪貼簿內容吃掉,只能先去建立資料夾,再去複製文字。
如果你也有會複製文字來建立資料夾的習慣,可以留意一下。

第二個是我第一次碰到套件的版本衝突,衝突的套件是…Node.js。
起因是有一次更新的時候,Heroic Games Launcher 也要更新,這算是我第一個屬於 AUR 而非 Package 的軟體,然後日常跑 cachyos-update 跳出以下提示:

這時候如果要升級他會把原本的 nodejs 替換成 nodejs-lts-krypton,所以在讀完 PKGBUILD 之後按 Y 之前,最好先用 pacman -Qi $PKG 去檢測套件替換時會不會有依賴炸掉。
以這次衝突來看,來源就是 nodejs,所以我去看一下他的依賴:

~
 pacman -Qi nodejs
Installed From         : cachyos-znver4
名稱                   : nodejs
版本                   : 26.1.0-2
描述                   : Evented I/O for V8 javascript ("Current" release)
硬體架構               : x86_64_v4
URL                    : https://nodejs.org/
軟體授權               : MIT
群組                   :
它提供                 :
它依賴                 : ada  brotli  c-ares  icu  libffi  libnghttp2  libnghttp3  libngtcp2  libuv  openssl  simdjson  zlib
                         zstd
可選依賴               : npm: nodejs package manager [已安裝]
需要它                 : node-gyp  nodejs-nopt  npm  semver  zed
為這些軟體包的可選依賴 :
與它衝突               :
它會取代               :
安裝後大小             : 59.37 MiB
打包者                 : CachyOS <admin@cachyos.org>
建置日期               : 西元2026年05月10日 (週日) 20時24分48秒
安裝日期               : 西元2026年05月10日 (週日) 22時32分27秒
安裝原因               : 作為其他軟體包的依賴安裝
安裝指令稿             :
驗證者                 : 簽章

這上面很多 npm 套件,除了 zed ,所以我們看一下 zed 的狀況:

# pacman 無中文化
pacman -Si zed | grep -i depend

# pacman 有中文化
pacman -Si zed | grep -i 它依賴

那我的 Zed 輸出如下:

它依賴                 : alsa-lib  libasound.so=2-64  curl  fontconfig  glib2  libgio-2.0.so=0-64  libglib-2.0.so=0-64  libgobject-2.0.so=0-64  glibc  libgcc  libgcc_s.so=1-64  libgit2  libgit2.so  libstdc++  libstdc++.so=6-64  libxcb  libx11  libxkbcommon  libxkbcommon.so=0-64  libxkbcommon-x11  libxkbcommon-x11.so=0-64  netcat  nodejs>=18  npm  sqlite  libsqlite3.so=0-64  vulkan-driver  vulkan-icd-loader  vulkan-tools  wayland  zlib  libz.so  zstd  libzstd.so=1-64

可以看出,nodejs 不是硬性規定,他只要是 >= 18.0 就好,所以我替換掉 nodejs 不影響我的 Zed,這時可以放心替換。

之後你在去看 nodejs 你就會發現包的名稱不一樣了:

~
 pacman -Qi nodejs
Installed From         : extra
名稱                   : nodejs-lts-krypton
版本                   : 24.14.1-3
描述                   : Evented I/O for V8 javascript ("Active LTS" release: Krypton)
硬體架構               : x86_64
URL                    : https://nodejs.org/
軟體授權               : MIT
群組                   :
它提供                 : nodejs=24.14.1  nodejs-lts
它依賴                 : ada  brotli  c-ares  icu  libnghttp2  libnghttp3  libngtcp2  libuv  openssl  simdjson  zlib  zstd
可選依賴               : npm: nodejs package manager [已安裝]
需要它                 : node-gyp  nodejs-nopt  npm  semver  zed
為這些軟體包的可選依賴 :
與它衝突               : nodejs
它會取代               :
安裝後大小             : 55.91 MiB
打包者                 : Bert Peters <bertptrs@archlinux.org>
建置日期               : 西元2026年04月01日 (週三) 04時28分53秒
安裝日期               : 西元2026年06月08日 (週一) 22時27分21秒
安裝原因               : 作為其他軟體包的依賴安裝
安裝指令稿             :
驗證者                 : 簽章

那更新完後你想替換回來也可以,直接 sudo pacman -S nodejs 或者去 Shelly 找到 nodejs 勾選後按 Install 就可以替換,安裝時會詢問「是否取代 nodejs-lts-krypton?」

朋友碰到的#

我身邊有位朋友跟進替換到 CachyOS 後,他的問題嚴重的多,都是圖形上的。

他玩 CS2 會有 Vulkan Crash 以及貼圖沒加載的問題(遊戲視角可以看到自己的槍和手,以及低頭看到自己的腳都是黑的)。
他 Crash 的機率聽起來不低,大概是看他在 Discord 直播 5 次碰到 3 次這種頻率吧。然後貼圖則是幾乎沒正常過,拿了紅品質造型和非預設刀結果一片黑,看著也挺難過。

至於最嚴重的錯誤,是有次他邊玩 Idle Spiral,邊跟我說「CachyOS 真的比較省記憶體」,然後聊完他新舊環境比較他的系統就炸了。
具體特徵是畫面凍結但聲音正常,跟我當初在 Ubuntu-Budgie 的狀況不一樣。這也是他第一次碰到,之後有沒有再碰到,不知道。

不過他之前在 Fedora 也有發生過類似的問題,加上他這兩個發行版都用 GNOME,所以有可能是 GNOME 的問題。
除此之外,這個變因概率我認為也不小,那就是他的顯示卡雖然跟我一樣是 9070 XT,但他的是盈通花嫁,我是撼訊 Hellhound,我有聽聞過AMD 顯卡的 AIB 不同穩定性會不一樣,所以這可能也是原因。

對比之下,我的 CachyOS 還沒碰過圖形相關問題。也沒有誇一次發行版就炸掉一次。

不滿之處#

這只是單純我個人抱怨,不影響系統使用,不要把這段當做評價指標(除非你跟我一樣在意這件事)。

什麼叫做 iptables 是不能移除的套件!?他被 iproute2 依賴!?WTF

口說無憑,請看底下指令輸出:

~
 pacman -Qi iproute2
Installed From         :
名稱                   : iproute2
版本                   : 7.0.0-1.1
描述                   : IP Routing Utilities

...

它依賴                 : glibc  libxtables.so=12-64  libcap  libcap.so=2-64  libelf  libbpf  libbpf.so=1-64
可選依賴               : db: userspace arp daemon [已安裝]
                         linux-atm: ATM support
                         python: for routel [已安裝]
需要它                 : base  kinfocenter  netctl  networkmanager
為這些軟體包的可選依賴 : inxi  plasma-firewall
與它衝突               :

...

~
 pacman -Qi iptables-nft 
Installed From         :
名稱                   : iptables
版本                   : 1:1.8.13-1.1
描述                   : Linux kernel packet control tool (using nft interface)

...

可選依賴               :
需要它                 : iproute2  ufw
為這些軟體包的可選依賴 : libvirt  networkmanager  systemd
與它衝突               : arptables  ebtables
它會取代               : iptables-nft
安裝後大小             : 2.48 MiB
打包者                 : CachyOS <admin@cachyos.org>

...

這我吐爛,5 年前的 Debian 12 都可以不預裝 iptables,只有 nftables,firewall wrapper 甚至正在從 ufw 轉到 firewalld,就是因為 firewalld 支援直接使用 nftables!
CachyOS 和 Arch 居然在這裡輸給 Debian 😭 我哪時候可以把 iptables 這個牛皮癬、老古董拔掉阿?

(再次重申,只是個人抱怨,除非你也在意防火牆底層這件事)

額外補充#

寫文章寫到一半的時候,我更新了一次系統,跳出了一則Arch 新聞
大致上在說近期 AUR 有供應鏈攻擊,這個手法稱為「Atomic Arch」。

我請 Claude 整理了資訊,攻擊手法是 PKGBUILD 裡面有 npm install atomic-lockfilebun install js-digestlockfile-js 這類指令,利用 npm 的機制載入名叫 deps 的惡意 ELF 程式。
deps 會偷取 SSH Private Key、browser session、GitHub Token 等驗證相關的東西。

這次攻擊發生的方式是,攻擊者偽造了一些本身有信譽的 AUR 維護者(比如 arojas),用假身份去 commit 大量本來被廢棄的 AUR 套件,最初由 400 左右漲到最近 1500+。

那有沒有辦法預防和檢查?有的,先講檢查。

根據 The Hacker NewsLastest Hacking News 報導,請做以下檢查:

  • 確認你的 AUR 套件是 6/11 (含)以後安裝或更新的
  • 確認有沒有 atomic-lockfilejs-digestsrc/hooks/deps 在 build 輸出
  • 執行 ls /sys/fs/bpf 檢查有沒有不認識的 BPF map 名稱 (CachyOS 要加 sudo)
  • 使用 systemctl list-unit-files --state=enabledls ~/.config/systemd/user/ 確認有沒有你不認識的服務在執行

那如果你是大概在 6/10 之前更新 AUR 套件,大概率不用擔心,再來是如果你想快速檢查你有沒有套件中招,GitHub 有人有做 AUR 病毒檢查腳本,幫你快速掃描 AUR 套件。

那預防方式很簡單,等 Arch 官方那邊把有毒 AUR 清一清,告一段落前盡量不要碰 AUR 套件,不管有更新還是需要安裝都是,這也是目前比較根本的預防方式。

那如果你真的不幸中招了,該怎麼辦?
還是根據上述兩篇新聞建議,如果被標記的套件有安裝到你的電腦上,請把電腦當成已被入侵,把套件刪除沒有用,請把任何有驗證資訊替換掉,包括以下東西:

  • Chromium 瀏覽器 (Chrome、Brave、Edge、Helium 等) 的 Cookies、tokens 和本地儲存
  • Electron 程式的 Session 資料,包括 Slack, Discord, and Microsoft Teams
  • GitHub, npm, and HashiCorp Vault tokens, 還有 OpenAI/ChatGPT 持有者資料和帳號元資料 (metadata)
  • SSH keys、known_hosts 和 shell 歷史記錄
  • Docker 和 Podman 的驗證資訊以及 VPN profiles

那如果你以 root 的身份執行了安裝或升級,那請假定 rootkit 的存在,直接拿乾淨的安裝檔把系統重灌,不要嘗試本地刪除,因為 rootkit 可以對使用者撒謊。

Reference#

留言