清理
卸载应用
flatpak --user uninstall <app-id> # 保留设置和数据
flatpak --user uninstall --delete-data <app-id> # 连同设置和数据一起删
不加 --delete-data 时,应用的设置留在 ~/.var/app/<app-id>/,以后重新安装可以接着用。
卸载不会动应用写在沙箱之外的文件:也就是它被允许使用的文件夹(文档、图片、它自己的 ~/.应用名 文件夹)。应用页面的权限列表写着是哪些文件夹。你用 flatpak override 做的修改也会保留,用 flatpak override --user --reset <app-id> 删掉。你在它的权限对话框里做过的回答也一样,用 flatpak permission-reset <app-id> 清掉(见权限存储)。
删除不再使用的运行时
运行时是共用的,最后一个用它的应用卸载后它还在;目录切到新版本后,旧版本也还在。删掉没人用的:
flatpak --user uninstall --unused
移除 FlatPark
先卸载它的应用,然后:
flatpak --user remote-delete flatpark
系统级配置用同样的命令,去掉 --user。
回收下载的安装包占用的空间
FlatPark 的应用是在安装时下载开发者自己的文件的。Flatpak 装这类应用时,解包之后还会把原始下载保留在它的仓库里,每次更新再多存一份新的。大应用累积起来很可观:这份副本和应用安装包一样大,而且只有重装同一个版本时才会再用到。
查看这些副本占了多少空间:
find ~/.local/share/flatpak/repo/objects -name '*.commitmeta' -size +100k \
-exec grep -laF xa.extra-data {} + | xargs -r du -ch | tail -1
在没有 Flatpak 安装或更新正在进行时删除它们:
find ~/.local/share/flatpak/repo/objects -name '*.commitmeta' -size +100k \
-exec grep -laF xa.extra-data {} + | xargs -r rm -f
代价是:Flatpak 把下载和这个应用版本的签名存在同一个文件里,所以签名也会一起删掉。签名只在下载某个版本时才校验,所以运行、更新和 flatpak repair 都不受影响,下一次更新会带来新的、有签名的版本。因为每次更新都会再存一份,这件事值得隔一段时间做一次。系统级配置的仓库在 /var/lib/flatpak/repo,命令需要 sudo。