Страницы

Поиск по вопросам

вторник, 20 ноября 2018 г.

Как найти информацию про установленный пакет на Linux?

Доброго времени суток.
Вопрос довольно глобального характера. Я не могу понять саму концепцию.
Как найти информацию по работе установленного пакета? Где найти примеры использования? Где расположены в системе файлы, файлы с примерами, мануалы? Какие методы использует этот пакет, чтобы к нему обратиться?
На данный момент я представляю себе поиск информации так:
Поиск на форумах и сайтах статей и вопросов от тех, кто уже делал похожий проект и устанавливал данные пакеты (оттуда и знание о существовании самого пакета) 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

Комментариев нет:

Отправить комментарий