我使用以下形式的命令安装了一个应用程序:
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
答案3
您可以使用--unsed
修改器卸载它们。
flatpak uninstall --unused