Как установить пакеты apt в смонтированный образ системы (файл img)

На странице руководства NetworkManager, на которую вы ссылаетесь, указано:

The environment contains more information about the interface and the connection. The following variables are available for the use in the dispatcher scripts:
[...]
DEVICE_IFACE

Таким образом, эта среда, очевидно, настроена с помощью dispatcher.d и доступна только для скриптов, запущенных оттуда.

Например, вы можете поместить эту строку в файл в/etc/NetworkManager/dispatcher.d:

echo "interface $DEVICE_IFACE" > /tmp/myscript.log

По-прежнему ссылаясь на справочную страницу NetworkManager, вам нужно будет сделать ее принадлежащей пользователю root, исполняемой и недоступной для записи группе или другим, например:

# chown root:root /etc/NetworkManager/dispatcher.d/myscript

# chmod a+x /etc/NetworkManager/dispatcher.d/myscript

# chmod go-w /etc/NetworkManager/dispatcher.d/myscript

Затем, перезапустив NetworkManager, вы должны прочитать что-то вроде «interface wlan0» в /tmp/myscript.log.

0
09.01.2021, 18:54
1 ответ

Can I just chroot to directory, where image / partition is mounted and run apt install?

Конечно, если вы правильно настроили свою систему. Предполагая, что вы монтируете файловые системы не на Raspberry Pi, вам нужно будет установить qemu-arm-static, который используется для запуска двоичных файлов Raspberry Pi на других архитектурах.

Как только этот пакет будет правильно установлен и настроен (, который должен автоматически позаботиться о вас с помощью пакета ), вы можете просто chrootвойти в целевой каталог:

# chroot /mnt/edited-raspbian.img/p2

Обратите внимание, что для типичного образа Raspberry Pi Os (, урожденного Raspbian ), вам нужно смонтировать раздел 1 на /boot. То есть, если ваше изображение raspberry pi отображается как /dev/loop0p1и /dev/loop0p2, вы обычно:

# mount /dev/loop0p2 /mnt/edited-raspbian.img
# mount /dev/loop0p1 /mnt/edited-raspbian.img/boot

Есть некоторые недостатки использования chroot; вам, вероятно, потребуется вручную смонтировать /proc, /sys, and possibly /dev . An easier solution is to use systemd -nspawn`:

# systemd-nspawn -D /mnt/edited-raspbian.img

Это позаботится об автоматической настройке (и удалении )специальных каталогов.

В зависимости от того, что вы пытаетесь установить, вам может потребоваться -изменить размер изображений. Например, «облегченный» образ ОС Raspberry Pi имеет только 278 МБ свободного места без изменения размера.

2
18.03.2021, 22:37

Теги

Похожие вопросы