有人知道为什么$HOME/.local/share/flatpak/repo
目录下有这么多文件(69k)而且这么大(2Gb)吗?那是什么东西?反正我几乎不怎么用flatpaks....
我猜备份(deja-dup)中不包括flatpak目录也没关系。
顺便说一句,看起来里面有硬链接,因为flatpak文件夹的文件数量是原来的两倍,但总大小相同。
有人知道为什么$HOME/.local/share/flatpak/repo
目录下有这么多文件(69k)而且这么大(2Gb)吗?那是什么东西?反正我几乎不怎么用flatpaks....
我猜备份(deja-dup)中不包括flatpak目录也没关系。
顺便说一句,看起来里面有硬链接,因为flatpak文件夹的文件数量是原来的两倍,但总大小相同。
Flatpak软件包以沙盒模式运行:因此,按设计,即使是较小的应用程序,flatpak也会占用相当多的磁盘空间,因为它会拉取应用程序的所有依赖项并独立运行。这种设计的优点是您不需要担心可能破坏您的应用程序的系统依赖项和更新。然而,它占用了大量的磁盘空间。
因此,用户唯一能做的就是监控flatpak的大小并定期进行清理。个人而言,我有一个名为“spring-cleaning”的脚本,我定期使用它来清理系统(其中包含与flatpak相关的部分)。
通用清理
flatpak list --app --columns=application,runtime
可以列出哪个应用程序使用了哪个运行时),您可以使用flatpak uninstall --unused
命令将其删除。这是一次清理操作,第一次运行时可能会产生很大的效果,但是随后的清理可能不会有显著的影响。/var/lib/flatpak/repo/objects
文件夹中创建对象,这些对象可能会占用相当大的空间。要清理这些没有明确引用其应用程序的对象,您需要运行以下命令(使用sudo
,因为您正在清理系统文件夹中的对象):sudo flatpak repair
。每次运行该命令时,此清理操作的影响可能是显著的。sudo rm -rfv /var/tmp/flatpak-cache-*
和rm -rfv ~/.cache/flatpak/*
flatpak --columns=name,size --user list
,然后使用应用程序名称卸载应用程序 flatpak uninstall <flatpak_app_name>
结合在一个脚本中(以sudo权限运行)#!/bin/bash
# Error status variables
STATUS_OK=0
STATUS_ERROR=1
# Definitions
USER_NAME="${SUDO_USER:-${USER}}"
USER_DIR="/home/${USER_NAME}"
# Execute it as root user
if [ "${USER}" != root ]; then
echo "ERROR: must be root! Exiting..."
exit "${STATUS_ERROR}"
fi
# Current status
USED_BEFORE="$(df -k / | awk 'NR>1 {print $3}')"
# flatpak cleanup
if [ -n "$(command -v flatpak)" ]; then
flatpak repair &> /dev/null
# Remove flatpak cache
rm -rf /var/tmp/flatpak-cache-*
sudo -u "${USER_NAME}" rm -rf "${USER_DIR}"/.cache/flatpak/*
# Remove unused flatpak runtimes
if [ -n "$(flatpak list --runtime)" ]; then
flatpak uninstall --unused
fi
fi
# Current status
USED_AFTER="$(df -k / | awk 'NR>1 {print $3}')"
# Summary
echo "Freed up space: $(( (USED_BEFORE - USED_AFTER)/1024 )) MB"
exit "${STATUS_OK}"
--user
安装的吗?提供flatpak list --show-details --app --runtime
的输出来列出所有应用程序和运行时的安装详细信息(包括所有列)。运行sudo flatpak uninstall --unused
(使用--user
只针对用户范围)来卸载未使用的引用(在测试之前/之后使用du -sh ~/.local/share/flatpak/repo
)。repair --user
修剪对象。顺便说一句,你可以随时清理缓存(sudo rm -rfv /var/tmp/flatpak-cache-* ~/.cache/flatpak/**
)。 - Pablo Bianchiorg.gnome.Platform
的版本,每个占用了大约1GB的空间,但几乎没有实际需要这些版本的应用程序。 - Oliflatpak list --app --columns=application,runtime
列出哪个应用程序使用哪个运行时,或者使用--app-runtime=
列出使用特定运行时的应用程序。flatpak uninstall –unused
应该删除(系统和用户)未使用的运行时。您是否有早于1.9.1的flatpak版本? - Pablo Bianchi