প্রায় ক্রমাগত, আমি উবুন্টু কার্নেল কনফিগারেশন ব্যবহার করে উবুন্টু কার্নেল পিপিএ , বা কার্নেলগুলি নিজেই সংকলন করেছি।
সমস্যাটি যখন আমি স্টক কার্নেলটি ব্যবহার করি তখন এটি অনুমানযোগ্য নেটওয়ার্ক ইন্টারফেসের নামগুলি (যেমন "p4p1") ব্যবহার করে ডিফল্ট মনে হয় তবে আমি যখন কোনও বিকল্প কার্নেল ব্যবহার করি তখন এটি পুরানো পদ্ধতিটি (যেমন "eth0") ব্যবহার করে ডিফল্ট মনে হয়।
এই প্রশ্নের সাথে সত্যই প্রাসঙ্গিক না হলেও, আমার পরীক্ষার কম্পিউটারে আমার একটি হার্ড ডিস্ক ব্যর্থতা ছিল এবং আমি উবুন্টু সার্ভার 14.04.2 এর একটি নতুন ইনস্টল করছি।
কার্নেলের মধ্যে পার্থক্য কী তা আমি নির্ধারণ করতে সক্ষম হইনি। আমি একটি কার্নেল কনফিগারেশন প্যারামিটার সন্দেহ করি, তবে কোনটি সনাক্ত করতে অক্ষম।
আমার প্রশ্ন: আমি কীভাবে অনুমানযোগ্য নেটওয়ার্ক ইন্টারফেসের নামগুলি সমস্ত কার্নেল জুড়ে ধারাবাহিকভাবে কাজ করতে পারি?
অতিরিক্ত নোট: কোথাও আমি গ্রাবটিতে এটি যুক্ত করতে পূর্বাভাসযোগ্য নেটওয়ার্ক ইন্টারফেসের নামগুলি অক্ষম করতে দেখেছি:
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0"
সুতরাং, আমি ভেবেছিলাম বিপরীতটি সাহায্য করতে পারে:
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=1 biosdevname=1"
তবে এতে কোনও তফাত হয়নি। প্রকৃতপক্ষে, আমি কখনওই অ-স্টক কার্নেলটিকে বায়োসদেব নাম ব্যবহার করতে পারি না, সেটিংয়ের কোনও কারণ নেই। এবং আমি কোনও /etc/udev/rules.d/70-persistent-net.rules
ফাইল তৈরি করতে স্টক কার্নেলটি কখনই পেতে পারি না (যদিও এটি আমি চাই না), সেটিংয়ের বিষয়টি বিবেচনা করে net.ifnames
। যদি আমার কাছে থাকে net.ifnames=1
তবে কমপক্ষে অ-স্টক কার্নেলটি একটি ভুল /etc/udev/rules.d/70-persistent-net.rules
ফাইল তৈরি করে না ।
এর থেকে উদ্ধৃতিগুলি /var/log/udev
:
স্টক কার্নেল:
KERNEL[9.216730] add /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/p4p1 (net)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/p4p1
IFINDEX=2
INTERFACE=p4p1
SEQNUM=1945
SUBSYSTEM=net
...
UDEV [9.241073] add /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/p4p1 (net)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/p4p1
ID_BUS=pci
ID_MODEL_FROM_DATABASE=P8P67 and other motherboards
ID_MODEL_ID=0x8168
ID_NET_NAME_MAC=enxf46d04652d8e
ID_NET_NAME_PATH=enp3s0
ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
ID_PCI_CLASS_FROM_DATABASE=Network controller
ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Co., Ltd.
ID_VENDOR_ID=0x10ec
IFINDEX=2
INTERFACE=p4p1
উবুন্টু পিপিএ কার্নেল থেকে 4.1RC5:
KERNEL[10.772566] add /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/eth0 (net)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/eth0
IFINDEX=2
INTERFACE=eth0
SEQNUM=1962
SUBSYSTEM=net
...
UDEV [11.185866] add /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/eth0 (net)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:03:00.0/net/eth0
ID_BUS=pci
ID_MODEL_FROM_DATABASE=P8P67 and other motherboards
ID_MODEL_ID=0x8168
ID_NET_NAME_MAC=enxf46d04652d8e
ID_NET_NAME_PATH=enp3s0
ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
ID_PCI_CLASS_FROM_DATABASE=Network controller
ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Co., Ltd.
ID_VENDOR_ID=0x10ec
IFINDEX=2
INTERFACE=eth0
SEQNUM=1962
SUBSYSTEM=net
USEC_INITIALIZED=3227
দ্রষ্টব্য: আমি কোনও /etc/udev/rules.d/70-persistent-net.rules
ফাইল তৈরি করার অনুমতি দিয়ে এবং তারপরে যথাযথ ডিভাইসের নামের জন্য এটি সম্পাদনা করে সাময়িকভাবে এই সমস্যাটি পেরিয়ে গিয়েছি । শেষ পর্যন্ত, আমি ফাইলটি থেকে মুক্তি পেতে চাই।
net.ifnames=1
এবং এর সাথে বিভিন্ন ইন্টারফেসের নাম প্রত্যাশা করেছিbiosdevname=0
, তবে আমি পুরানো নীতি0 এবং নৈতিকতা পেয়েছি। যাইহোক, সঠিক ইন্টারফেসের নামগুলি/etc/udev/rules.d/70-persistent-net.rules
প্রতিবিম্বিত/etc/network/interfaces
করার জন্য আমি সম্পাদনা করার পরে এটি এখন (কোনও সহ ) কোনও কার্নেলের পক্ষে কাজ করে ।