Shadowrocket Linux 版安裝:deb、rpm、AppImage 怎麼選?apt/dnf 安裝指令

Linux 版免費,提供 deb、rpm、AppImage 三種安裝檔。本文依 Linux 發行版說明如何選擇,並附上 apt、dnf 安裝指令及 AppImage 執行權限設定步驟。

本文重點

安裝 Shadowrocket Linux 版前,請先確認 Linux 發行版與處理器架構,再從本站下載頁選擇 deb、rpm 或 AppImage。本文適合使用 Linux 圖形桌面及終端機的使用者,說明如何安裝本機套件、設定執行權限,以及處理相依性錯誤、更新與解除安裝。所有指令都使用實際下載檔案的路徑,不預設安裝檔名稱。

Linux 安裝檔怎麼選:先確認發行版,再確認架構

Ubuntu、Debian 等使用 APT 的系統通常選 deb;Fedora 等使用 DNF 的系統通常選 rpm。需要以單一檔案執行時,再考慮 AppImage。副檔名代表套件格式,不代表處理器架構,也不保證能在不同 Linux 發行版間通用;下載前還要確認下載頁標示的架構與執行需求。

Linux 發行版與套件管理工具

發行版資訊
cat /etc/os-release
APT 系統
優先選擇 deb,由 apt 處理相依套件。
DNF 系統
優先選擇 rpm,由 dnf 處理相依套件。
以單一檔案執行
可考慮 AppImage,仍須符合執行環境需求。

不能只因為同屬 Linux,就混用 deb 與 rpm。

架構與桌面環境

處理器架構
uname -m
x86_64
常見的架構標示為 amd64/x86_64。
aarch64
常見的架構標示為 arm64/aarch64。
啟動環境
在目前使用者的圖形桌面工作階段中啟動。

架構名稱的對應關係,不代表下載頁一定提供該架構的套件。

執行下方兩個唯讀指令,即可確認基本環境。若使用衍生發行版,也應查看 ID_LIKE,並確認系統實際使用的套件管理工具;不能把所有 rpm 系統都套用 dnf 指令,例如使用其他套件管理工具的發行版,應依照其系統文件操作。

cat /etc/os-release
uname -m

下載前準備:確認檔案來源與完整路徑

安裝檔請從客戶端下載頁的 Linux 區取得。Shadowrocket(小火箭)Linux 版免費;iPhone/iPad 版在 App Store 一次性付費 $2.99,Mac(Apple 晶片與 Intel)、Windows、Android 版也免費。iPhone/iPad 的系統需求以 App Store 頁面標示為準。

  1. 確認系統資訊

    在終端機執行 cat /etc/os-release 與 uname -m,記下 Linux 發行版、套件管理工具與架構,不要根據電腦品牌猜測。

  2. 開啟下載頁

    前往本站「客戶端下載」→ Linux,依照環境選擇 deb、rpm 或 AppImage,並等候瀏覽器顯示下載完成。

  3. 取得檔案路徑

    在檔案管理員中查看下載檔案的內容,取得包含檔名的絕對路徑。下載資料夾可能因本地化或使用者設定而異,不要預設名稱一定是 Downloads。

  4. 選擇安裝方式

    deb 與 rpm 請依照下文使用系統套件管理工具安裝;AppImage 則依單一檔案的流程設定執行權限。同一次排錯時,不要交替安裝這三種格式。

下方互動式指令適用於 Bash:出現輸入提示後,貼上實際檔案的絕對路徑並按 Enter。路徑可以包含空格,但在此輸入步驟中不要額外加上引號,也不要以 ~ 代替家目錄;read 不會自動展開波浪號。後續指令中的變數已加上雙引號。

deb 怎麼安裝:使用 apt 安裝本機檔案

在 Debian、Ubuntu 及相容的 APT 系統中,使用 apt install 安裝本機 deb,讓套件管理工具嘗試從已設定的軟體來源處理相依套件。此處輸入的是絕對路徑,不是軟體倉庫中的套件名稱;安裝前可先查看套件內的 Package 與 Architecture 欄位。

read -r -p "請輸入 deb 檔案的絕對路徑:" pkg
test -f "$pkg" && dpkg-deb -f "$pkg" Package Architecture
sudo apt update
sudo apt install "$pkg"

確認第二行顯示套件資訊且沒有路徑錯誤後,再執行安裝指令。sudo 會要求本機管理權限;在終端機輸入密碼時通常不會顯示字元,這不是登入應用程式帳戶。apt update 只會更新軟體來源索引,不代表已安裝或更新 Shadowrocket。

rpm 怎麼安裝:使用 dnf 處理本機套件與相依套件

在 Fedora 及採用 DNF 的相容系統中,使用 dnf install 安裝本機 rpm。先查看套件內的名稱與架構,再檢查安裝交易內容;DNF 可能會一併安裝執行所需的相依套件,實際內容取決於目前系統的軟體來源與已安裝元件。

read -r -p "請輸入 rpm 檔案的絕對路徑:" pkg
test -f "$pkg" && rpm -qp --queryformat '%{NAME} %{ARCH}\n' "$pkg"
sudo dnf install "$pkg"

安裝交易確認畫面應符合預期。若計畫移除大量桌面元件、顯示架構不符或有相依性衝突,請先取消並確認下載格式;不要為了繼續安裝而直接加入略過相依套件、強制取代等參數。

兩種安裝方式的管理差異

