如何删除 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 wiki:

Flatpak 使用 OSTree 分发和管理应用程序和运行时。上图树中的 repo/ 是本地 OSTree 存储库。Flatpak 将应用程序和运行时的 active/ 目录创建为 OSTree 检出项(在同一目录中)的符号链接。使用 OSTree 的优点是检出项会自动进行重复数据删除并共享磁盘空间,因为 OSTree 使用硬链接和基于内容的寻址。如果需要,OSTree 还可以轻松回滚到早期版本。

refs/remotes/org.flatpaklinux.Suphead-origin看起来很像 Git repo 中的东西:

$ 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]:

带有 GUI仓库是一个多功能工具箱,用于管理 flatpak 用户数据、查看 flatpak 应用信息以及批量管理已安装的 flatpaks。

答案3

您可以使用--unsed修改器卸载它们。

flatpak uninstall --unused

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

相关内容