3

У меня есть ext2 раздел на CF-карте для использования на внешнем устройстве. Я вставил эту карту в свой компьютер и смонтировал ее как /mnt /linux. Я установил (извлек) дистрибутив Linux на этот раздел. И я хочу добавить несколько пакетов .deb в этот раздел. Как мне это сделать? Является ли это возможным?

Альтернативный способ, которым я пользуюсь: я копирую пакеты .deb в /mnt /linux /tmp dir, затем вставляю CF-карту во внешнее устройство и устанавливаю cd /tmp; dpkg -i XXX.deb с этого устройства.

2 ответа2

2

Вы можете использовать параметр --root в dpkg, чтобы указать каталог, в который монтируется целевая корневая файловая система.

В твоем случае:

sudo dpkg --install --root=/mnt/linux XXX.deb

Я обнаружил, что этот вызов может привести к следующей ошибке (не уверен, что это ошибка dpkg или что-то, связанное с файловой системой, которую я использую):

dpkg: error: unable to access dpkg status area: No such file or directory

Обходной путь должен использовать опцию --admindir, чтобы указать var/lib/dpkg. В твоем случае:

sudo dpkg --install --root=/mnt/linux --admindir=/mnt/linux/var/lib/dpkg XXX.deb

Это решение помогает, если вы строите файловую систему и не можете выполнить chroot, потому что целевая файловая система неполная.

2

Как предложил vonbrand, при условии, что у вас установлена работающая Debian на CF-карту, вы должны иметь возможность получить к ней chroot и установить ее нормально:

sudo chroot /mnt/linux
sudo dpkg -i XXX.deb 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .