4.3 KiB
4.3 KiB
Linux 存储管理工具 - Tkinter 版本
这是一个使用 Tkinter 重写的 Linux 存储管理工具,适配低版本系统(如 CentOS 8)。
特性
- 无需 PySide6: 使用 Python 内置的 Tkinter 模块,无需安装额外的 GUI 库
- 兼容旧系统: 支持 Python 3.6+,兼容 CentOS 8/RHEL 8 等系统
- 完整功能: 保留原版本的所有功能,包括:
- 块设备管理(查看、创建分区、格式化、挂载/卸载)
- RAID 管理(创建、停止、删除阵列)
- LVM 管理(PV/VG/LV 的创建和删除)
- 设备占用解除
系统要求
- Python 3.6 或更高版本
- tkinter 模块(通常随 Python 一起安装)
- 以下系统工具(根据功能需求):
lsblk- 块设备信息parted- 分区管理mdadm- RAID 管理lvm2- LVM 管理
安装
CentOS 8 / RHEL 8
# 安装 Python 3 和 tkinter
sudo yum install -y python3 python3-tkinter
# 安装必要的存储管理工具
sudo yum install -y parted mdadm lvm2 util-linux
# 可选:安装 pexpect(用于交互式命令,推荐安装)
sudo pip3 install pexpect
Ubuntu 20.04 / Debian 10
# 安装 Python 3 和 tkinter
sudo apt-get update
sudo apt-get install -y python3 python3-tk
# 安装必要的存储管理工具
sudo apt-get install -y parted mdadm lvm2 util-linux
# 可选:安装 pexpect
sudo pip3 install pexpect
使用方法
方式一:使用启动脚本(推荐)
chmod +x run_tkinter.sh
./run_tkinter.sh
方式二:直接运行
sudo python3 main_tkinter.py
方式三:创建桌面快捷方式
# 创建桌面文件
cat > ~/.local/share/applications/linux-storage-manager.desktop << 'EOF'
[Desktop Entry]
Name=Linux 存储管理器
Comment=Linux 存储管理工具
Exec=python3 /path/to/diskmanager/main_tkinter.py
Type=Application
Terminal=false
Icon=drive-harddisk
Categories=System;Filesystem;
EOF
文件说明
| 文件 | 说明 |
|---|---|
main_tkinter.py |
程序入口 |
mainwindow_tkinter.py |
主窗口实现 |
dialogs_tkinter.py |
对话框组件 |
logger_config_tkinter.py |
日志配置(Tkinter 版本) |
disk_operations_tkinter.py |
磁盘操作模块(Tkinter 版本) |
raid_operations_tkinter.py |
RAID 操作模块(Tkinter 版本) |
lvm_operations_tkinter.py |
LVM 操作模块(Tkinter 版本) |
occupation_resolver_tkinter.py |
设备占用解除模块(Tkinter 版本) |
system_info.py |
系统信息获取模块(无需修改) |
run_tkinter.sh |
启动脚本 |
verify_tkinter.py |
环境验证脚本 |
与原版本的区别
- GUI 框架: PySide6 → Tkinter
- 线程机制: QThread → threading.Thread
- 信号/槽: Qt Signal/Slot → Python 回调函数 + queue
- 对话框: QDialog → tkinter.Toplevel
- 消息框: QMessageBox → tkinter.messagebox
- 输入框: QInputDialog → tkinter.simpledialog
注意事项
- 权限: 程序需要 root 权限才能执行存储管理操作
- 数据安全: 删除、格式化等操作会永久删除数据,请谨慎操作
- 备份: 执行重要操作前请备份重要数据
- 兼容性: 虽然适配了旧系统,但建议使用前先在测试环境验证
故障排除
问题:无法启动,提示缺少 tkinter
解决:
# CentOS/RHEL
sudo yum install python3-tkinter
# Ubuntu/Debian
sudo apt-get install python3-tk
问题:部分功能无法使用
解决: 确保安装了相应的系统工具:
# CentOS/RHEL
sudo yum install parted mdadm lvm2
# Ubuntu/Debian
sudo apt-get install parted mdadm lvm2
问题:界面显示异常
解决: 尝试设置环境变量:
export DISPLAY=:0
python3 main_tkinter.py
问题:提示缺少 pexpect
解决: pexpect 是可选依赖,用于处理交互式命令(如创建 RAID 时的确认提示)。
sudo pip3 install pexpect
如果没有安装 pexpect,RAID 创建功能仍能工作,但可能无法处理交互式提示。
开发信息
- 目标 Python 版本: 3.6+
- GUI 库: Tkinter (内置)
- 线程库: threading (内置)
- 依赖:
- 必需: 无(纯 Python 标准库 + tkinter)
- 可选: pexpect(用于交互式命令)
许可证
与原项目相同。