কার্নেল মডিউলগুলি কীভাবে কালো তালিকাভুক্ত করবেন?


47

আমি কীভাবে অপ্রয়োজনীয় কার্নেল মডিউলগুলি লোডিং অক্ষম করব। কার্নেল ৩.২.৪


সম্পর্কিত: superuser.com/questions/153792/skip-kernel-module-at-boot | অন্তর্নির্মিত সাবসেট: unix.stackexchange.com/questions/276392/…
Ciro

উত্তর:


44

দ্রষ্টব্য: কালো তালিকাভুক্তি মডিউলগুলির জন্য কাজ করবে না যা কার্নেল চিত্রের মধ্যে নির্মিত (যেমন পৃথক .koফাইলের মাধ্যমে লোড করা হয়নি such এই জাতীয় মডিউলগুলি নিষ্ক্রিয় করার একমাত্র উপায় হ'ল কার্নেল প্যারামিটার (যদি উপলব্ধ থাকে) বা কার্নেলটি পুনরায় সংশোধন করে)।

কেবলমাত্র আপনার /etc/modprobe.d/blacklistফাইলটি খুলুন এবং নিম্নলিখিত সিনট্যাক্স ব্যবহার করে ড্রাইভেরনাম যুক্ত করুন:

blacklist driver-name

সম্পাদনা: পরবর্তী সংস্করণগুলিতে 12.10 (12.04?) থেকে ফাইলটি /etc/modprobe.d/blacklist.conf

আপনার বাক্সটি পুনরায় বুট করুন এবং লিনাক্স কার্নেলের মডিউলগুলির অবস্থান প্রদর্শন করতে lsmod কমান্ডটি ব্যবহার করুন

দ্রষ্টব্য : driver-nameআপনার কাঙ্ক্ষিত ব্ল্যাকলিস্ট ড্রাইভারের নাম এখানে । উদাহরণস্বরূপ, আপনি যদি এনআইসি কার্ড ড্রাইভারটি অক্ষম করতে চান তবে আপনি lspci -vটার্মিনালে কমান্ড কমান্ড ব্যবহার করে আপনার ল্যান কার্ডের জন্য কার্নেল ড্রাইভারের নাম জানতে পারেন ।
উদাহরণস্বরূপ আমার আউটপুটটি ছিল:

........
........ 
6: 00.0 ইথারনেট নিয়ামক: ব্রডকম কর্পোরেশন নেটলিঙ্ক বিসিএম 5906 এম ফাস্ট ইথারনেট পিসিআই এক্সপ্রেস (রেভ 02)
    সাবসিস্টেম: লেনোভো ডিভাইস 3861
    পতাকা: বাসের মাস্টার, দ্রুত নকশাকারী, বিলম্ব 0, আইআরকিউ 46
    B8000000 এ স্মৃতি (-৪-বিট, প্রিফেটেবল নয়) [আকার = 64৪ কে]
    [অক্ষম] এ প্রসারিত রম
    কেপেবিলিটিস: 
    কার্নেল ড্রাইভার ব্যবহৃত হচ্ছে: tg3
    কার্নেল মডিউল: tg3
........
........

এখানে, আমি ড্রাইভার দেখতে পাচ্ছি tg3। সুতরাং আপনার tg3জায়গায় (বা আপনার ড্রাইভার) লিখতে হবে driver-name

প্রচুর তথ্য এখানে পাওয়া যাবে


7
আমার ক্ষেত্রে ( Lubuntu 12.10), কোনও /etc/modprobe.d/blacklistফাইল নেই। একটি /etc/modprobe.d/blacklist.confফাইল রয়েছে
আব্দুল

1
আপগ্রেডের সময় দ্বন্দ্ব এড়াতে পৃথক ফাইলটিতে মডিউলগুলি কালো তালিকাভুক্ত করা আরও ভাল ( সার্ভারফল্টে এই মন্তব্যটি দেখুন )।
আলেকজান্ডার পোজডনিভ

1
blacklist.confফাইল উপস্থিত করার দরকার নেই। আপনি my-mom-is-awesomeসেখানে একটি ফাইল রাখতে পারেন এবং এটি কার্যকর হবে। আপনি নির্দিষ্ট কিছু, যেমন blacklist-nouveauবা যাই হোক না কেন কালো তালিকাভুক্ত করতে একটি নির্দিষ্ট ফাইল বানাতে চান তবে আপনার যে নামটি পছন্দ করুন তা আপ করুন ।
ডগ 65656

@ doug65536 এই প্রশ্নটি 7 বছর আগে পোস্ট করা হয়েছিল, অবশ্যই বিষয়গুলি পরিবর্তন হবে। আপনার কাছে থাকা উবুন্টু সংস্করণটি দিয়ে কেবল একটি নতুন প্রশ্ন তৈরি করুন, যাতে লোকেরা আপনাকে সহায়তা করতে পারে
LnxSlck

@LnxSlck আমি পূর্ববর্তী মন্তব্যে ভ্রান্তদেরকে সম্বোধন করেছিলাম। আমি সাহায্য চাইনি। পুরানো বিষয়বস্তু পোস্ট না করার আবেশটি কী? শুধু এটাকে পচে যেতে দেবেন? লোকেদের এখনও এটি খুঁজে পাওয়া যায় এবং অন্যদেরও একই প্রশ্ন থাকবে যা আমি সম্বোধন করেছি।
ডগ 65536

28

আপনি সিনট্যাক্সটি বুট করার সময় আপনি গ্রু কমান্ড লাইনে (লিনাক্স লাইন) অস্থায়ীভাবে কালো তালিকাভুক্ত করতে পারেন

module_to_blacklist.blacklist=yes

1
এই "অস্থায়ী" কত দিন? পরবর্তী বুট পর্যন্ত?
শেঠ

1
শেঠ, বুট করার সময় আপনি যদি সম্পাদনা করেন তবে এটি কেবলমাত্র একক বুটের জন্য অস্থায়ী। আপনি যদি /etc/grub.d/ স্ক্রিপ্ট বা / ইত্যাদি / ডিফল্ট / গ্রাব ব্যবহার করে সম্পাদনা করেন তবে তা স্থায়ী।
পিটার

1
দৃশ্যত এই i915 জন্য কাজ করে না: i915: unknown parameter 'blacklist' ignored
রাফাł সিইলাক

5
এই এবং এর মধ্যে পার্থক্য কী modprobe.blacklist=module_to_blacklist?
জাজ

4
বা কার্নেল প্যারামিটার ব্যবহার করুন modprobe.blacklist=module_to_blacklist( man modprobeবিশদগুলির জন্য দেখুন)
কার্ল রিখটার

11

কমপক্ষে উবুন্টু 16.04 এলটিএসে মডিউলগুলি কালো তালিকাভুক্ত করার আরেকটি উপায় হ'ল নিম্নলিখিত লাইনটি কার্নেল কমান্ড লাইনে যুক্ত করা:

modprobe.blacklist=MODULE_NAME

/ Etc / modprobe সিস্টেম ব্যবহার করা সবচেয়ে ভাল উপায়, তবে এটি একটি বিকল্প যা বুট-এ আপনার GRUB কমান্ড লাইনে সম্পাদনা করে একটি চিমটি ব্যবহার করতে পারেন।

এটিকে / ইত্যাদি / ডিফল্ট / গ্রাব সম্পাদনা করে এবং চলকটিতে যুক্ত করে স্থায়ী করা যায় GRUB_CMDLINE_LINUX_DEFAULT। উদাহরণস্বরূপ, আমার / ইত্যাদি / ডিফল্ট / গ্রাবটিতে আমার রয়েছে:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash modprobe.blacklist=nouveau"

তারপর আমি চালানো update-grub2তারপর, update-initramfs -u। পুনরায় বুট করার পরে, আপনি মডিউলটি থেকে মুক্ত থাকবেন, যতক্ষণ না বুটের পরে কোনও কিছুই এটিকে বোঝায় না।

এই পদ্ধতিটি EL ভেরিয়েন্টগুলিতেও কাজ করে (আরএইচইএল, সেন্টোস, সাইলিনাক্স) তবে গ্রাব এবং ইআরআরডি আপডেট করার জন্য আপনাকে সেই ডিস্ট্রোর পদ্ধতিগুলি ব্যবহার করতে হবে।

(নুভাউকে কালো তালিকাভুক্ত করার চেষ্টা করছেন তাদের কাছে দ্রষ্টব্য: দৌড়ে এক্স লোড করবেন না তা নিশ্চিত করুন systemctl set-default multi-user.target, অন্যথায় এক্স শুরু হওয়ার পরে এটি আবার নভোও লোড করবে!)


4

আরও সাম্প্রতিক প্রকাশে, আপনাকে আপনার ব্ল্যাকলিস্ট ফাইলে ইনস্টল করার নির্দেশিকা ব্যবহার করতে হবে

install modulename /bin/false

মডিউলের নামের সাথে উপরে "মডিউলনাম" প্রতিস্থাপন করুন। এটি জোর করে তার লোড প্রতিরোধ করবে will

আপনি Modprobe.conf এর ম্যানুয়ালটিতে ইনস্টল নির্দেশিকা সম্পর্কে আরও তথ্য পেতে পারেন

man modprobe.conf

2
এটি খুব সহায়ক। এটি একটি ব্ল্যাকলিস্ট এন্ট্রি থাকা /etc/modprobe/blacklist.confসত্ত্বেও, মডিউলটি এখনও ম্যানুয়ালি লোড করা যায় modprobe <module_name>install <module_name> /bin/falseপদ্ধতিটি ব্যবহার করা এটি পছন্দসই হিসাবে ব্যর্থ করে তোলে।
RawwrBag

3

এইগুলির কোনও সমাধানই i915.ko এর জন্য 16.04 এলটিএসে কাজ করেনি।

আমি যে (নোংরা) সমাধান পেয়েছি সেটি হ'ল নতুন নামকরণ

/lib/modules/4.4.0-22-generic/kernel/drivers/gpu/drm/i915/i915.ko
/usr/lib/xorg/modules/drivers/modesetting_drv.so
/usr/lib/xorg/modules/drivers/intel_drv.so

দুর্ভাগ্যক্রমে, বাহ্যিক ভিজিএ স্ক্রিনটি আর স্বীকৃত নয়: {


6
আপনার যা দরকার তা হ'ল sudo update-initramfs -u/etc/modeprobe.d/ ফাইলগুলি সংশোধন করার পরে
ইভান ব্ল্যাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.