Вопрос или проблема
У меня есть проблема с загрузкой nmap
и его зависимостей (для установки офлайн) с компьютера под управлением Ubuntu 16.04.
При выполнении:
apt-get download $(apt-rdepends nmap |grep -v "^ ")
Я получаю следующий вывод:
Чтение списков пакетов... Готово
Формирование дерева зависимостей
Чтение состояния информации... Готово
E: Невозможно выбрать кандидат для версии пакета libblas.so.3, так как он не имеет кандидата
E: Невозможно выбрать кандидат для версии пакета debconf-2.0, так как он не имеет кандидата
Я пытался решить ошибку с помощью apt-get update
, но это не помогло.
Буду признателен за любую помощь.
sudo apt-get install debconf-2.0
Вы получите:
Чтение списков пакетов... Готово
Формирование дерева зависимостей
Чтение состояния информации... Готово
Пакет debconf-2.0 является виртуальным пакетом, предоставляемым:
debconf 1.5.58ubuntu1
cdebconf 0.198ubuntu1
Вы должны явно выбрать один для установки.
Вместо использования debconf-2.0, вы должны использовать debconf:
sudo apt-get download debconf
Ответ или решение
Когда вы пытаетесь установить пакет nmap
вместе с его зависимостями на компьютере с Ubuntu 16.04, и сталкиваетесь с ошибкой "Can’t select candidate version from package as it has no candidate", это указывает на проблему с разрешением зависимостей. Это может произойти по нескольким причинам, включая отсутствие необходимых пакетов в вашем репозитории или их наличие в виде виртуальных пакетов.
Шаги для устранения проблемы
-
Понимание виртуальных пакетов:
Ваша ошибка указывает на два виртуальных пакета:libblas.so.3
иdebconf-2.0
. Виртуальные пакеты не установлены физически, и для их использования вы должны выбрать конкретный реальный пакет, который их предоставляет. Например, в случаеdebconf-2.0
пакетdebconf
предоставляет этот виртуальный пакет. -
Выбор реальных пакетов:
Когда вы пытаетесь установитьdebconf-2.0
напрямую, пакетный менеджер сообщает, что это виртуальный пакет, и рекомендует установить один из его реальных поставщиков. Ваша командаsudo apt-get install debconf-2.0
не сработает. Вместо этого вам следует установить реальный пакет, например:sudo apt-get install debconf
Это должно решить проблему с
debconf-2.0
. -
Загрузка зависимостей:
Для загрузки всех необходимых зависимостей вы можете использовать командуapt-get download
, однако вам нужно будет вручную указать все необходимые зависимости. Чтобы их получить, вместо:apt-get download $(apt-rdepends nmap | grep -v "^ ")
Используйте:
apt-get download debconf libblas-base
Убедитесь, что вы включили все необходимые пакеты в команду.
-
Обновление списка пакетов:
Несмотря на то, что вы уже попробовалиapt-get update
, если в вашем списке репозиториев отсутствуют актуальные ссылки на необходимые пакеты, это также может быть причиной отсутствия кандидатов. Проверьте файл/etc/apt/sources.list
и убедитесь, что в нем содержатся актуальные записи для вашего региона и версии Ubuntu. -
Дополнительная проверка:
После обновления источников попробуйте выполнить:sudo apt-get update sudo apt-get install nmap
Эта команда не только попытается установить
nmap
, но и выполнив её, подскажет вам, какие зависимости могут быть необходимы для успешной установки. -
Заключение:
Работа с пакетами в Ubuntu может быть сложной, особенно когда имеются виртуальные пакеты. Важно понимать, как правильно разрешать зависимости и обеспечивать актуальность списка репозиториев. Следуя приведенным рекомендациям, вы сможете успешно загрузить и установитьnmap
и его зависимости на своем устройстве.
Эти действия помогут вам устранить идеи с зависимостями и эффективно управлять пакетами в системе Ubuntu.