Skip to content

Документация по BlackArch на русском языке

Инструкции, советы, новые программы

Menu
  • LocalBitcoins
  • Главная
  • Список инструментов
  • HackWare
Menu

Как узнать, в каком пакете находится файл

Posted on 01.09.202018.02.2021 by Alexey

Иногда название нужной утилиты не совпадает с названием пакета — особенно такое бывает когда один пакет содержит несколько программ. В результате возникает проблема — найти пакет, в котором присутствует нужный исполнимый файл или файл заголовка (если вы получили ошибку при компиляции из-за отсутствия определённого файла).

Эта статья поможет вам — в ней рассказано, как искать в пакетах по имени файла. Причём сразу по всем пакетам — независимо от того, установлены они или нет.

Утилита pkgfile ищет в метаданных .files, созданных repo-add, чтобы получить информацию о файлах в пакетах. По умолчанию указанная цель считается именем файла и pkgfile вернёт пакеты, содержащие этот файл. Репозитории, в которых ищет pkgfile, определяются теми, которые включены в /etc/pacman.conf.

Для установки программы выполните команду:

sudo pacman -S pkgfile

Обновите сохранённые файлы метаданных.

sudo pkgfile --update

К примеру, мне нужно узнать, в каком пакете находится файл finger. Тогда я запускаю следующую команду:

pkgfile finger

Как можно увидеть, pkgfile прекрасно справилась со своей задачей — исполнимый файл finger находится в пакете netkit-bsd-finger в репозитории blackarch.

С помощью опции -l, --list можно посмотреть содержимое любого пакета:

pkgfile -l netkit-bsd-finger

Целью считается имя пакета, а не имя файла, и возвращается содержимое указанного пакета. Это позволяет использовать синтаксис стиля репо/пакет (например, "core/pacman"), чтобы ограничить диапазон поиска, но только когда --list используется без параметров --glob или --regex.


Эвристика поиска совпадений

В режиме --search и без опции --regex или --glob, pkgfile попытается сопоставить предоставленную цель как точное имя файла. Если цель содержит символ '/', то будет сделана попытка найти совпадение по полному пути. При включённом поиске --regex и --glob, pkgfile всегда будет соответствовать полному пути.

В режиме --list и без опции --regex или --glob, pkgfile попытается сопоставить предоставленную цель как точное имя пакета. Если цель содержит символ '/', текст перед косой чертой будет считаться репозиторием, и поиск будет ограничен только этим репозиторием.

Все опции pkgfile

Использование:

pkgfile [ОПЦИИ] ЦЕЛЬ

Опции:

 Действия:
  -l, --list              показать содержимое пакета
  -s, --search            поиск пакета, содержащего цель (по умолчанию)
  -u, --update            обновить репозиторий списков файлов

 Совпадение:
  -b, --binaries          возвращать только файлы, содержащиеся в директории bin
  -d, --directories       поиск по именам директорий
  -g, --glob              включить совпадения с подстановочными символами
  -i, --ignorecase        регистронезависимый поиск
  -R, --repo <РЕПОЗИТОРИЙ>       поиск в указанном репозитории
  -r, --regex             включить поиск по регулярным выражениям

 Вывод:
  -q, --quiet             выводить меньше при листинге
  -v, --verbose           выводить больше
  -w, --raw               отключить выравнивание вывода
  -0, --null              окончанием вывода является символ null

 Загрузка:
  -z, --compress[=ТИП]   сжать загруженные репозитории

 Общие:
  -C, --config <ФАЙЛ>     использовать альтернативный конфигурационный файл (по умолчанию: /etc/pacman.conf)
  -D, --cachedir <ДИРЕКТОРИЯ>    использовать альтернативную директорию кэширования (по умолчанию: /var/cache/pkgfile)
  -h, --help              показать справку и выйти
  -V, --version           показать версию и выйти

Смотрите также «Как в Arch Linux (BlackArch, Manjaro) посмотреть информацию о пакете».

Близкие статьи

  • Pacman: работа с пакетами в BlackArch (перевод справки и мануала) (100%)
  • Практические примеры использования pacman (100%)
  • Графический интерфейс и цветной вывод pacman (100%)
  • Как установить программу из Arch User Repository (AUR) – пользовательского репозитория Arch (100%)
  • Автоматическая установка и обновление пакетов AUR (100%)
  • Не показывается окно входа если не переключиться между TTY (РЕШЕНО) (RANDOM - 50%)

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo


Поиск


Свежие записи

  • Ошибка «error: failed to commit transaction (invalid or corrupted package)» (РЕШЕНО)
  • Ошибка «TypeError: ‘AURPackageInfo’ does not have attribute ‘submitter’» (РЕШЕНО)
  • Ошибка phpMyAdmin «Error: Undefined constant «SODIUM_CRYPTO_SECRETBOX_KEYBYTES»» (РЕШЕНО)
  • Ошибка «error: GPGME error: No data. error: failed to synchronize all databases (unexpected error)» (РЕШЕНО)
  • Как в Arch Linux перейти к предыдущей версии ядра. Как установить и переключиться на linux-lts

Свежие комментарии

  • Vova к записи Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch
  • Furi к записи Приложение в .AppImage не запускается в Arch Linux (РЕШЕНО)
  • Alexey к записи Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch
  • Юрок к записи Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch
  • Aleksandr к записи Ошибка error: failed to synchronize all databases (unable to lock database) (РЕШЕНО)




Рубрики

  • Sniffing и Spoofing
  • Архив
  • Взлом Wi-Fi сетей
  • Инструкции
  • Новости
  • Общая информация/новости
  • Разведка
  • Справка и подсказки




Яндекс.Метрика
© 2023 Документация по BlackArch на русском языке | Powered by Minimalist Blog WordPress Theme