如何了解“gparted”、“partitionmanager”...libcalls 或“fdisk”、“parted”...命令正在包装什么?

如何了解“gparted”、“partitionmanager”...libcalls 或“fdisk”、“parted”...命令正在包装什么?

查询partitionmananger --help未记录任何详细模式。甚至gparted --help未实现。我希望我可以使用任何--verbose模式,而不需要使用更深奥的东西,例如使用ltrace,因为除非检查它们的来源,否则无法知道它们是否仅使用libparted或某些操作是使用系统命令执行的,因此无法被跟踪。

我不知道嵌套straceltrace反之亦然...我猜那会有很多标准输出?

如何了解gpartedpartitionmanager... libcalls 或fdiskparted... 命令正在包装什么?我想学习使用parted和,fdisk以便不需要依赖 GUI 界面,例如gpartedpartitionmanager,因为我目前或多或少知道如何使用lvm操作套件,但不知道更加神秘 fdisk和,但我想观察用户使用调用的实际例子和 libparted应该parted会有很大帮助,例如。partedfdiskgparted

答案1

如果我理解你的问题正确(也可能不正确),那么我认为你希望确定某个特定应用程序正在使用哪些库。在这种情况下,ldd这就是你的朋友。

ldd /path/to/binary

gparted实际上是一个脚本(它在我的 Debian Wheezy 盒子上),要确定正在调用的可执行文件,只需cat /usr/sbin/gparted阅读脚本即可。找到您感兴趣的可执行文件后,您可以运行 ldd 来确定要链接到哪些库。

如果您想要了解某个特定应用程序的更详细答案,您可以随时下载源代码(如果该软件是开源的),然后查看。通常,您会找到一个名为的文件INSTALL(您可以从软件包开发人员的网站获取,或者在大多数 GNU/Linux 发行版中,您也可以在中找到它/usr/share/doc/),它会告诉您在编译软件之前该软件依赖哪些库。

相关内容