基于Qt的目录统计QDirStat

但凡说是免费,估计这个月就少不了

看着不费钱,但是费嗓子


什么是 QDirStat ?

QDirStat 是一个图形应用程序,用于显示磁盘空间的去向并帮助您清理它。

说实话,老苏不太喜欢这种带 vncrdp 的应用,比较耗资源,感觉像是跑了个虚拟机,关键是功能还单一。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 qdirstat ,选择第二个 linuxserver/qdirstat,版本选择 latest

备注下版本:1.8.20220430

docker 文件夹中,创建一个新文件夹,将其命名为 qdirstat,并在其中建两个子文件夹,分别是 configdata

文件夹 装载路径 说明
docker/qdirstat/config /config 存放设置
docker/qdirstat/data /data 要分析其磁盘使用信息的数据

/data 受图形界面的限制,不能选择系统的目录,如果需要映射系统的目录,可以在命令行方式下运行

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
5030 3000
3389 3389

如果只是在 Web 上使用,也可以删掉 3389 端口

3389RDP 客户端的默认端口;

环境

可变
TZ 设为 Asia/Shanghai
PUID 设为 1000
PGID 设为 1000

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

/data 也可以指向群晖的系统目录,为防止误删除文件,建议后面加上只读,变为 /path/to/data:/data:ro

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 新建文件夹 qdirstat 和 子目录
mkdir -p /volume2/docker/qdirstat/{config,data}

# 进入 qdirstat 目录
cd /volume2/docker/qdirstat

# 运行容器
docker run -d \
--restart unless-stopped \
--name qdirstat \
-p 5030:3000 \
-v $(pwd)/config:/config \
-v $(pwd)/data:/data \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
linuxserver/qdirstat:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: "2.1"
services:
qdirstat:
image: linuxserver/qdirstat:latest
container_name: qdirstat
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- /volume2/docker/qdirstat/config:/config
- /volume2/docker/qdirstat/data:/data
ports:
- 5030:3000
restart: unless-stopped

然后执行下面的命令,在 portainer 中执行也是可以的

1
2
3
4
5
6
7
# 进入目录
cd /volume2/docker/qdirstat

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5030 就能看到主界面,但是黑乎乎的,只有左侧中间有个圆点

鼠标右键的菜单,xtemXFCE Terminal 都是打开终端

按道理选择 QdirStat 会出现界面,但是实际上什么都没有,老苏一度怀疑是不是内存不够,但实际上不是。

在终端下执行会提示错误

1
qdirstat : error while loading shared libraries : libQt5Core.so.5 : cannot open shared object file : No such file or directory

问题处理

通过查阅资料,老苏找到了解决办法,但在群晖上产生的原因并不清楚,但老苏怀疑会不会还是 DSM 6.1.7-15284 内核版本太低的缘故

1
2
3
4
5
6
7
8
# 升级源
sudo apt update -y

# 安装 strip
sudo apt install -y binutils

# 修改 ELF section
sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

把上面内容依次复制粘贴到下图中的位置,然后再次粘贴到终端中

依次执行完成后,再执行 qdirstat 就能看到界面了

目录的使用情况

参考文档

shundhammer/qdirstat: QDirStat - Qt-based directory statistics (KDirStat without any KDE - from the original KDirStat author)
地址:https://github.com/shundhammer/qdirstat

Docker Hub
地址:https://hub.docker.com/r/linuxserver/qdirstat