当前位置:网站首页>基于Qt的目录统计QDirStat
基于Qt的目录统计QDirStat
2022-08-04 02:58:00 【杨浦老苏】

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

看着不费钱,但是费嗓子

什么是 QDirStat ?
QDirStat是一个图形应用程序,用于显示磁盘空间的去向并帮助您清理它。
说实话,老苏不太喜欢这种带 vnc、rdp 的应用,比较耗资源,感觉像是跑了个虚拟机,关键是功能还单一。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 qdirstat ,选择第二个 linuxserver/qdirstat,版本选择 latest。
备注下版本:1.8.20220430

卷
在 docker 文件夹中,创建一个新文件夹,将其命名为 qdirstat,并在其中建两个子文件夹,分别是 config 和 data
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/qdirstat/config | /config | 存放设置 |
docker/qdirstat/data | /data | 要分析其磁盘使用信息的数据 |
/data受图形界面的限制,不能选择系统的目录,如果需要映射系统的目录,可以在命令行方式下运行

端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 |
|---|---|
5030 | 3000 |
3389 | 3389 |

如果只是在 Web 上使用,也可以删掉 3389 端口
3389是RDP客户端的默认端口;

环境
| 可变 | 值 |
|---|---|
TZ | 设为 Asia/Shanghai |
PUID | 设为 1000 |
PGID | 设为 1000 |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
/data也可以指向群晖的系统目录,为防止误删除文件,建议后面加上只读,变为/path/to/data:/data:ro
# 新建文件夹 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 文件
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 中执行也是可以的
# 进入目录
cd /volume2/docker/qdirstat
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:5030 就能看到主界面,但是黑乎乎的,只有左侧中间有个圆点

鼠标右键的菜单,xtem 和 XFCE Terminal 都是打开终端

按道理选择 QdirStat 会出现界面,但是实际上什么都没有,老苏一度怀疑是不是内存不够,但实际上不是。
在终端下执行会提示错误
qdirstat : error while loading shared libraries : libQt5Core.so.5 : cannot open shared object file : No such file or directory

问题处理
通过查阅资料,老苏找到了解决办法,但在群晖上产生的原因并不清楚,但老苏怀疑会不会还是 DSM 6.1.7-15284 内核版本太低的缘故
# 升级源
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
边栏推荐
- LeetCode每日一题(2285. Maximum Total Importance of Roads)
- [Playwright Test Tutorial] 5 minutes to get started
- Simple record of Flink principle flow chart
- How many ways do you know about communication between multiple threads?
- Example 039: Inserting elements into an ordered list
- Oracle迁移到瀚高之后,空值问题处理
- 出海季,互联网出海锦囊之本地化
- C language -- ring buffer
- In a more general sense, calculating the displacement distance and assumptions
- STM8S105K4T6------串口发送和接收
猜你喜欢
随机推荐
如何读取 resources 目录下的文件路径?
Flink原理流程图简单记录
In the season of going overseas, the localization of Internet tips for going overseas
织梦响应式酒店民宿住宿类网站织梦模板(自适应手机端)
如果禁用了安全启动,GNOME 就会发出警告
STM8S项目创建(STVD创建)---使用 COSMIC 创建 C 语言项目
View mysql deadlock syntax
董明珠直播时冷脸离场,员工频犯低级错误,自家产品没人能弄明白
2022G1工业锅炉司炉考试练习题及模拟考试
系统太多,多账号互通如何实现?
sudo 权限控制,简易
【云原生】DevOps(六):Jenkins流水线
Why use Selenium for automated testing
架构实战营模块三作业
Qt中对象树的机制介绍以及底层实现,各种结果分析:(以及自己写容易犯错的点)
如何在MySQL中的数据库下删除所有的表
移动端响应式适配的方法
Asynchronous programming solution Generator generator function, iterator iterator, async/await, Promise
瑞能微计量芯片RN2026的实用程序
STM8S105K4T6------Serial port sending and receiving









