磐石系统空间使用分析工具.zip
依赖工具 gdu 网盘链接:https://pan.quark.cn/s/4e5e0d74f5c6
ostree-repo-objects-top.py 是一个用于分析 OSTree 仓库硬盘空间使用情况的工具。它能够:
ostree-repo-objects-top.py
python3
ostree
gdu
因为仓库中 gdu 版本不够高,没有所需的 -t 选项,所以不推荐用 apt install gdu 安装。
-t
apt install gdu
从 https://github.com/dundee/gdu/releases/latest 下载对应平台的二进制文件并安装。
比如执行命令:
cd /tmp && \ curl -L https://github.com/dundee/gdu/releases/download/v5.32.0/gdu_linux_amd64.tgz -o gdu.tgz && \ tar -xzf gdu.tgz && \ sudo cp gdu_linux_amd64 /usr/local/bin/gdu && \ sudo chmod +x /usr/local/bin/gdu && \ gdu --version
输出版本:
Version: v5.32.0 Built time: Sat Nov 22 12:00:38 PM CET 2025 Built user: dundee
系统层仓库:
python3 ostree-repo-objects-top.py --repo /sysroot/ostree/repo
数据层仓库:
python3 ostree-repo-objects-top.py --repo /persistent/ostree/repo
增加 --top N 选项,比如:
--top N
python3 ostree-repo-objects-top.py --repo /persistent/ostree/repo --top 50
--repo
--top
脚本会输出占用空间最大的前 N 个对象文件,按大小降序排列,每个对象包含以下信息:
[1] 515.2 MiB
/persistent/ostree/repo/objects/13/1bee...a7ac.file
[1] 515.2 MiB /persistent/ostree/repo/objects/13/1bee107bc56e42c873bbd572b024fff99461b8c153a76341cb8a7207a3a7ac.file Hash: 131bee107bc56e42c873bbd572b024fff99461b8c153a76341cb8a7207a3a7ac 所属分支及检出路径: - deployment/0/1: /opt/apps/com.qq.weixin.work.deepin/files/files.7z [2] 515.2 MiB /persistent/ostree/repo/objects/2c/d280dcc95855a6742accaa57a78d5db34a773ef91dd5ffe95339cd76ae083a.file Hash: 2cd280dcc95855a6742accaa57a78d5db34a773ef91dd5ffe95339cd76ae083a 所属分支及检出路径: - deployment/0/0, deployment/0/booted, tmp/merge-cache: /opt/apps/com.qq.weixin.work.deepin/files/files.7z [3] 252.6 MiB /persistent/ostree/repo/objects/3a/4a5df460d7003ff9c6c355e31798da9e3cd856e6f6a21a3ba4213ec4d1e7ad.file Hash: 3a4a5df460d7003ff9c6c355e31798da9e3cd856e6f6a21a3ba4213ec4d1e7ad 所属分支及检出路径: - deployment/0/0, deployment/0/booted, tmp/merge-cache: /opt/google/chrome/chrome [4] 249.0 MiB /persistent/ostree/repo/objects/92/117d8080dde7331e3175502f07a3c7f6b0b6f4397c278422e96d0575068e6a.file Hash: 92117d8080dde7331e3175502f07a3c7f6b0b6f4397c278422e96d0575068e6a 所属分支及检出路径: - deployment/0/1: /opt/google/chrome/chrome
分支名: 文件路径
deployment/0/0, deployment/0/booted: /opt/apps/...
gdu -p -t N
ostree refs
ostree ls -RC
dup_file_check.py 是一个用于不可变系统的重复文件诊断工具。它可以帮助你了解某个路径的文件在系统各层中的分布情况、硬链接关系,以及与 OSTree 仓库的一致性。
dup_file_check.py
对于 ostree 仓库中体积排名靠前的文件,可以使用本工具进行识别和确认。
它具有以下功能:
python3 dup_file_check.py <路径>
路径必须以 /etc、opt 或 /usr 开头。
/etc
opt
/usr
# 检查 /usr 下文件 python3 dup_file_check.py /usr/bin/python3.12
显示指定路径的当前状态:
检查路径: /usr/bin/python3.12 原始路径信息: -------------------------------------------------------------------------------- 状态: ✓ 存在 路径: /usr/bin/python3.12 Inode: 9223372036855339774 (真实 inode: 563966) 硬链接计数: 4 大小: 7.7 MB Hash: a5ff20fa863ed2d141084efe38d08768f96832b62f39771355b8832d876ae5d3 /ostree/repo: Object: ✓ 存在 Inode 一致性: ✓ 一致 (Object Inode: 563966)
字段说明:
按 Deploy 显示文件在各层的状态:
Deploy 0 3dc0a91fe55ba7b1b57fe30b8ddb8557bfb56ddd0f78b30adae303f82941aea6.0 上修改层: ✗ 不存在 路径: /persistent/overlay/data/layer-7eeb967e66872c77/usr/bin/python3.12 下修改层: ✗ 不存在 路径: /persistent/overlay/data/layer-403c140718d1abd5/usr/bin/python3.12 数据层: ✗ 不存在 路径: /persistent/ostree/data/3dc0a91fe55ba7b1b57fe30b8ddb8557bfb56ddd0f78b30adae303f82941aea6.0/checkout/usr/bin/python3.12 系统层: ✓ 存在 路径: /ostree/deploy/deepin/deploy/223fcc7cd4f4c25729928471f9de747a819719810f6ec960f209dcac20b810b3.1/usr/bin/python3.12 Inode: 563966 硬链接计数: 4 大小: 7.7 MB Hash: a5ff20fa863ed2d141084efe38d08768f96832b62f39771355b8832d876ae5d3 /ostree/repo: Object: ✓ 存在 Inode 一致性: ✓ 一致 (Object Inode: 563966) ...
层级说明:
显示硬链接检测结果:
汇总信息: 文件路径数量: 4 检测到硬链接: 有 4 个文件路径指向 1 个 inode 真实 inode 563966: 硬链接计数: 4 大小: 7.7 MB 路径列表: - /ostree/deploy/deepin/deploy/223fcc7cd4f4c25729928471f9de747a819719810f6ec960f209dcac20b810b3.1/usr/bin/python3.12 - /ostree/deploy/deepin/deploy/223fcc7cd4f4c25729928471f9de747a819719810f6ec960f209dcac20b810b3.0/usr/bin/python3.12 - /ostree/deploy/deepin/deploy/ceba75ed79795c22b64c81f0e57f07fc00831e4559b75e7a40c0796e0537a798.0/usr/bin/python3.12 - /ostree/repo/objects/a5/ff20fa863ed2d141084efe38d08768f96832b62f39771355b8832d876ae5d3.file
汇总说明:
sudo
/opt
使用 sudo 运行:
sudo python3 dup_file_check.py /usr/xxx/yyy
只支持以下路径格式:
# ✅ 正确 python3 dup_file_check.py /etc/fstab python3 dup_file_check.py /usr/bin/python3 # ❌ 错误 python3 dup_file_check.py /home/user/file
Featured Collection
Popular Events
磐石系统空间使用分析工具.zip
依赖工具 gdu 网盘链接:https://pan.quark.cn/s/4e5e0d74f5c6
OSTree 仓库中文件大小排行工具
简介
ostree-repo-objects-top.py是一个用于分析 OSTree 仓库硬盘空间使用情况的工具。它能够:依赖
python3- 默认已安装ostree- OSTree 版本控制系统,默认已安装gdu- 磁盘使用分析工具,是 ncdu 的现代化替代品,需要手动安装安装依赖
安装 gdu
因为仓库中 gdu 版本不够高,没有所需的
-t选项,所以不推荐用apt install gdu安装。从 https://github.com/dundee/gdu/releases/latest 下载对应平台的二进制文件并安装。
比如执行命令:
输出版本:
使用方法
基本用法
系统层仓库:
数据层仓库:
指定显示数量
增加
--top N选项,比如:参数说明
--repo: OSTree 仓库路径(必需)--top: 显示最大的前 N 个对象(可选,默认:100)输出说明
脚本会输出占用空间最大的前 N 个对象文件,按大小降序排列,每个对象包含以下信息:
[1] 515.2 MiB/persistent/ostree/repo/objects/13/1bee...a7ac.file输出示例
输出字段解释
分支名: 文件路径deployment/0/0, deployment/0/booted: /opt/apps/...)工作原理
gdu -p -t N扫描仓库,找出占用空间最大的前 N 个对象文件ostree refs获取所有分支列表ostree ls -RC,然后建立 hash 到检出路径的映射使用场景
重复文件诊断工具
简介
dup_file_check.py是一个用于不可变系统的重复文件诊断工具。它可以帮助你了解某个路径的文件在系统各层中的分布情况、硬链接关系,以及与 OSTree 仓库的一致性。对于 ostree 仓库中体积排名靠前的文件,可以使用本工具进行识别和确认。
它具有以下功能:
使用方法
路径必须以
/etc、opt或/usr开头。示例
输出说明
1. 原始路径信息
显示指定路径的当前状态:
字段说明:
2. 各 Deploy 层信息
按 Deploy 显示文件在各层的状态:
层级说明:
3. 汇总信息
显示硬链接检测结果:
汇总说明:
注意事项
sudo/etc、/opt、/usr三个目录权限不足
使用 sudo 运行:
路径不支持
只支持以下路径格式: