Flatpak應用程式的檔案應該如何刪除?

Flatpak應用程式的檔案應該如何刪除?

我使用以下形式的命令安裝了一個應用程式:

flatpak --user install -y --app --bundle "$DIR/Suphead.flatpak"

我使用以下形式的命令卸載了它:

flatpak --user uninstall org.flatpaklinux.Suphead

但是,卸載後,我仍然在系統上看到許多與該應用程式關聯的文件,這些文件位於以下所有目錄中:

~/.local/share/flatpak/repo/refs/remotes/org.flatpaklinux.Suphead-origin
~/.local/share/flatpak-linux/Suphead
~/.local/share/flatpak-linux/Suphead/drive_c
~/.var/app/org.flatpaklinux.Suphead

Flatpak 不應該刪除這些目錄及其內容嗎?我應該rm -rf對他們做一個嗎?

答案1

套件管理工具通常將檔案保留在主目錄中,以便在重新安裝時保留使用者首選項等。如果您願意,您可以選擇刪除它們,但我不希望flatpak(或任何其他軟體安裝工具)刪除我的主目錄中的設定檔。就是這樣~/.var/app,看著Flatpak wiki 中的範例

.var/
└── app
    └── org.gnome.GEdit
        ├── data
        ├── config
        └── cache

~/.local/share/flatpak/repo/refs/remotes/org.flatpaklinux.Suphead-origin看起來它是 flatpak 狀態的一部分,它可以使用它來追蹤它安裝的內容以及來自何處(此類資料通常在軟體包刪除後也保留在周圍,無論如何它們不會佔用太多空間)。來自 Flatpak 維基:

Flatpak 使用 OSTree 來分發和管理應用程式和執行時間。上面樹中的 repo/ 是本地 OSTree 儲存庫。 Flatpak 創建應用程式和運行時的 active/ 目錄作為 OSTree 簽出的符號連結(在同一目錄中)。使用 OSTree 的優點是自動刪除重複資料並共享磁碟空間,因為 OSTree 使用硬連結和基於內容的尋址。如果需要,OSTree 還可以輕鬆回滾到早期版本。

refs/remotes/org.flatpaklinux.Suphead-origin看起來很像 Git 儲存庫中的內容:

$ cat .git/refs/remotes/origin/master
73dad27c1c047c159f0ee22d6627af5bfdf4dbfc

如果確實如此,那麼該文件僅指示您上次從遠端來源取得某些內容時的提交。

如果您認為即使在刪除應用程式後,Flatpak 仍佔用太多空間,請檢查輸出以flatpak list -d --app --runtime查看仍然安裝了哪些應用程式和運行時以及它們佔用的空間。

答案2

如上所述這裡,

flatpak uninstall --delete-data  # Delete app data

將刪除仍留在 上的已卸載的應用程式資料~/.var/app

預設會詢問每個應用程序,Delete data for Application_ID? [y/n]:.

帶圖形使用者介面倉庫是一個多功能工具箱,用於管理 Flatpak 用戶資料、查看 Flatpak 應用程式資訊以及批次管理已安裝的 Flatpak。

答案3

您可以使用--unsed修改器卸載它們。

flatpak uninstall --unused

參考: http://docs.flatpak.org/en/latest/flatpak-command-reference.html?highlight=uninstall#flatpak-uninstall

相關內容