Bu cevabın amaçları için, kapsayıcınızın "foo" olarak adlandırıldığını varsayalım.
BÖLÜM A
Ana bilgisayardan, /var/lib/lxc/foo/config
yönergelerimin bir şey kırması durumunda bir kopyasını kaydedin .
Kabiliyeti korumak için SYS_MODULE
kabınızı yapılandırmanız gerekir .
Böyle bir konfigürasyonun bu kaba, çekirdeği ve dolayısıyla konağı devralma kabiliyeti verdiğini unutmayın .
Bunu yapmak için, "lxc.cap.drop"
veya "lxc.cap.keep"
yapılandırma satırını değiştirmek isteyeceksiniz .
Şununla oluşturulmuş bir Ubuntu 19.04 konuk çalıştırıyorsanız "lxc-create --name foo --template download -- ..."
:
/var/lib/lxc/foo/config
bir satır içerecek
lxc.include = /usr/share/lxc/ubuntu.common.conf
/usr/share/lxc/ubuntu.common.conf
bir satır içerecek
lxc.include = /usr/share/lxc/config/common.conf
/usr/share/lxc/config/common.conf
böyle bir çizgi içerecek
lxc.cap.drop = mac_admin mac_override sys_time sys_module sys_rawio
Bu son satırı sonuna kadar /var/lib/lxc/foo/config
(veya sonrasındaki herhangi bir yere "include /usr/share/lxc/ubuntu.common.conf"
) kopyalamalı ve sonra "sys_module"
bu listeden silmelisiniz .
Bölüm B
Kapta çekirdek modüllerinizin bir kopyasına ihtiyacınız var.
Ana makineniz bir Ubuntu çekirdeği çalıştırıyorsa, konuktan benzer bir şey yapabilirsiniz "sudo apt install kernel-image-$(uname -r)"
.
Aksi takdirde, ana bilgisayardan böyle bir şey yapmanız gerekebilir (kapsayıcınızın "foo" olduğu varsayılarak):
mkdir -p /var/lib/lxc/foo/rootfs/lib/modules
cp -apr /lib/modules/$(uname -r) /var/lib/lxc/foo/rootfs/lib/modules/
Bundan sonra, konuk foo çalışıyorsa kapatın ve sonra böyle bir şeyle yeniden başlatın "lxc-start --name foo"
.
LXC konteyneri artık çekirdek modüllerini yükleyebilmeli ve boşaltabilmelidir.