deb/rpm 安裝
  • 由系統套件管理工具維護安裝紀錄。
  • 系統層級安裝需要管理權限。
  • 解除安裝時使用套件內的實際名稱,而非下載檔名。
  • 相依套件的解析仰賴已設定的軟體來源。
執行 AppImage
  • 以下載檔案作為啟動入口。
  • 先為目前使用者新增執行權限。
  • 請將檔案存放在固定位置,避免遭下載清理功能移除。
  • 不一定會自動整合到桌面選單。

若需要系統套件管理紀錄,優先選擇相符的 deb 或 rpm;選用 AppImage 時,則須自行管理檔案位置與更新替換流程。

AppImage 怎麼執行:新增執行權限後從終端機啟動

下載 AppImage 後,通常需要先新增執行權限,再由目前的桌面使用者啟動。第一次建議從終端機執行,以便查看權限、掛載或執行環境錯誤;不要因為雙擊沒有反應,就直接使用 sudo 啟動整個圖形應用程式。

read -r -p "請輸入 AppImage 檔案的絕對路徑:" app
test -f "$app" && chmod u+x "$app"
"$app"

chmod u+x 會為檔案擁有者新增執行權限,不會轉換檔案格式,也不會安裝缺少的系統元件。保留檔案原本的路徑即可再次啟動;若將檔案移到其他資料夾,請改用移動後的路徑。程式執行期間不要刪除或替換檔案。

已新增權限,仍顯示 Permission denied?

先使用 ls -l "$app" 查看權限,再檢查檔案所在的分割區是否使用 noexec 掛載選項。若受此限制,可將檔案移到允許執行的使用者資料夾後重試;不要直接放寬整個外接磁碟或共享資料夾的掛載設定。

顯示 FUSE 相關錯誤時該怎麼辦?

部分 AppImage 執行環境需要 FUSE。記下終端機中缺少的程式庫名稱,並依照目前 Linux 發行版的套件說明安裝相容程式庫;不同發行版與系統版本的套件名稱可能不同,不要直接照搬其他發行版的安裝指令。

出現 Exec format error?

先執行 uname -m,確認是否符合下載頁標示的架構,再使用 file "$app" 查看檔案類型。若架構不符,或下載內容不是可執行程式,請重新選擇檔案;反覆執行 chmod 無法解決架構不符的問題。

雙擊後沒有視窗,該怎麼辦?

在圖形桌面中開啟終端機,直接執行 "$app",查看第一則明確錯誤訊息。若是在遠端 SSH 工作階段中啟動,請先回到本機桌面測試,不要把缺少圖形工作階段誤判為檔案損毀。

安裝後如何檢查:先確認能否啟動,再檢查連線設定

應用程式能開啟與網路能連線是兩項不同的檢查。先確認應用程式能在一般使用者的桌面中啟動,再使用使用者已有的服務商提供的連線資料;安裝客戶端不會自動建立可用伺服器。本站不提供、不販售也不推薦節點或訂閱。

  1. 確認能否啟動:deb/rpm 安裝後,從應用程式選單啟動;AppImage 則從實際檔案路徑啟動。若發生當機,請保留終端機錯誤訊息,以及 Linux 發行版與架構資訊。
  2. 確認設定資料:匯入自己的設定時,請確認伺服器位址、連接埠、協定與驗證資料是否完整。連接埠應以服務商提供的資訊為準,不要因為安裝教學而統一改成某個數字。
  3. 了解各項設定的作用:若目前介面提供 Home、Config、Settings 等入口,請以本機實際顯示為準。Global Routing 中的 Direct 表示直接連線,不應將此模式下的連線結果視為代理連線測試結果。
  4. 確認規則套用範圍:使用 Config 模式時,結果也會受到設定規則影響。更新訂閱與更新應用程式是兩回事:前者更新使用者的連線資料,後者則是替換客戶端程式。

出現權限提示時,請確認提示是否來自目前的啟動操作,並閱讀要求的具體權限。安裝指令使用管理員權限,不代表應用程式之後都必須以管理員身分執行;不同桌面環境、網路接管方式與 Linux 發行版的權限提示可能不同,不要套用 iPhone/iPad 的 VPN 設定提示來判斷 Linux 是否安裝成功。

更新與解除安裝:使用實際套件名稱,保留自己的設定

更新 deb 與 rpm 時,可下載對應格式的新套件,再使用相同的套件管理工具安裝;不要只憑檔名變更判斷更新結果,也不要假設安裝本機套件就會自動新增更新來源。更新 AppImage 時,先結束程式,再以新檔案取代舊的啟動檔,並重新確認執行權限。

下方指令示範如何從本機安裝檔取得實際套件名稱,請依目前的安裝格式選擇其中一組執行。仍須先輸入實際存在的絕對路徑;若安裝檔已刪除,請從系統套件管理工具的已安裝清單確認套件名稱,不要自行猜測。

# APT 系統:從 deb 中繼資料取得名稱
read -r -p "請輸入原 deb 檔案的絕對路徑:" pkg
name=$(dpkg-deb -f "$pkg" Package) && sudo apt remove "$name"

# DNF 系統:從 rpm 中繼資料取得名稱
read -r -p "請輸入原 rpm 檔案的絕對路徑:" pkg
name=$(rpm -qp --queryformat '%{NAME}' "$pkg") && sudo dnf remove "$name"
下載 Shadowrocket