Назад | Перейти на главную страницу

LXC: создать привилегированный контейнер, который может выполнять mknod

Я пытаюсь понять, как собрать Ubuntu Core 18 на моем Raspberry Pi. Похоже, что лучший способ сделать это - использовать контейнер LXC. Однако я получаю эту ошибку, когда snapcraft --destructive-mode репозиторий github.

[ -e /root/core18/parts/boostrap/install/dev/null ] || mknod -m 666 /root/core18/parts/boostrap/install/dev/null c 1 3
mknod: /root/core18/parts/boostrap/install/dev/null: Operation not permitted
Makefile:12: recipe for target 'install' failed
make: *** [install] Error 1
Failed to run 'make install DESTDIR=/root/core18/parts/boostrap/install' for 'boostrap': Exited with code 2.
Verify that the part is using the correct parameters and try again.

Эта проблема возникает из-за того, что я работаю в непривилегированном контейнере, которому не разрешено выполнять эту команду.

Кажется, одно решение настроить контейнер, чтобы дать ему это разрешение, но я также хочу знать, как просто ... создать привилегированный контейнер. Это коробка для разработчиков. Это никуда не денется;)

В документация кажется устаревшим, потому что lxc-create больше не существует. И я попытался просто создать контейнер как root, но это тоже ничего не дало.

Как мне создать привилегированный контейнер LXC, который действительно может создать эту оснастку?

Вот наполовину связанное сообщение на форуме

Ответ может вас удивить:

lxc config set <container_name> security.privileged true