ওদেব পুনরায় চালু করার সঠিক উপায় কী?


46

আমি আমার eth1ইন্টারফেসের নাম পরিবর্তন করে রেখেছি eth0udevকনফিগারেশনটি পুনরায় পড়তে এখন কীভাবে জিজ্ঞাসা করবেন ?

service udev restart

এবং

udevadm control --reload-rules

সাহায্য করবেন না তাহলে রিবুট ছাড়াও কোনও বৈধ উপায় আছে? (হ্যাঁ, রিবুট এই সমস্যাটির সাথে সহায়তা করে)

  • হ্যাঁ, আমি জানি আমার সাথে কমান্ডগুলি প্রিপেন্ড করা উচিত sudoতবে আমি উপরে পোস্ট করা ifconfig -aএকটিরও আউটপুটে কোনও পরিবর্তন হয় না : আমি এখনও দেখছি eth1, নেই eth0

  • আমি সবেমাত্র NAMEউদেব-নিয়ম লাইনের সম্পত্তি পরিবর্তন করেছি । এটি অকার্যকর হওয়ার কোনও কারণ জানেন না।

উপরে পোস্ট করা দুটি কমান্ড কার্যকর করতে কোনও ত্রুটি নেই , তবে তারা কেবল ifconfig -aআউটপুটটিতে প্রকৃত ইন্টারফেসের নাম পরিবর্তন করে না । যদি আমি পুনরায় বুট করি - তবে ইন্টারফেসের নামটি প্রত্যাশা অনুযায়ী পরিবর্তন হয়।

বিকাশের উদ্দেশ্যে আমি এমন কিছু স্ক্রিপ্ট লিখি যা ভার্চুয়াল মেশিনগুলি (ভার্চুয়ালবক্স-চালিত) ক্লোন করে এবং কোনও উপায়ে সেগুলি পূর্ব সেট করে।

সুতরাং আমি ভিএম ক্লোন করার জন্য একটি কমান্ড সম্পাদন করেছি, এটি শুরু করব এবং যতক্ষণ না নেটওয়ার্ক ইন্টারফেস ম্যাক পরিবর্তন হয় - udevনেটওয়ার্ক অবিচ্ছিন্ন নিয়মে দ্বিতীয় নিয়ম যুক্ত করে। প্রথমবার মেশিন বুট করার পরে 2 টি নিয়ম রয়েছে:

  • eth0, যার অস্তিত্ব নেই, যতক্ষণ না এটি মূল ভিএম চিত্র ম্যাকটিতে বিদ্যমান
  • eth1, যা বিদ্যমান, তবে সমস্ত ফাইলের সমস্ত কনফিগারেশন উল্লেখ করে eth0, তাই এটি আমার পক্ষে খুব ভাল নয়

সঙ্গে তাই আমি sedসঙ্গে সঙ্গতিপূর্ণ মুছতে eth0(এটা অপ্রচলিত এবং ক্লোন করা ছবিতে অনর্থক) এবং প্রতিস্থাপন eth1সঙ্গে eth0। সুতরাং বর্তমানে আমার বৈধ নিয়মিত নিয়ম আছে, তবে এখনও eth1আছে /dev

সমস্যা: আমি মেশিনটি পুনরায় বুট করতে চাই না (এটি আরও সময় নেবে, যা ভিএম-স্টেজ নির্মাণের পক্ষে ভাল নয়) এবং /devকিছুটা কমান্ড দিয়ে আমার পুনর্নির্মাণ করতে চাই যাতে আমার কাছে ব্যবহারের জন্য প্রস্তুত ভিএম আছে কোনও রিবুট ছাড়াই।


আপনি কিভাবে পরিবর্তন হয়নি eth1করতে eth0? আপনি কি কেবল ডিভাইস ফাইলটির নাম পরিবর্তন করেছেন? যদি তা হয়, তবে এটি কার্যকর করার উপায় নয় (এবং আপনার डि্যামনের একটি সফল পুনরায় চালু করার মাধ্যমে পরিবর্তনটি প্রত্যাবর্তনের প্রত্যাশা করা উচিত udev)। আপনি যদি অন্য কোনও পদ্ধতি ব্যবহার করেন তবে দয়া করে এটিকে বিশদভাবে বর্ণনা করুন এবং আপনি যে কমান্ডগুলি চেষ্টা করেছেন তা চালানোর সময় আপনি যে কোনও ত্রুটি বার্তা দেখছেন তার সম্পূর্ণ এবং সঠিক পাঠ্যটি দিন (ডেমোন পুনরায় চালু করার জন্য udevবা এর বিধিগুলি পুনরায় লোড করার জন্য )। এই তথ্য সরবরাহ করতে আপনি আপনার প্রশ্ন সম্পাদনা করতে পারেন।
এলিয়াহ কাগন

@ এলিয়া কাগান: আপডেট হয়েছে। PS: কেন এটি আবার ফিরিয়ে দেওয়া উচিত? এটি ;-) করা উচিত নয়
জেরকর্মস

