Untuk keperluan jawaban ini, anggaplah wadah Anda bernama `" foo ".
BAGIAN A
Dari tuan rumah, simpan salinan /var/lib/lxc/foo/config
, kalau-kalau instruksi saya merusak sesuatu.
Anda harus mengkonfigurasi wadah Anda untuk menjaga SYS_MODULE
kemampuan.
Sadarilah bahwa konfigurasi seperti itu memberikan wadah itu kemampuan untuk mengambil alih kernel dan dengan demikian tuan rumah .
Untuk melakukan ini, Anda ingin mengubah "lxc.cap.drop"
atau "lxc.cap.keep"
garis konfigurasi.
Jika Anda menjalankan tamu Ubuntu 19.04 yang telah dibuat dengan "lxc-create --name foo --template download -- ..."
itu:
/var/lib/lxc/foo/config
akan berisi garis
lxc.include = /usr/share/lxc/ubuntu.common.conf
/usr/share/lxc/ubuntu.common.conf
akan berisi garis
lxc.include = /usr/share/lxc/config/common.conf
/usr/share/lxc/config/common.conf
akan berisi garis seperti ini
lxc.cap.drop = mac_admin mac_override sys_time sys_module sys_rawio
Anda harus menyalin baris terakhir ke akhir /var/lib/lxc/foo/config
(atau tempat setelah "include /usr/share/lxc/ubuntu.common.conf"
) dan kemudian menghapus "sys_module"
dari daftar itu.
Bagian B
Anda membutuhkan salinan modul kernel Anda di dalam wadah.
Jika host Anda menjalankan kernel Ubuntu, maka Anda mungkin dapat melakukan sesuatu seperti "sudo apt install kernel-image-$(uname -r)"
dari tamu.
Kalau tidak dari host, mungkin perlu melakukan sesuatu seperti ini (dengan anggapan kontainer Anda bernama "foo"):
mkdir -p /var/lib/lxc/foo/rootfs/lib/modules
cp -apr /lib/modules/$(uname -r) /var/lib/lxc/foo/rootfs/lib/modules/
Setelah itu, matikan foo tamu jika sedang berjalan, dan kemudian restart dengan sesuatu seperti "lxc-start --name foo"
.
Wadah LXC sekarang seharusnya dapat memuat dan menurunkan modul kernel.