Глиф Учебники

Какой пакет содержит файл: apt-file и dpkg -S

Справочник · Debian · 2 минуты чтения

Для пакетов, которые ещё не установлены, — apt-file. Поставьте его и скачайте списки файлов:

Bash
sudo apt install apt-file
sudo apt update
apt-file search bin/ifconfig

apt update после установки apt-file дополнительно скачивает списки файлов всех пакетов — это займёт немного времени. Ответ apt-file search — строки вида пакет: путь. Имя пакета — до двоеточия; в этом примере — net-tools. Ставится он как обычно: sudo apt install net-tools.

Как искать точнее

apt-file search ищет кусок пути, поэтому короткое слово найдёт сотни файлов. Добавляйте папку или полное имя:

Что ищетеЗапрос
Команду ifconfigapt-file search bin/ifconfig
Библиотеку из ошибки libGL.so.1: cannot open shared object fileapt-file search libGL.so.1
Прошивку из W: Possible missing firmware /lib/firmware/i915/…apt-file search i915/ и имя файла
Все файлы пакетаapt-file list net-tools

Установленные пакеты: dpkg -S

Для файла, который уже есть на диске, apt-file не нужен:

Bash
dpkg -S /usr/bin/ssh
dpkg -L openssh-client

Первая команда отвечает, из какого пакета файл (openssh-client: /usr/bin/ssh), вторая — какие файлы поставил пакет.

В Debian 12 многие программы записаны в своих пакетах по старым путям — /bin/… и /sbin/…, хотя лежат в /usr/bin и /usr/sbin. Если dpkg -S /usr/bin/имя отвечает, что путь не найден, попробуйте /bin/имя. Путь к программе покажет command -v имя.

Подсказка прямо в терминале

Пакет command-not-found сам подсказывает, какой пакет поставить, когда команда не найдена:

Bash
sudo apt install command-not-found
sudo apt update

После этого откройте новое окно терминала. Теперь на неизвестную команду оболочка отвечает не только «команда не найдена», но и предлагает пакет, в котором такая команда есть.

Без установки программ

Тот же поиск есть на сайте пакетов Debian: в разделе поиска по содержимому пакетов выберите выпуск (trixie или bookworm) и введите имя файла. Удобно, если нужно найти пакет для другого компьютера или скачать его файл .deb.

Подводные камни