Перейти к основному содержимому
Поиск файлов и пакетов

Поиск файлов и пакетов

Репозитории для SelectOS содержат списки всех файлов внутри пакетов.

Команда apt-file updateзагружает файлы с этими списками:

  • Contents-архитектура.gz
  • Contents-udeb-архитектура.gz.
примечание

По умолчанию эта команда загружает файлы изменений Contents*.pdiff, чтобы минимизировать общий объём скачиваемых данных. Подробнее об инкрементальных обновлениях — в разделе Инициализация источников.

Команда apt-file list пакет перечислит все файлы, поставляемые в заданном пакете.

Команда apt-file search запрос выполняет поиск пакетов по пользовательскому запросу:

$ apt-file search bin/axi-cache
apt-xapian-index: /usr/bin/axi-cache

Рекомендуется регулярно обновлять данные, чтобы поиск давал актуальные результаты. Следующая запись в /etc/crontab обновляет данные каждую неделю:

@weekly root test -x /usr/bin/apt-file && /usr/bin/apt-file update >> /dev/null 2>&1

Шаблоны apt-patterns

С помощью apt-patterns можно писать запросы для работы с пакетами с использованием готовых регулярных выражений.

Регулярные выражения позволяют отфильтровать пакеты по нужным критериями и совершать операции только над ними.

примечание

Например:

  • apt remove ?garbage — удалит все пакеты, которые устанавливаются автоматически и больше не нужны
  • apt purge ?config-files- очистит все пакеты, в которых остались только файлы конфигурации.

Конструкция вида ?garbage или ?config-files, которая идет после команды, — это регулярное выражение, которое распознается apt в соответствии с правилами, описанными в руководстве:

  • man apt-patterns(7)
  • man glob(7)

Некоторые шаблоны для выбора пакетов:

  • ?architecture(архитектура)- пакеты с указанной архитектурой,
  • ?automatic — пакеты, которые были установлены автоматически,
  • ?broken — пакеты с нарушенными зависимостями,
  • ?config-files — пакеты, которые не установлены полностью и имеют только остаточные файлы конфигурации,
  • ?essential — пакеты, в файле управления которых установлено значение Essential: yes,
  • ?exact-name(пакет) — пакеты с указанным именем,
  • ?garbage — пакеты, которые можно удалить автоматически,
  • ?installed — пакеты, которые в данный момент установлены,
  • ?name(регулярное выражение) — пакеты, имя которых соответствует заданному регулярному выражению,
  • ?obsolete — пакеты, которых больше нет в репозиториях,
  • ?upgradable — пакеты, которые можно обновить,
  • ?virtual — виртуальные пакеты без версии, существующие, в рамках ссылки в архиве из-за имеющихся зависимостей.
к сведению

Шаблоны можно комбинировать в более сложные выражения:?and(шаблон, шаблон)

Команды dpkg и cruft

Команда dpkg -L пакет выводит список всех файлов пакета, но работает только для установленных пакетов.

Команда dpkg -S файл найдет пакет, которому принадлежит локальный файл.

Команда cruft из пакета cruft-ngперечислит все локальные файлы, не принадлежащие ни одному установленному пакету.