/ ইত্যাদি / মেশিন-আইডি পরিবর্তন করা ঠিক আছে?


33

আমি একটি ডিস্ক (এসএসডি) ক্লোন করেছি এবং ক্লোনড ডিস্কটি অন্য একটি মেশিনে রেখেছি। এখন উভয় সিস্টেমে একই মান রয়েছে /etc/machine-id/etc/machine-idমান পরিবর্তন করার জন্য কি কেবল সম্পাদনা করতে সমস্যা হয়? সিস্টেমটি চলার সময় আমি কি এটি করতে পারি (বা লাইভ ইউএসবি থেকে বুট করার দরকার আছে)?

কি systemd-machine-id-setupএকটি ভালো বিকল্প?

এর নিষ্পাপ ব্যবহার systemd-machine-id-setupকাজ করে না। আমি এই পদক্ষেপগুলি চেষ্টা করেছিলাম:

nano /etc/machine-id (to remove the existing value)
systemd-machine-id-setup
> Initializing machine ID from D-Bus machine ID.
cat /etc/machine-id

নতুন মানটি পুরানো মানের সমান।


দেখে মনে হচ্ছে এটি ঠিক আছে
আমি

1
যেহেতু ডি-বাস কোনও আন্তঃ-হোস্ট প্রক্রিয়া নয়, তাই হোস্টগুলির একই আছে কিনা তাতে কী পার্থক্য রয়েছে machine-id?
এফএমপুরফি

উত্তর:


28

যদিও systemd-machine-id-setupএবং systemd-firstbootsystemd হল ব্যবহারকারী সিস্টেমে মহান, /etc/machine-idএকটি systemd হল ফাইল, ট্যাগ সত্ত্বেও নয়। এটি systemd ব্যবহার না করে এমন সিস্টেমেও ব্যবহৃত হয়। সুতরাং বিকল্প হিসাবে, আপনি dbus-uuidgenসরঞ্জামটি ব্যবহার করতে পারেন :

rm -f /etc/machine-id

এবং তারপর

dbus-uuidgen --ensure=/etc/machine-id

স্টিফেন কিট দ্বারা উল্লিখিত হিসাবে, ডিবিয়ান সিস্টেমগুলিতে একটি /etc/machine-idএবং একটি /var/lib/dbus/machine-idফাইল উভয়ই থাকতে পারে । যদি উভয়ই নিয়মিত ফাইল হিসাবে উপস্থিত থাকে তবে তাদের বিষয়বস্তুগুলি মিলবে, তাই সেখানেও সরিয়ে ফেলুন /var/lib/dbus/machine-id:

rm /var/lib/dbus/machine-id

এবং এটি পুনরায় তৈরি করুন:

dbus-uuidgen --ensure

এই শেষ কমান্ডটি স্পষ্টতই /var/lib/dbus/machine-idফাইলটির নাম হিসাবে ব্যবহার করে এবং ইতিমধ্যে সদ্য উত্পন্ন উত্পাদক থেকে মেশিন আইডি অনুলিপি করবে /etc/machine-id

অনুরোধ dbus-uuidgenইতিমধ্যে নিয়মিত বুট ক্রমের অংশ হতে পারে বা নাও হতে পারে। যদি এটি বুট ক্রমের অংশ হয় তবে ফাইলটি সরিয়ে পুনরায় বুট করা যথেষ্ট। যদি dbus-uuidgenনিজেকে চালানোর দরকার হয় তবে ম্যান পৃষ্ঠায় দেওয়া সতর্কতার প্রতি মনোযোগ দিন:

যদি আপনি একটি চলমান সিস্টেমে বিদ্যমান মেশিন-আইডি পরিবর্তন করার চেষ্টা করেন তবে এটি সম্ভবত খারাপ কিছু ঘটতে পারে। এই ফাইলটি পরিবর্তন করার চেষ্টা করবেন না। এছাড়াও, দুটি ভিন্ন সিস্টেমে এটির মতো করবেন না; এটি দুটি পৃথক কার্নেল চলমান যে কোনও সময় আলাদা হওয়া প্রয়োজন।

সুতরাং এটি করার পরে, রিবুট না করে অবশ্যই সিস্টেমটি ব্যবহার চালিয়ে যাবেন না। অতিরিক্ত সতর্কতা হিসাবে, আপনি পরিবর্তে প্রথমে উদ্ধার মোডে পুনরায় বুট করতে পারেন (বা আপনি যেমন পরামর্শ দিয়েছেন, একটি লাইভ ইউএসবি স্টিক থেকে বুট করুন), তবে আমার অভিজ্ঞতা থেকে, এটি প্রয়োজনীয় নয়। খারাপ জিনিসগুলি ঘটতে পারে তবে খারাপ জিনিসগুলি যে কোনওভাবেই রিবুট দ্বারা স্থির করা হয়।


2
আমি যেমন জিনিসগুলি বুঝতে পেরেছি, ডি-বাস মেশিন আইডিটি / এতে সঞ্চিত ছিল /var/lib/dbus/machine-idএবং /etc/machine-idএটি সিস্টেমড-ইসেম (যা ডি-বাসের সাথে সামঞ্জস্যপূর্ণ)।
স্টিফেন কিট

