当我使用 GParted 进行一些复杂的分区和文件系统操作时,它提供了查看所采取步骤的详细信息的选项。但这并没有提供 GParted 使用的底层命令的所有详细信息。
是否可以从 GParted 获取日志或调试类型的输出,以便我可以准确地看到它用来执行我要求它执行的所有命令?
原因是因为我想准确了解 GParted 对我的 btrfs 文件系统执行的各种操作,并且我想将这些命令放入脚本中以供其他地方使用。
也许我可以在调试器中运行 GParted 并在它缩小文件系统/分区时逐步执行?
GParted 在线论坛已经关闭,所以我不知道在哪里可以问这个问题?
柔性
据我以前使用的记忆,展开进度对话框的“详细信息”部分实际上会显示每个步骤中使用的命令。
forkstat
、、extrace
或execsnoop
也可用于记录启动的每个新进程和执行的每个二进制文件;strace -f -e execve -s 999 gparted
也有效。GParted 所做的某些操作不是以命令的形式进行的;例如,它使用 libparted 直接编辑分区表。
一般来说,GParted 对文件系统没有任何理解(也许除了 FAT)——它依赖于各自的工具来完成所有操作,我怀疑对于 btrfs,它将使用的唯一命令是
btrfs filesystem resize
(它在内部完成其他所有操作)。因此扩展分区的过程如下:
btrfs filesystem resize ...
以重新排列文件系统。(收缩时顺序相反。)