इस उत्तर के प्रयोजनों के लिए, मान लें कि आपके कंटेनर का नाम `'फू' 'है।
पार्ट ए
होस्ट से, /var/lib/lxc/foo/config
मेरे निर्देशों को तोड़ने के मामले में, की एक प्रति सहेजें ।
आपको SYS_MODULE
क्षमता रखने के लिए अपने कंटेनर को कॉन्फ़िगर करने की आवश्यकता होगी ।
विदित हो कि इस तरह के विन्यास से उस कंटेनर को कर्नेल पर ले जाने की क्षमता मिलती है और इस तरह मेजबान भी ।
ऐसा करने के लिए, आप "lxc.cap.drop"
या "lxc.cap.keep"
कॉन्फ़िगरेशन लाइन को बदलना चाहेंगे ।
यदि आप एक Ubuntu 19.04 अतिथि चला रहे हैं जो तब बनाया गया था "lxc-create --name foo --template download -- ..."
:
/var/lib/lxc/foo/config
एक पंक्ति शामिल होगी
lxc.include = /usr/share/lxc/ubuntu.common.conf
/usr/share/lxc/ubuntu.common.conf
एक पंक्ति शामिल होगी
lxc.include = /usr/share/lxc/config/common.conf
/usr/share/lxc/config/common.conf
इस तरह एक लाइन होगी
lxc.cap.drop = mac_admin mac_override sys_time sys_module sys_rawio
आपको उस अंतिम पंक्ति को /var/lib/lxc/foo/config
(या "include /usr/share/lxc/ubuntu.common.conf"
उसके बाद किसी भी स्थान पर ) कॉपी करना चाहिए और फिर "sys_module"
उस सूची से हटा देना चाहिए ।
पार्ट बी
आपको कंटेनर में अपने कर्नेल मॉड्यूल की एक प्रति चाहिए।
यदि आपका मेजबान उबंटू कर्नेल चला रहा है, तो आप "sudo apt install kernel-image-$(uname -r)"
अतिथि की तरह कुछ करने में सक्षम हो सकते हैं।
अन्यथा मेजबान से, ऐसा कुछ करने की आवश्यकता हो सकती है (आपके कंटेनर को "फू" का नाम दिया गया है):
mkdir -p /var/lib/lxc/foo/rootfs/lib/modules
cp -apr /lib/modules/$(uname -r) /var/lib/lxc/foo/rootfs/lib/modules/
उसके बाद, यदि यह चल रहा है, तो अतिथि फ़ू को बंद कर दें, और फिर इसे कुछ इस तरह से पुनरारंभ करें "lxc-start --name foo"
।
LXC कंटेनर अब कर्नेल मॉड्यूल को लोड और अनलोड करने में सक्षम होना चाहिए।