2
@ স্টেফেনকিট আমি বিশ্বাস করি আপনি historতিহাসিকভাবে ঠিক আছেন তবে ডি-বাস /etcআজকাল সরাসরি এটি গ্রহণ করে (কোনও সিমলিংকের প্রয়োজন নেই), এটি কেবল সরলতার জন্য সেখানে রাখা যেতে পারে: সেখানে আরও কোড রয়েছে যা কেবলমাত্র চেকগুলির /etcচেয়ে চেক করে /var/lib/dbus
এইচডিভি

সেক্ষেত্রে আপনার অবশ্যই কমপক্ষে নিশ্চিত হওয়া উচিত যে দুটি ফাইলের আলাদা মান নেই।
মাধ্যাকর্ষণ

@ গ্রায়েটি এটি করার সবচেয়ে সহজ উপায় হ'ল প্রথম জায়গায় দুটি পৃথক ফাইল না রেখে। আপনি কি ডিস্ট্রোস সম্পর্কে জানেন যে পৃথক ফাইল রয়েছে (অর্থাত্ নিয়মিত দুটি ফাইল, একটি নিয়মিত ফাইল নয় এবং একটি সিমলিংক)?
এইচডিভি

স্পষ্টতই, ডিগ্রো ওপি ব্যবহার করুন যাইহোক, মূল পোস্টটি systemd-machine-id-setupসেখানে মূল মূল্যের একটি অনুলিপি খুঁজে পাওয়া যায়। কোনও ডিস্ট্রো বিশেষভাবে সিমলিংক তৈরি না করা পর্যন্ত এটি মূলত ডিফল্ট আচরণ ।
মাধ্যাকর্ষণ

29

/etc/machine-idক্লোনড ডিস্কে মুছে ফেলা এবং পুনরায় বুট করা সবচেয়ে সহজ বিকল্প ; systemd-machine-id-setupআপনার জন্য একটি নতুন তৈরি করবে (এটি যদি স্বয়ংক্রিয়ভাবে না ঘটে তবে আপনাকে এটি ম্যানুয়ালি চালানো দরকার)। আপনার /var/lib/dbus/machine-idমুছতেও পারে (এটি যদি কোনও সিলেট লিঙ্ক না হয় /etc/machine-id); যে ক্ষেত্রে, নিশ্চিত করুন যে নতুন করে করছি! machine-idযাতে ফাইল কপি সত্যিই নতুন, এবং /etc/machine-idএবং /var/lib/dbus/machine-idএকই মান ধারণ করে।

যেমন আপনি খুঁজে পেয়েছেন systemd-machine-id-setupযে কোনও /etc/machine-idফাইলের সাথে বুট করা সিস্টেমে চালনা চালানো শনাক্তকারীটিকে কেবল এটি (ডি-বাস মেশিন আইডি থেকে) বুট করা হয়েছিল তা পুনরুদ্ধার করবে। আপনি যে লিঙ্কটি লিঙ্ক করেছেন তাতে এই বিকল্পটি 1। ফাইল (গুলি) মুছে ফেলা এবং পুনরায় চালু করা বিকল্প 4 ব্যবহার করবে।

এইভাবে ডিস্কের ক্লোনিং করার পাঠকদের পরিকল্পনার সুবিধার জন্য , সিস্টেমডের সাথে প্রস্তাবিত পদ্ধতির, কমপক্ষে যেসব সিস্টেমে systemd-firstbootউপলব্ধ রয়েছে সেগুলি ব্যবহার করার পরিবর্তে এটি ব্যবহার করা উচিত:

  1. ডিস্ক ক্লোন করুন;
  2. ক্লোন করা মূল পার্টিশনটি কোথাও মাউন্ট করুন ( যেমন /mnt );
  3. মেশিন আইডি শুরু করুন:

    systemd-firstboot --root=/mnt --setup-machine-id
    

আপনি systemd-firstbootঅন্যান্য পরামিতি সেট আপ করতে ব্যবহার করতে পারেন যখন আপনি এটির (হোস্টনাম, রুট পাসওয়ার্ড ইত্যাদি)।


এটি লক্ষণীয় যে উবুন্টু ১.0.০৪ এবং ১..১০ তে /etc/machine-idএটি সরানো থাকলে স্বয়ংক্রিয়ভাবে তৈরি systemd-firstbootকরা যায় না , পাওয়া যায় না। সুতরাং একবার আপনি এই ফাইলটি সরিয়ে ফেললে আপনার নিজে নিজে এটি পুনরায় তৈরি করতে হবে systemd-machine-id-setup(এবং সম্ভবত রিবুটও করুন)।
জের্লোস

আরেকটি বিষয়: প্রায়শই /var/lib/dbus/machine-idকেবলমাত্র একটি সিমিলিংক হয় /etc/machine-id, সুতরাং একটি ফাইল থেকে অন্য ফাইলটিতে সামগ্রী অনুলিপি করার দরকার নেই।
জের্লোস

1
@ জার্লোস হ্যাঁ, সুতরাং "দরকার হতে পারে"; তবে আমি তাও স্পষ্ট করে দিয়েছি, আবারও ধন্যবাদ।
স্টিফেন কিট

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