debootstrap, вложенный в контейнер LXC, не может смонтировать proc из-за apparmor
Команда, которая запускается внутри контейнера amd64 LXC:
debootstrap --arch armhf --foreign --variant=buildd --components=main,restricted,universe,multiverse vivid /var/lib/schroot/chroots/vivid-armhf http://ports.ubuntu.com/ubuntu-ports
В конечном итоге терпит неудачу, как это:
W: Failure trying to run: mount -t proc proc /proc
W: See //debootstrap/debootstrap.log for details
Системный журнал на хосте имеет это:
audit: type=1400 audit(1449495124.972:29): apparmor="DENIED" operation="mount" info="failed type match" error=-13 profile="lxc-container-default" name="/var/lib/schroot/chroots/vivid-armhf/proc/" pid=25739 comm="mount" fstype="proc" srcname="proc" flags="rw"
audit: type=1400 audit(1449495124.976:30): apparmor="DENIED" operation="mount" info="failed type match" error=-13 profile="lxc-container-default" name="/var/lib/schroot/chroots/vivid-armhf/proc/" pid=25739 comm="mount" fstype="proc" srcname="proc" flags="ro"
И это действительно невозможно смонтировать:
user@vm:~$ sudo chroot /var/lib/schroot/chroots/vivid-armhf
/usr/bin/groups: cannot find name for group ID 0
I have no name!@vm:/# mount -t proc proc /proc
mount: proc is write-protected, mounting read-only
mount: cannot mount proc read-only
I have no name!@vm:/#
Что нужно добавить в конфигурацию контейнера LXC, чтобы разрешить такое монтирование?
1 ответ
Новый профиль:
sudo tee /etc/apparmor.d/lxc/lxc-default-with-proc-mounting <<EOM
profile lxc-default-with-proc-mounting flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/lxc/container-base>
mount fstype=proc options=ro -> /**,
}
EOM
В конфигурацию контейнера:
lxc.aa_profile = lxc-default-with-proc-mounting
Перезагрузить профили:
sudo systemctl reload apparmor
Перезапустите контейнер.