Как добавить ISO-файл в качестве источника APT

Вопрос или проблема

Допустим, у меня есть эта строка в “/etc/fstab“:

/iso/apt.iso /mnt/apt iso9660 loop 0 0

И я выполняю эти команды от имени root:

mount --all
apt-cdrom add --no-mount --cdrom /mnt/apt

Я ожидал, что диск будет добавлен как источник APT, но ничего не происходит. Что не так?

ОБНОВЛЕНИЕ:

Я следовал этому совету, и теперь получаю это:

Использование точки монтирования CD-ROM /media/cdrom/
Идентификация.. [61c5dd7c11a32dc999e655c235cd698e-2]
Сканирование диска на наличие файлов индекса..
Найдено 0 индексов пакетов, 0 индексов источников, 0 индексов перевода и 0 подписей
W: Не удалось примонтировать '/dev/sr0' к '/media/cdrom/'
E: Не удается найти файлы пакета, возможно, это не диск Debian или неправильная архитектура?

Это происходит с изменениями в “/etc/apt/apt.conf” или без них.

вот что сработало для меня:

во-первых, строка в /etc/fstab должна выглядеть так:

/iso/apt.iso /mnt/apt iso9660 user,loop 0 0

затем, с примонтированной точкой монтирования, выполните apt-cdrom так:

apt-cdrom -m -d=/mnt/apt add

если apt все еще просит вставить диск, добавьте эти строки в apt.conf

Acquire::cdrom::mount "/mnt/apt";
APT::CDROM::NoMount;

Думаю, это тоже сработает для вас 🙂

Монтирование образа iso в каталог

mkdir /mnt/hp
mount -o loop /root/HPE_ProLiant_Value_Add_Software-10.80-1.iso /mnt/hp

apt-cdrom анализирует содержимое каталога и создает записи в /etc/apt/sources.list

apt-cdrom --no-auto-detect --no-mount --cdrom /mnt/hp/ add

Записи выглядят так

deb cdrom:[HP Management Component Pack 10.80]/ bionic 10.80/non-free
deb cdrom:[HP Management Component Pack 10.80]/ stretch 10.80/non-free
deb cdrom:[HP Management Component Pack 10.80]/ xenial 10.80/non-free

Замените данные cdrom в записях на ссылку на точку монтирования, также мне пришлось добавить [trusted=yes], чтобы избежать проблем с устаревшими ключами

deb [trusted=yes] file:/mnt/hp/ bionic 10.80/non-free
deb [trusted=yes] file:/mnt/hp/ stretch 10.80/non-free
deb [trusted=yes] file:/mnt/hp/ xenial 10.80/non-free

Убедитесь, что ваш iso все еще примонтирован при использовании apt.

Ответ или решение

Чтобы добавить ISO-файл в качестве источника APT, необходимо выполнить несколько шагов. Эта задача может быть полезна, когда вы работаете с дистрибутивами Linux, такими как Debian или Ubuntu, и хотите добавить пакеты из локально сохраненного ISO-образа, например, на случай, когда отсутствует подключение к интернету.

Теория

Для того чтобы добавить ISO-файл как источник APT, существует последовательность действий, связанных с файловой системой и конфигурацией APT. Прежде всего, нужно правильно смонтировать ISO-файл. Вы можете использовать файл /etc/fstab для автоматического монтирования, а также вручную монтировать образ применяя команду mount. После успешного монтирования следует использовать apt-cdrom для добавления образа в качестве источника репозиториев. Это нужно для обновления списка доступных пакетов и дальнейшей работы с ними.

Пример

Давайте разберем настройки файла /etc/fstab, которые монтируют ISO на указанный путь. Предположим, у вас есть строка в /etc/fstab следующего содержания:

/iso/apt.iso /mnt/apt iso9660 loop 0 0

Эта строка означает, что файл apt.iso, находящийся в каталоге /iso, будет монтирован на /mnt/apt с файловой системой ISO 9660, используя устройственный файл loop. Однако, если вы столкнулись с проблемами, вам стоит убедиться, что у вас есть возможность монтировать образы, не обладая правами суперпользователя. Для этого добавьте опцию user:

/iso/apt.iso /mnt/apt iso9660 user,loop 0 0

После перезагрузки или выполнения mount -a, ISO будет смонтирован.

После успешного монтирования используйте команду apt-cdrom следующим образом:

apt-cdrom -m -d=/mnt/apt add

Флаг -m говорит утилите не пытаться автоматически монтировать диск, так как вы это уже сделали вручную, а -d=/mnt/apt указывает путь к монтированной директории.

Применение

В случае, если APT все еще просит вставить диск при использовании команды apt-cdrom, может быть полезно изменить конфигурацию APT непосредственно через файл /etc/apt/apt.conf. В нем вы можете задать:

Acquire::cdrom::mount "/mnt/apt";
APT::CDROM::NoMount;

Эти строки указывают APT на то, что не следует пытаться монтировать что-либо дополнительно, и что монтированная директория уже используется.

Затем, когда вы убедились, что команда apt-cdrom отработала успешно и добавила записи в ваш файл /etc/apt/sources.list, убедитесь, что эти записи корректны для использования с уже смонтированным ISO-образом. Обычно apt-cdrom добавляет записи, начинающиеся с deb cdrom:, однако вам понадобится изменить cdrom: на file:/, чтобы APT мог работать с локальным путем. Также стоит добавить trusted=yes для избежания проблем с устаревшими ключами:

deb [trusted=yes] file:/mnt/apt/ bionic main

Эти изменения гарантируют, что при следующем обновлении списка пакетов, APT будет считывать данные из локального ISO-образа.

В заключение, при потребности использовать пакеты из ISO-образа без подключения к интернету, описанная последовательность действий обеспечит надежное и стабильное добавление локальных пакетов Debian в ваш список источников APT, что особенно полезно в корпоративной среде или при работе с критическими системами без интернет-доступа. Всегда проверяйте монтирование образа перед использованием APT, чтобы избежать ошибок доступа к файлам.

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

Капча загружается...