Initramfs / etc / fstab ব্যবহার করে?


20

আমি এটি যেভাবে বুঝতে পারি, "রিয়েল" রুট ফাইল সিস্টেমটি লোড করার জন্য initramfs দায়ী।

এখন, দুটি জায়গা যেখানে আমরা সেই মূলটিকে সংজ্ঞায়িত করি। প্রথমে আমরা একটি এন্ট্রি রাখি /etc/fstab। দ্বিতীয়ত, আমরা কার্নেল বুট কমান্ড যেমন ডিভাইস করা root=/dev/sda1

রুট ফাইল সিস্টেমটি কোথায় তা নির্ধারণের জন্য ইনি্রামফ ব্যবহার করে? যদি এটি রুট কার্নেল প্যারামিটার ব্যবহার করে তবে আমাদের প্রবেশ কেন হবে /etc/fstab? দ্বিতীয় বিকল্পটি (এটি পড়বে /etc/fstab) বেশ অযৌক্তিক কারণ /etc/fstabফাইলটি খুব রুট ডিভাইসে রয়েছে যা ইন্ট্রামফগুলি প্রথমে মাউন্ট করার চেষ্টা করছে।

খুব বিভ্রান্তিকর জিনিস।

উত্তর:


14

যেমন আপনি বলেছেন যে, ইনি্রামফের উদ্দেশ্য হ'ল "আসল" মূল ফাইল সিস্টেমটি মাউন্ট করা (এটি অন্যান্য জিনিসগুলিও করতে পারে তবে এটি সাধারণ কাজ)।

কোনও ইনি্রামফগুলি ব্যতীত, কার্নেল সাধারণত একটি পার্টিশনটিকে কেবল পঠনযোগ্য হিসাবে মাউন্ট করবে এবং তারপরে নিয়ন্ত্রণ নিয়ন্ত্রণ করবে /sbin/init। একটি initramfs কেবল কার্নেল থেকে এই কাজটি গ্রহণ করে, সাধারণত যখন রুট ফাইল সিস্টেমটি একটি সাধারণ পার্টিশন না হয় (এমড্রাইড, lvm, এনক্রিপ্ট করা ইত্যাদি)।

এখন, initramfs এর ব্যাকগ্রাউন্ড বাদে /etc/fstabআপনার রুট ফাইল সিস্টেমে থাকে। যেমন, থ্রিম্রামগুলি চালু করা হলে, মূল ফাইল সিস্টেমটি সেখানে নেই এবং তাই এটি fstab (মুরগী ​​এবং ডিমের সমস্যা) পেতে পারে না get
পরিবর্তে আমাদের initramfs ব্যবহারের জন্য কার্নেল বুট আর্গুমেন্টে একটি প্যারামিটারটি পাস করতে হবে। সাধারণত ভালো কিছু হয় root=/dev/sdX। তবে এটি আপনার মূল ডিভাইসটি কোথায় রয়েছে তা স্বয়ংক্রিয়ভাবে বের করার জন্যও কিছু করতে পারে এবং তাই কোনও পরামিতি নেই। যেহেতু এটি কেবল সফ্টওয়্যার (সাধারণত একটি স্ক্রিপ্ট), এটি রুট ডিভাইসটি মাউন্ট করার জন্য যা কিছু করতে চায় তা সত্যিই করতে পারে।

এখন, যেমন আগে বলা হয়েছে, কার্নেলটি কেবল পঠনযোগ্য হিসাবে আসল রুটটিকে মাউন্ট করবে। Initramfs ঠিক এটি করা উচিত। একবার initramfs সম্পন্ন হওয়ার পরে, সিস্টেমটি বুট করার সময় ঠিক এমনভাবে এগিয়ে যায় যেন কোনও ইন্ট্রামফ নেই এবং /sbin/initশুরু হয়। এই initটি আপনার সমস্ত সাধারণ বুট স্ক্রিপ্টগুলি শুরু করে এবং এই স্ক্রিপ্টগুলির মধ্যে একটির কাজ পড়া /etc/fstab, পড়তে লেখার জন্য রুটটি স্যুইচ করা এবং আপনার সমস্ত ফাইল সিস্টেমগুলি মাউন্ট করা এটি।


সুতরাং, আপনি বলছেন যে / sbin / init আসল রুট ফাইল সিস্টেমের ভিতরে আবার / etc / fstab এর বিকল্পগুলি ব্যবহার করে রুটটিকে পুনরায় গণনা করতে হবে?
আহমেদ ঘোনিম

3
হ্যাঁ. সাধারণত একটি সরল মাধ্যমে mount -o remount,rw /। এটি মাউন্ট করা ডিভাইসটি পরিবর্তন করবে না, তবে এটি মাউন্টের বিকল্পগুলিকে পরিবর্তন করবে। ম্যান পৃষ্ঠা থেকে:After this call mount reads fstab (or mtab) and merges these options with options from command line
প্যাট্রিক

আমরা গ্রাব 2 কমান্ড লাইনটি ব্যবহার করে আমরা কীভাবে কার্নেল বুট আর্গুমেন্টে একটি পরামিতিটি পাস করব? আমার সিস্টেমটি কোনও কারণে গ্রাব মেনুটি প্রদর্শন করে না।
অনুপ্রেরণা

@ চিহ্নযুক্ত আপনার নতুন প্রশ্ন জিজ্ঞাসা করা উচিত মন্তব্যগুলি প্রশ্নোত্তরের জন্য জায়গা নয়
প্যাট্রিক

lsinitramfs /boot/initrd* | fgrep fstabএবং অবাক করা, initramfs কমপক্ষে আমার জন্য fstab ফাইল থাকে।
youfu

2

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

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


1

আপনি / etc / fstabটিকে স্ট্যাটিক মাউন্টিং হিসাবে বিবেচনা করতে পারেন, এটি কেবল এই জাতীয় কাজটি করার একটি উপায়, তবে কেবল কমান্ড মাউন্টটি চালান না, এবং আপনি অনেকগুলি সিস্টেম সিস্টেম দেখতে পাবেন যা fstab এ অনুপস্থিত রয়েছে। এই জাতীয় একটি পরিষেবা এবং ইউডিস্ক / etc / fstab ফাইল উপেক্ষা করে "স্বতঃসমান" র অনেকগুলি পরিচালনা করে ...

সুতরাং, যদি কোনও কিছু মাউন্ট হয় বা প্রায়শই না হয় তবে এর সাথে / etc / fstab এর কোনও সম্পর্ক নেই।

initramfs বুট প্রক্রিয়া চলাকালীন "সত্য" রুটফগুলি মাউন্ট না হওয়া পর্যন্ত এটি কেবলমাত্র একটি অস্থায়ী রুটফগুলি ব্যবহৃত হয়, তবে কেন initramfs / etc / fstab এ থাকা উচিত?

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