udevগতিশীলভাবে আপনার ডিভাইসগুলি এতে তৈরি করে /dev। আপনি যদি এটি পুনরায় চালু করেন তবে এটি তার বিধি অনুসারে তাদের পুনঃজুনিত করবে। তাদের সাথে সরাসরি করা পরিবর্তনগুলি সাধারণত বলার অপেক্ষা রাখে না। দেখে মনে হচ্ছে পুনরায় চালু udevকরা ঠিকঠাক কাজ করছে, তবে আপনি কেবল ডিভাইসের নামগুলি সঠিকভাবে পরিবর্তন করেন নি।
এলিয়াহ কাগন

@ এলিয়া কাগান: নির্দিষ্ট ডিভাইসের জন্য যদি এটি খুঁজে না পাওয়া যায় তবে udev কেবলমাত্র নতুন বিধিগুলি সংশোধন করে (সংশোধন করে না) adds যদি কোনও নিয়ম মেলে - তবে এটি কেবল পরিবর্তন ছাড়াই অনুসরণ করে।
zerkms

@ এলিয়া কাগান: এবং আমি এটি সঠিকভাবে পরিবর্তন করেছি। কেবল বিশ্বাস করুন যে আমি একটি লাইনে একটি চর পরিবর্তন করতে পারি ;-) (এছাড়াও সাহায্যগুলি পুনরায় বুট করুন, এবং এটি প্রমাণ করে যে নিয়মের সাথে সবকিছু ঠিক আছে)
zerkms

উত্তর:


29

আমি যদি এই নেটওয়ার্ক কনফিগারেশন পুনরায় লোড সহায়তা করে জানি না, কিন্তু যখন আমি পরিবর্তিত /etc/udev/rules.d/70-persistent-cd.rulesথেকে DVD ডিভাইসের লিংক সংশোধন করার /dev/dvd1জন্য /dev/dvd, আমি পালিয়ে ছিল

sudo udevadm trigger

নতুন লিঙ্ক তৈরি করা পেতে।


3
আমি বিশ্বাস করি যে sudo udevadm trigger --action=changeএই ইমেলটি নিরাপদ এবং সে সম্পর্কে কী করা নিরাপদ নয় udev: সেগুলি
027260.

প্রকৃতপক্ষে, এবং এটি বলা হয়/etc/udev/rules.d/70-persistent-net.rules
মিশনফোর্ড

উবুন্টু 15.04 এর অধীনে udevadm triggerআমার এক্স 11 সেশনটি লকআপ করেছে এবং আমাকে আমার লগইন স্ক্রিনে ফেলে দিয়েছিল।
ইয়ান ডি অ্যালেন

20

আপনাকে এখানে প্রদত্ত সমস্ত পরামর্শ সঠিক ক্রমে একত্রিত করতে হবে:

  1. নেটওয়ার্কটি নামিয়ে আনুন service networking stop
  2. কার্নেল থেকে ড্রাইভার মডিউলটি আনলোড করুন
    1. মডিউলটির নামটি lspci -vসন্ধান করুন এবং "ব্যবহৃত কার্নেল ড্রাইভার:"
    2. modprobe -r <driver module>
  3. ওদেব বিধিগুলি পুনরায় লোড করুন udevadm control --reload-rules
  4. নতুন নিয়ম ট্রিগার করুন udevadm trigger
  5. বোঝাই চালক modprobe <driver module>
  6. নেটওয়ার্ক পুনরায় চালু করুন service networking start
  7. (alচ্ছিক) ইন্টারফেসের নামটি iptablesরেফারেন্স হওয়া ethপূর্বে যে কোনও স্ক্রিপ্ট পুনরায় রান করুন ।

আমি সন্দেহ করি যে পদক্ষেপ 4 বা 5 ধাপের সত্যই প্রয়োজন নেই, তবে এই পদক্ষেপগুলি আমার পক্ষে কাজ করেছে। ট্রিগার কমান্ড ইতিমধ্যে 5 পদক্ষেপ করেছে কিনা তা দেখতে আপনি ২ য় পদক্ষেপের পরে চেক করতে পারেন, আপনি যদি তা করেন তবে আপনার অনুসন্ধানগুলি প্রতিফলিত করতে এই উত্তরটি সম্পাদনা করুন।


1
উবুন্টু 15.04 তালিকাভুক্ত সমস্ত ডিভাইসের সাথে /etc/network/interfaces(সুতরাং নেটওয়ার্ক ম্যানেজার এগুলি একা ফেলে রাখে): আমাকে যা করতে হবে তা হ'ল সম্পাদনা করে /etc/udev/rules.d/70-persistent-net.rulesতারপর # 2, # 3, # 5 করুন। সমস্ত নেটওয়ার্কিং বন্ধ করার প্রয়োজন নেই; আর কিছুর দরকার নেই।
ইয়ান ডি অ্যালেন

5

আমারও একই সমস্যা ছিল। যেহেতু আমি পুনরায় বুট করতে সময় নিতে চাইনি, তাই ক্রিস ওয়েসলিংয়ের পরামর্শ ব্যবহার করে আমি একটি লাইনার চালিত।

