Как найти информацию про установленный пакет на Linux?
В результате я получаю отрывки информации, нет полной картины. Я использую методы, какие озвучены, но не знаю о существовании других. Часто никакого Вики вообще нету..
А хотелось бы получить хотя бы название методов, чтобы дальше уже копать по ним, примеры использования. В идеале структурированную информацию о пакете
Для примера: установил я пакеты sudo apt install zbar-tools python-zbar python-qrtools — для распознавания qr кода на изображении или же sudo apt-get install bluetooth bluez blueman (это для работы с bluetooth на Raspberry Pi). Я знаю о существовании мифического файла blescan.py с примером работы, но не могу найти его расположения.
Буду признателен за объяснения и разжёвывание общих принципов.
Документация на всё что угодно всегда хоть немного неполна, неактуальна, некорректна и самопротиворечива. 🙂
@Shamil это общая проблема опенсорса. Все пректы GNU достаточно подробно задокументированы. Для себя, проблему с примерами я решил созданием проекта, куда добавляю записи из рабочего процесса github.com/Hellseher/cix
1 ответ 1
начинать можно с просмотра файлов, входящих в пакет:
например, рассмотрим пакет 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
Cписок установленных пакетов CentOS
Одни из самых частых задач, которые приходится выполнять системному администратору, — это установка, удаление и управление программным обеспечением. Иногда необходимо получить полный список установленных пакетов CentOS 7. Это нужно для создания резервной копии системы или для поиска определённого пакета.
В этой небольшой статье мы разберём несколько способов посмотреть установленные программы в CentOS через терминал.
Установленные пакеты CentOS 7
1. Пакетный менеджер RPM
RPM или Red Hat Package Manager — это низкоуровневый пакетный менеджер, который используется во всех дистрибутивах семейства Red Hat. Его можно сравнить с аналогичным инструментом в Ubuntu — dpkg. Уже существуют более высокоуровневые утилиты, например тот же YUM или DNF, но при необходимости можно использовать и rpm.
Чтобы посмотреть список всех установленных пакетов, необходимо использовать опцию -q, которая указывает, что надо выполнить запрос, вместе с опцией -a, она отображает все установленные пакеты:
Если вы хотите найти определённую группу пакетов, можно отфильтровать вывод с помощью grep:
Для сохранения вывода в файл используйте такую команду:
Позже этот список можно использовать для автоматической установки всех этих пакетов в другой системе. Для установки нужно использовать YUM:
sudo yum install $(cat packages.txt)
С помощью опции —last можно вывести время установки каждого пакета:
Посмотреть более подобную информацию об определённом пакете можно с помощью опции -i:
С помощью опции -l можно вывести список файлов пакета centos:
2. Пакетный менеджер YUM
Это основной пакетный менеджер, который используется в CentOS 7. Чтобы получить список установленных пакетов с помощью YUM, необходимо использовать команду list:
Также вы можете получить список всех доступных пакетов:
С помощью параметра update можно найти все пакеты, для которых есть обновления:
Вывести все пакеты можно с помощью параметра all:
Если вы хотите получить только список пакетов для установки, используйте awk:
sudo yum list installed | awk »
3. Дополнительные утилиты YUM-Utils
Пакет YUM-Utils — это набор утилит, реализующих дополнительные возможности для управления репозиториями, установки и отладки пакетов, поиска пакетов и много другого. Для установки набора программ используйте:
sudo yum install yum-utils
Чтобы посмотреть установленные пакеты CentOS, используйте команду repoquery:
sudo repoquery -a —installed
С помощью команды yumdb вы можете вывести все пакеты, установленные из определённого репозитория:
sudo yumdb search from_repo base
Выводы
В этой небольшой статье мы рассмотрели, как посмотреть установленные пакеты СentOS 7 с помощью пакетного менеджера RPM, YUM и дополнительных утилит. Как видите, это очень просто.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.