Автоматическое разрешение зависимостей в Ubuntu

При всем удобстве системы пакетов в Linux очень часто ей не хватает возможности при установке загружать зависимости пакета автоматически. Средство auto-apt позволяет разрешать зависимости автоматически по имеющейся базе данных зависимостей.
sudo apt-get install auto-apt
Для того, чтобы скачать файлы с данными о зависимостями необходимо выполнить следующую команду:
sudo auto-apt update

Далее необходимо обработать скачанную базу. Сразу скажу, что процессы скачивания и подготовки базы занимают очень много времени.
sudo auto-apt updatedb && sudo auto-apt update-local

Теперь при запуске конфигурирования сборки приложения можно пользоваться инструментом auto-apt и автоматически устанавливать дополнительные зависимости следующим образом:
sudo auto-apt run ./configure
Например, при конфигурирования pocketsphinx мы увидим следующий запрос на установку universe/utils/safe-rm:

Теперь достаточно нажимать Y вместо изнурительного поиска пакетов и повторного запуска ./configure.

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

Кроме того, существует утилита apt-file, которая позволяет по имени отсутствующего файла узнать имя пакета, который нужно доустановить.
sudo apt-get install apt-file
sudo apt-file update
apt-file search file missed.bin

В предыдущем листинге мы установили apt-file и запустили поиск пакета, который содержит файл missed.bin.

Для некоторых пакетов задача установки задача разрешения зависимостей существенно упрощается, очень странно, что данное средство не включено в менеджер пакетов по умолчанию.

Комментарии:

Автоматическое разрешение зависимостей в Ubuntu: 3 комментария

  1. Очень полезная статья, особо никогда не возникало такой проблемы как отсутствие зависимых пакетов, но инфа пригодится.

  2. А разве ключика -f при установке пакетов недостаточно для разрешения их зависимостей? 🙂

    1. Какой флаг имеется в виду? У ./configure как я понимаю, такого флага нет, если знаете как разрешать зависимости ./configure автоматически более быстрым способом, пожалуйста, напишите.

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

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