創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2023年5月21日 星期日

Flatpak簡易使用

概要

之前簡單介紹過Flatpak及其安裝方法,但對軟體更新的作法沒有太多描述。

本文以一般用戶的角度介紹如何使用 flatpak 命令行,以進行軟體的安裝、更新、移除,與加入、移除遠端軟體庫等一般相關工作[1]。不涉及Flatpak軟體的打包工作,這類可參考官方說明文件。至於Flatpak基礎介紹可見前述連結。

許多Linux發行版所附的軟體管理圖形工具會整合Flatpak,在此情況下可利用圖形工具來操作Flatpak,不必動用本文所述的命令行。

開始之前

在正式開始介紹命令的用法之前,先做幾點相關說明。

應用程式與執行時期環境

應用程式,即提供給使用者的軟體,如 Gimp ,而執行時期環境,或簡稱執行時期(Runtimes)則是軟體所依賴的執行環境,如 GTK ,或 KDE

識別字

Flatpak給應用程式與執行時期的識別字串形式像 com.company.App ,如 OBS Studiocom.obsproject.Studio

有必要時,還可指明CPU架構、分支,像 com.company.App/i386/stable ,後二者也可省略其一。

作用於全系統或僅目前用戶

flatpak 在管理軟體或軟體庫時若指定了 --user 選項時其作用僅對該用戶有效(使用者層級),否則是對全系統有效(系統層級)。除非有特別的用途,如測試,不然通常不指定 --user 選項。

flatpak常用命令

flatpak --help 會顯示完整的命令用法,且依作用做了相當分類,這裡只介紹幾個較常用的。

管理遠端軟體庫

若依官方說明設定好 flatpak ,也會加入官方軟體庫,若沒出現錯誤訊息[2]的話,就可從官方軟體庫來安裝軟體。若想加入非官方的軟體庫,努力搜尋一下也可找得到[3]。這小節談論如何列示、加入或移除軟體庫。

列示系統中已設置好的遠端軟體庫:

$ flatpak remotes

加入一遠端軟體庫,如:

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

這行與官方說明頁上加入軟體庫的命令是一樣的。此處的 flathub 是給遠端軟體庫命名的本地名稱(local name),URL指到遠端的 .flatpakrepo 檔案,其中包含了遠端軟體庫的詳情與GPG金鑰。

移除一遠端軟體庫,如:

$ flatpak remote-delete flathub

此例中, flathub 是遠端庫的本地名稱。

管理安裝的應用程式及執行時期

尋找想要安裝的軟體,如:

$ flatpak search gimp

會從已設置的遠端庫中尋找與 gimp 有關的軟體。 Flathub 頁面也有搜索應用的功能。

安裝軟體的方式,在 Flathub 上的軟體頁面也會寫,像:

$ flatpak install flathub org.gimp.GIMP

flatpak install 還有另外兩種形式,平常用不著。

列示已安裝的軟體與執行期:

$ flatpak list

若加 --app 選項則只列示應用軟體。

顯示已安裝程式或執行時期環境的資訊:

$ flatpak info NAME

這裡的NAME指軟體或執行時期的識別。

移除未被已安裝軟體使用到的runtimes與extensions,這些確定是用不著的東西:

$ flatpak uninstall --unused

移除軟體或執行時期,如:

$ flatpak uninstall NAME

若想同時刪除 ~/.var/app 中的軟體資料,可用 --delete-data 選項。

更新所有軟體與執行時期:

$ flatpak update

也可以只更新某一軟體或執行時間,將其識別加在後面即可。在更新之前建議先移除前述用不著的東西,不然這些用不到的東西也會跟著更新。

顯示歷史變更記錄:

$ flatpak history

其他

在 Flathub 上的軟體頁面也會寫如何執行軟體,像:

$ flatpak run org.gimp.GIMP

但在有做好桌面整合的情況下,使用應用程式選單來執行即可。

最後,若是安裝的東西有什麼問題,可試試修理一下:

$ flatpak repair

結語

以上 flatpak 幾個一般較常用的命令不難記,大致上已可應付日常使用,必要時再以 --help 選項或是官方說明頁面來查看較詳細說明即可。

參考與連結

  1. Using Flatpak
  2. Flatpak錯誤訊息
  3. Is flathub the only flatpak repository?

沒有留言:

張貼留言