ডি কে এম এস কি করবে? আমি কিভাবে এটা ব্যবহার করব?


23

আমি সম্প্রতি ডি কেএমএস সম্পর্কে কয়েকটি উল্লেখ দেখেছি তবে এটি আমার সিস্টেমে আসলে কী করছে তা পরিষ্কার নয়।

DKMS আসলে কী করে এবং আমি কীভাবে এটি ব্যবহার করব?

উত্তর:


25

DKMS (ডায়নামিক কার্নেল মডিউল সমর্থন) প্যাকেজ ( http://linux.dell.com/dkms/ ) কার্নেল মডিউলগুলির পরিপূরক সংস্করণ ইনস্টল করার জন্য সমর্থন সরবরাহ করে। প্যাকেজটি কার্নেল ট্রিতে সংকলন করে ইনস্টল করে। আনইনস্টল করা পূর্ববর্তী মডিউলগুলি পুনরুদ্ধার করে। ডিফল্টরূপে, ইনস্টলেশনটি বর্তমান কার্নেল ট্রিতে রয়েছে তবে যে কোনও কার্নেল ট্রি কমান্ড-লাইন বিকল্পের সাহায্যে নির্বাচন করা যেতে পারে। তদুপরি, নতুন উবুন্টু কার্নেল-চিত্র প্যাকেজ ইনস্টল করার পরে ডিকেএমএসকে স্বয়ংক্রিয়ভাবে ডাকা হয় এবং অতএব ডিকেএমএসে যুক্ত মডিউলগুলি স্বয়ংক্রিয়ভাবে আপডেটগুলি জুড়ে চলে যায়।

সংক্ষিপ্ত বিবরণ

ডি কেএমএস সহ মডিউলটি ব্যবহার করতে, একটি / মডিউল ইনস্টল ফাইল (সোর্স কোড বা বাইনারি হতে পারে) / usr / src / - এ একটি কনফিগারেশন ফাইলের সাথে রাখে dkms.conf যা DKMS কে মডিউলটি কীভাবে তৈরি / কনফিগার করতে হয় এবং তার কী নাম হচ্ছে. আরও উন্নত পরিস্থিতিগুলির অধীনে, শর্তসাপেক্ষ বিল্ড নির্দেশাবলী এবং প্যাচিংটি ডিজিএমএস সিস্টেমের মাধ্যমে করা যেতে পারে তবে আপনার ক্ষেত্রে বিবেচনা করে এটি প্রয়োজনীয় নাও হতে পারে।

হাঁটুন-থ্রু

ধরা যাক আপনি আপনার অভিনব "অসাধারণ অ্যাডাপ্টার" এর জন্য একটি মডিউল ইনস্টল করতে চান। আপনি একটি উত্স দেওয়া হয় tarball awesome-20091211-v1.1.tgz

DKMS সহ, আমরা DKMS কে বলি যে উপযুক্ত এন্ট্রি সহ একটি dkms.conf ফাইল তৈরি করে আপনার জন্য এটি কীভাবে করা যায়। উদাহরণস্বরূপ, আমরা টারবালটি প্যাক করার পরে:

# cd awesome-20091211-v1.1/
# touch dkms.conf 
# create dkms.conf file
# vi dkms.conf

ভিতরে dkms.conf, আমরা লাইনগুলি যুক্ত করতে পারি:

MAKE="make -C src/ KERNELDIR=/lib/modules/${kernelver}/build"
CLEAN="make -C src/ clean"
BUILT_MODULE_NAME=awesome
BUILT_MODULE_LOCATION=src/
PACKAGE_NAME=awesome
PACKAGE_VERSION=1.1
REMAKE_INITRD=yes

সমস্ত ডিরেক্টরি dkms.conf ফাইলের অবস্থান সম্পর্কিত। এটি ডিকেএমএসকে বলে

  1. মডিউলটি তৈরি করার কমান্ড (ডিরেক্টরিতে মেকআপ চালান src /)।
  2. উত্স গাছ পরিষ্কার করার কমান্ড (ডিরেক্টরিতে সিআরসি / ডিরেক্টরিতে পরিষ্কার করুন)।
  3. .O বা .ko এক্সটেনশন ছাড়াই মডিউলটির নাম। এটি মডিউলগুলির একটি অ্যারে হতে পারে যদি একাধিক মডিউল নির্মিত হয় তবে ম্যান ডিকেএম দেখুন।
  4. যেখানে DKMS বিল্ট মডিউলটি খুঁজে পেতে পারে।
  5. নাম এবং সংস্করণ DKMS মডিউল (গুলি) এর সাথে যুক্ত করা উচিত।
  6. মডিউলটি ইনস্টল করার পরে আরআরডি চিত্রটি পুনরায় তৈরি করতে।

আপনি বিল্ড বা ইনস্টল করার আগে বা পরে স্ক্রিপ্টগুলিতে কল করতে বিকল্পগুলি যুক্ত করতে পারেন, অতিরিক্ত (শর্তাধীন) কমান্ড, প্যাচ কমান্ড ইত্যাদি সরবরাহ করতে পারেন d যদি প্রয়োজন হয় তাহলে. Man dkms এ dkms.conf বিভাগে এই বিকল্পগুলি এবং আরও অনেক কিছু বর্ণনা করা হয়েছে।

এর পরে, আমরা কার্নেল উত্স ট্রি / usr / src / - এ মডিউল ইনস্টলেশন ফাইলগুলি অনুলিপি করে ডি কেএমএসে মডিউলটি ইনস্টল করি এবং নতুন মডিউল সম্পর্কে ডিকেএমএসকে বলি:

# ls
    README dkms.conf lib src
# sudo cp -R . /usr/src/awesome-1.1
# sudo dkms add -m awesome -v 1.1
    dkms does its thing...

এটাই! ভবিষ্যতে কার্নেল ইনস্টলেশনগুলির জন্য বিল্ড করার জন্য ডি কেএমএস এখন আমাদের মডিউলটিকে তার মডিউলগুলির তালিকায় যুক্ত করেছে। এটি কাজ করে তা নিশ্চিত করার জন্য এবং আমাদের বর্তমান কার্নেলের মধ্যে মডিউলটি ইনস্টল করার জন্য, আমরা মডিউলটি তৈরি এবং ইনস্টল করার জন্য dkms নির্দেশ দিতে পারি:

# sudo dkms build -m awesome -v 1.1
    dkms does its thing.... watch for build errors... you may need to tweak dkms.conf
# sudo dkms install -m awesome -v 1.1
    dkms does its thing.... module is copied into current kernel module tree

কিছু ভাগ্যের সাথে, আপনার মডিউল ইনস্টল করা হবে এবং ভবিষ্যতের কার্নেল আপডেটগুলিতে পুনরায় ইনস্টল করা হবে।

উদাহরণ

DKMS man পৃষ্ঠা DKMS সাথে ব্যবহারের জন্য আপনার প্রিয় কার্নেল মডিউল সেট আপ সহায়ক তথ্য রয়েছে। এটি বিস্তৃত নথি নয়, তবে এটি প্রচুর প্রশ্নের উত্তর দেবে। এটি আপনাকে নিম্নলিখিত উদাহরণগুলি লক্ষ করতে সহায়তা করতে পারে, ব্যবহৃত মডিউলগুলি আপনি সেটআপ করতে চান না তা সত্ত্বেও:

থেকে: help.ubuntu.com

আরো তথ্য পাওয়া যাবে এখানে:


2
এফডব্লিউআইডাব্লু, ডিকেএমএস প্রকল্পের গিথুব
গিথুব.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.