/etc/init.d/ নেটওয়্যারিং স্টপ অ্যান্ড অ্যান্ড Modprobe -r tg3 && udevadm নিয়ন্ত্রণ - রিলোড-বিধি এবং & udevadm ট্রিগার && modprobe tg3 && /etc/init.d/ নেটওয়াকিং শুরু

এটি আমার জন্য উবুন্টু 12.04.02 সার্ভার ব্যবহার করে কাজ করেছে। আমার নিকগুলি tg3 কার্নেল মডিউল ড্রাইভার ব্যবহার করছিল, সুতরাং আপনার ইন্টারফেসগুলি যে মডিউলটি ব্যবহার করছে তা tg3 পরিবর্তন করুন। আমার ব্যবহৃত জিনিসগুলি আমি খুঁজে পেয়েছি /etc/udev/rules.d/70-persistent-net.rules:

পিসিআই ডিভাইস 0x14e4: / sys / ডিভাইস / pci0000: 00/0000: 00: 1c.4 / 0000: 02: 00.1 (tg3) <এনকেলের জন্য কার্নেল মডিউল ড্রাইভার

আমার একটি সমস্যা ছিল খারাপ রুট যা আমি একটি সরল রুট অ্যাড কমান্ড দিয়ে ঠিক করেছি with ক্রিস সাহায্যের জন্য ধন্যবাদ!



3

sudo /etc/init.d/udev restartকৌতুক করা উচিত। আপনি যে কয়েকটি আদেশ ব্যবহারের চেষ্টা করেছেন তা যদি sudoকার্যকর হয় তবে এটি কার্যকরও হতে পারে।


নাহ, ifconfig -aএখনও আমাকে পুরানো eth1ইন্টারফেস দেখায়
zerkms

3

এটি নিরাপদে এটি করা উচিত:

sudo reload udev

যেহেতু আমি কোনও সমস্যা ছাড়াই এই আদেশটি ব্যবহার করেছি।


নাহ, ifconfig -aএখনও আমাকে পুরানো eth1ইন্টারফেস দেখায়
zerkms

1

আমি বেশ কিছুটা একই উদ্দেশ্য নিয়ে কিছুক্ষণ গবেষণা করেছি এবং লাইভ সিস্টেমে নেটওয়ার্ক ইন্টারফেসের নাম পরিবর্তন করার কোনও উপায় আমি খুঁজে পাচ্ছি না।

আমি যে কাজের জন্য গিয়েছি সেটি হ'ল টেমপ্লেটে /etc/udev/rules.d/70-persistance-net.rules ফাইলটি মুছে ফেলা, যার অর্থ হ'ল পরবর্তী বুটে এটি কোনও নেটওয়ার্ক কার্ড এথ0 হিসাবে দেখতে পাবে।


1

নিয়ম পরিবর্তনটি ট্রিগার করতে আপনাকে udev পুনরায় লোড করতে হবে, আপনি ড্রাইভার মডিউলটি আনলোড / পুনরায় লোড না করা পর্যন্ত ডিভাইসটির নাম পরিবর্তন করা হবে না।

সুতরাং modprobe -r e1000 && modprobe e1000udev পুনরায় লোড করার পরে কৌতুক করা উচিত। অবশ্যই, যদি আপনার নেটওয়ার্কের প্রয়োজন হয় এবং কেবল ই 1000 টি ইন্টারফেস থাকে তবে এটি করবেন না।


0

1
উবুন্টুকে জিজ্ঞাসা করুন স্বাগতম! যতক্ষণ এই তাত্ত্বিক প্রশ্নের উত্তর হতে পারে, এটা বাঞ্ছনীয় হবে উত্তর অপরিহার্য অংশের এখানে অন্তর্ভুক্ত করা, এবং রেফারেন্স এর জন্য লিঙ্ক প্রদান।
ব্রায়াম

0

সুতরাং আমার জন্য উবুন্টু 12.04 সহ ভার্চুয়ালবক্সে, আমি প্রায়শই ইথারনেট এবং ওয়্যারলেস মধ্যে স্যুইচ করি।

সুতরাং যখন আমার সংযোগ পরিবর্তন হয়, আমি অবশ্যই ডিভাইসগুলি> নেটওয়ার্ক সেটিংস থেকে ব্রিজড অ্যাডাপ্টারটি বেছে নিতে পারি। হয় 'ইন্টেল 82579LM গিগাবিট নেটওয়ার্ক সংযোগ' বা 'ইন্টেল সেন্ট্রিনো আলটিমেট-এন 6300 এজিএন'।

এই কাজ করার পরে, আমি চালাতে পারেন

sudo modprobe -r e1000
sudo service udev restart
sudo modprobe e1000
ping google.com # To test I ran this between each command.

উপরের সমস্ত উত্তর পড়ার পরে এটি আমার ফলাফলগুলির ব্যাখ্যা মাত্র।

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