Как узнать, какие команды оборачивают команды `gparted`,` partitionmanager` ... libcalls или `fdisk`,` parted` ...?

643
uprego

Запросы partitionmananger --helpне документируют какой-либо подробный режим. Даже gparted --helpне реализовано. Хотелось бы использовать любой --verboseрежим без каких- либо более эзотерических вещей, таких как использование ltrace, потому что, если не проверить их источники, невозможно узнать, используют ли они только libpartedили некоторые операции выполняются с помощью системных команд, следовательно, не отслеживаются.

Я не знаю, гнездящихся straceна ltraceили наоборот ... Я думаю, что будет много стандартный вывод?

Как узнать, что gparted, partitionmanager... libcalls или fdisk, parted... команды обертывают? Я хочу научиться использовать, partedи fdiskчтобы не полагаться на GUI-интерфейсы, такие как gpartedили partitionmanager, поскольку в настоящее время я более или менее знаю, как использовать lvmнабор операций, но не более загадочный fdisk и parted, но я думаю, что это должно сильно помочь смотреть реальные примеры parted, fdiskи libparted которые вызываются использованием пользовательской, например, gparted.

4

1 ответ на вопрос

3
glapworth

If I understand your question correctly (and I might not), then I think that you wish to determine which libraries are being used by a particular application. In this case ldd is your friend.

ldd /path/to/binary

gparted is actually a script (well it is on my Debian Wheezy box), and to determine the executables which are being called, simply cat /usr/sbin/gparted and read the script. When you find the exectuable files you are interested in, you can run ldd to determine which libraries are being linked to.

If you want a more verbose answer for a particular application, you can always download the source code if the software is open source, and have a look there. Usually you will find a file called INSTALL ( you can get from package developer's website or in most GNU/Linux distributions you may find it also in /usr/share/doc/) which tell you which libraries the software depends on before you can compile it.

Я на самом деле знаю, что gparted требует и использует libparted, ldd не совсем необходим для того, чтобы знать это, потому что это указано в описании пакета gparted и потому что пакет зависит от libparted (libparted0debian1 на самом деле для Debian 7 _wheezy_). Я отредактировал вопрос, чтобы точнее заявить, что я хочу видеть реальные вызовы функций библиотеки, а не просто знать, от какой библиотеки это зависит. Я просто думал, что сломаю меньше разделов, если использую документацию 'parted' не только сам по себе, но вместе с реальными примерами libparted, взятыми из подробного режима `gparted`. uprego 9 лет назад 0
Я думаю, что единственным решением этой проблемы будет изучение исходного кода пакета. Тем не менее, я нашел это, что может быть полезным? [Libparted_handbook.pdf] (http://zester.googlecode.com/files/libparted_handbook.pdf) glapworth 9 лет назад 0

Похожие вопросы