Доброго времени суток.
Вопрос довольно глобального характера. Я не могу понять саму концепцию.
Как найти информацию по работе установленного пакета? Где найти примеры использования? Где расположены в системе файлы, файлы с примерами, мануалы? Какие методы использует этот пакет, чтобы к нему обратиться?
На данный момент я представляю себе поиск информации так:
Поиск на форумах и сайтах статей и вопросов от тех, кто уже делал похожий проект и устанавливал данные пакеты (оттуда и знание о существовании самого пакета)
Stackoverflow
Git репозиторий проекта и его Вики
apt-cache show [пакет] - обычно лишь общие слова о работе пакета, которые я уже знаю
man [пакет] - не работает, потому что нужно знать название методов данного пакета
В результате я получаю отрывки информации, нет полной картины. Я использую методы, какие озвучены, но не знаю о существовании других. Часто никакого Вики вообще нету..
А хотелось бы получить хотя бы название методов, чтобы дальше уже копать по ним, примеры использования. В идеале структурированную информацию о пакете
Для примера: установил я пакеты sudo apt install zbar-tools python-zbar python-qrtools - для распознавания qr кода на изображении или же sudo apt-get install bluetooth bluez blueman (это для работы с bluetooth на Raspberry Pi). Я знаю о существовании мифического файла blescan.py с примером работы, но не могу найти его расположения.
Буду признателен за объяснения и разжёвывание общих принципов.
Ответ
начинать можно с просмотра файлов, входящих в пакет:
$ dpkg -L имя.пакета
например, рассмотрим пакет bluez
исполняемые файлы обычно располагаются в каталогах, содержащих в пути строку bin
$ dpkg -L bluez | grep bin
/bin
/bin/hciconfig
/usr/sbin
/usr/bin
/usr/bin/bluetoothctl
/usr/bin/bccmd
/usr/bin/btmon
/usr/bin/rctest
/usr/bin/hciattach
/usr/bin/hcitool
/usr/bin/sdptool
/usr/bin/ciptool
/usr/bin/l2ping
/usr/bin/l2test
/usr/bin/rfcomm
/usr/bin/gatttool
/usr/sbin/bluetoothd
видим ряд исполняемых файлов, начиная с hciconfig и заканчивая bluetoothd
man-страницы обычно располагаются в каталогах, содержащих в пути строку man
$ dpkg -L bluez | grep man
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/bluetoothd.8.gz
/usr/share/man/man1
/usr/share/man/man1/bluetoothctl.1.gz
/usr/share/man/man1/btmon.1.gz
/usr/share/man/man1/l2test.1.gz
/usr/share/man/man1/hid2hci.1.gz
/usr/share/man/man1/l2ping.1.gz
/usr/share/man/man1/rctest.1.gz
/usr/share/man/man1/rfcomm.1.gz
/usr/share/man/man1/ciptool.1.gz
/usr/share/man/man1/hcitool.1.gz
/usr/share/man/man1/hciconfig.1.gz
/usr/share/man/man1/hciattach.1.gz
/usr/share/man/man1/bccmd.1.gz
/usr/share/man/man1/sdptool.1.gz
видим ряд man-страниц, начиная с bluetoothd и заканчивая sdptool. просмотреть их можно командами man bluetoothd, ..., man sdptool
документацию (иногда содержащую примеры) можно отобрать по признаку «содержит строку doc в пути»:
$ dpkg -L bluez | grep doc
/usr/share/doc
/usr/share/doc/bluez
/usr/share/doc/bluez/README.Debian.gz
/usr/share/doc/bluez/changelog.Debian.gz
/usr/share/doc/bluez/changelog.Debian.amd64.gz
/usr/share/doc/bluez/NEWS.Debian.gz
/usr/share/doc/bluez/changelog.gz
/usr/share/doc/bluez/copyright
нередко, если документации много, её выделют в отдельный пакет, имя которого заканчивается суффиксом -doc (а иногда ещё и с дополнительным разбиением на языки, с добавлением суффикса -язык). например, документация к пакету aptitude содержится в таких пакетах:
$ apt-cache search aptitude doc
aptitude-doc-cs - Czech manual for aptitude, a terminal-based package manager
aptitude-doc-en - English manual for aptitude, a terminal-based package manager
aptitude-doc-es - Spanish manual for aptitude, a terminal-based package manager
aptitude-doc-fi - Finnish manual for aptitude, a terminal-based package manager
aptitude-doc-fr - French manual for aptitude, a terminal-based package manager
aptitude-doc-it - Italian manual for aptitude, a terminal-based package manager
aptitude-doc-ja - Japanese manual for aptitude, a terminal-based package manager
aptitude-doc-ru - Russian manual for aptitude, a terminal-based package manager
Комментариев нет:
Отправить комментарий