- Какому пакету принадлежит файл в Linux
- Узнаем какому пакету принадлежит файл в dpkg
- Как узнать имя пакета по файлу в apt-file
- Узнаем какому пакету принадлежит файл в rpm
- Какому пакету принадлежит файл в Arch Linux
- Поиск пакета по файлу в Gentoo
- Выводы
- Как узнать точные имена пакетов для приложений в Linux
- Использование apt-cache
- Использование Axi-кэша
Какому пакету принадлежит файл в Linux
В этой краткой заметке я хочу рассказать как узнать какому пакету принадлежит файл Linux, мы рассмотрим как решить эту задачу не только в Ubuntu, но и в других популярных дистрибутивах. Такая задача возникает очень редко. Например, вы чистите систему, увидели странный файл, или файл который занимает много места и хотите узнать какому пакету он принадлежит, и вообще, нужен ли он здесь. Или другая ситуация вы хотите установить или удалить программу но не помните название пакета, но знаете как называется исполняемый файл.
Для получения такой информации в Ubuntu есть несколько способов. Это стандартная утилита dpkg, которая работает только с существующими файлами, а также инструмент apt-file, позволяющий получить название программы зная имя исполняемого файла. Подобные инструменты есть и для других дистрибутивов.
Узнаем какому пакету принадлежит файл в dpkg
Для того чтобы узнать какому пакету принадлежит файл dpkg имеет опцию -S, правда, выведено будет только имя пакета и адрес файла, например:
Теперь если хотим получить информацию о пакете, используем опцию -s:
Или объедением эти команды:
dpkg -S /usr/bin/cloud | awk -F: » | xargs dpkg -s
Как узнать имя пакета по файлу в apt-file
Утилита apt-file не является стандартной для системы Ubuntu, поэтому сначала ее нужно установить:
Затем нужно обновить базу данных программы, при обновлении загрузиться около 30 Мегабайт данных:
Теперь можно использовать:
apt-file search /usr/bin/ncdu
Узнаем какому пакету принадлежит файл в rpm
В системах на базе Red Hat Linux тоже можно выполнить аналогичное действие. Здесь вместо dpkg используется консольная утилита rpm. Для получения информации о пакетах используется опция -q, если комбинировать ее с опцией -f и передать адрес файла, мы сможем узнать какому пакету принадлежит файл:
Хотите более подробной информации о пакете, добавьте опцию -i:
Пакетный менеджер yum, используемый в системах, основанных на Red Hat, тоже умеет искать пакеты по файлу, для этого есть команда whatpovides:
Какому пакету принадлежит файл в Arch Linux
ArchLinux использует собственный менеджер пакетов, очень сильно отличающийся от описанных выше. Но здесь тоже можно сделать то, что нам нужно. Для этого есть опция -Qo:
Но этот способ работает только для установленных пакетов, если пакет не установлен, можно использовать утилиту pkgfile. Она не поставляется по умолчанию, но ее можно установить:
Теперь посмотрим какому пакету принадлежит /bin/evince:
Теперь вы можете узнать из какого пакета можно получить нужную вам программу.
Поиск пакета по файлу в Gentoo
Еще один интересный дистрибутив со своеобразной системой работы с пакетами. Здесь пакеты поставляются в виде исходных кодов и скриптов для сборки. Найти пакет по файлу вы можете с помощью утилиты equery, передав ей параметр b. Например:
Такой способ работает только для установленных пакетов. Из-за специфики дистрибутива для не установленных пакетов способа поиска не существует.
Выводы
Теперь вы знаете как понять какому пакету принадлежит файл в любом из самых популярных дистрибутивов Linux. Во всех дистрибутивах, основанных на Ubuntu и Debian, работает dpkg, для RPM-based дистрибутивов подходит утилита rpm. А два остальных менее популярных, но очень интересных мы рассмотрели отдельно. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как узнать точные имена пакетов для приложений в Linux
Ubuntu Software Center позволяет вам легко добавлять и удалять программы в Ubuntu . Однако в каждом дистрибутиве Linux есть свой графический метод добавления и удаления программного обеспечения. Если вы предпочитаете использовать клавиатуру, вы можете устанавливать и удалять программное обеспечение с помощью командной строки.
Чтобы использовать командную строку для установки и удаления программного обеспечения, вам необходимо знать имя пакета, который вы хотите установить или удалить. Advanced Packaging Tool (APT) — это система управления пакетами, используемая в дистрибутивах Linux на основе Debian, таких как Ubuntu. Программа командной строки «apt-cache» используется системой APT для ведения своей базы данных, и вы можете использовать apt-cache для поиска информации из метаданных, связанных с пакетами в системе.
ПРИМЕЧАНИЕ. Когда мы говорим ввести что-то в этой статье, и вокруг текста есть кавычки, НЕ вводите кавычки, если мы не укажем иное.
Использование apt-cache
Чтобы использовать apt-cache для вывода списка всех доступных пакетов в системе, введите в командной строке следующую команду и нажмите «Enter».
Обратите внимание, что мы добавили «| меньше »до конца команды. Это направляет вывод в команду «less», которая позволяет нажимать стрелки вверх и вниз для прокрутки списка по одному элементу за раз или нажимать клавиши «PgUp» и «PgDn» для прокрутки списка на один экран в время. Конвейер вывода «больше» («| больше») вместо «меньше» позволяет нажимать «Ввод» для перехода по одной строке за раз, когда отображается один экран результатов.
Отображается первый экран результатов. Используйте клавиши со стрелками для перемещения вверх или вниз или нажмите «Ввод», чтобы отобразить следующий экран результатов. Нажмите «q», чтобы выйти из команды «less» и вернуться к приглашению.
Если вы знаете начало имени пакета, вы можете выполнить поиск по этому тексту, чтобы сузить поиск. Например, чтобы отобразить все пакеты, начинающиеся со слова «огонь», введите в командной строке следующую команду и нажмите «Ввод».
Все пакеты начинаются с «пожарного» дисплея. Опять же, мы передали команду «меньше», чтобы мы могли легко просматривать результаты.
Чтобы отобразить информацию о конкретном пакете, такую как номер версии пакета, проверить суммы, размер, установленный размер и категорию, используйте параметр «show», как показано в следующем примере.
Зависимости для пакета — это то, что пакет должен быть уже установлен в системе, чтобы пакет функционировал. Обратные зависимости для пакета — это то, какие другие пакеты используют этот пакет для работы. Чтобы увидеть зависимости и обратные зависимости для пакета, используйте параметр «showpkg». Например, введите в командной строке следующую команду и нажмите «Enter», чтобы узнать зависимости и обратные зависимости для Firefox.
Вот список пакетов, которые зависят от работы Firefox…
… И список других пакетов, от которых зависит функционирование Firefox.
Чтобы просмотреть общую статистику о кэше пакетов, такую как количество пакетов разных типов, используйте параметр «статистика». Введите в командной строке следующее и нажмите «Enter».
Чтобы узнать имена пакетов и связанные с ними описания, используйте опцию «поиск». Например, чтобы просмотреть описания пакетов, связанных с игрой тральщика для GNOME, введите в командной строке следующую команду и нажмите «Enter».
Использование Axi-кэша
Команда «axi-cache» работает аналогично команде «apt-cache», но предоставляет более описательные результаты, отсортированные по релевантности. В качестве примера, мы искали все пакеты с «fire» в имени, используя следующую команду.
Первые 20 результатов отображаются.
Чтобы просмотреть дополнительные результаты, введите «axi-cache more» в командной строке.
Использование «axi-cache» аналогично «apt-cache». Для получения дополнительной информации об использовании «axi-cache» введите «help axi-cache» в командной строке и нажмите «Enter».