انجمنهای فارسی اوبونتو
جامعه کاربران => کافه اوبونتو => نویسنده: #unknown# در 26 آبان 1400، 11:57 قظ
-
به روت و زیرمجموعه هاش میگن فایل سیستم (... و bin,mnt,home,usr/)
به فرمت های ext4 و ... هم میگن فایل سیستم
تفاوت اینا با هم چیه ؟
-
به روت و زیرمجموعه هاش میگن فایل سیستم (... و bin,mnt,home,usr/)
نه کی تا حالا؟ اینا دایرکتوری هستن. حالا ممکنه روی یه پارتیشن مجزا سوار بشن و اون پارتیشن هم میتونه هر نوع مجاز فایل سیستم رو داشته باشه.
به فرمت های ext4 و ... هم میگن فایل سیستم
اگه فایل سیستم نباشه، داخل حافظهی ذخیرهسازی قطار اطلاعات رو داریم بدون اینکه بدونیم هر واگن از کجا شروع میشه و کجا تموم میشه.
هر پارتیشن در حالت ساده یه جدوله، که اطلاعات فایلهای داخل خودش رو نگهداری میکنه. حالا بسته به اینکه چه نوع اطلاعاتی رو بتونه ذخیره کنه (مثل مجوزهای سطح دسترسی و مالکیتها و..) یا فشردهسازی داشته باشه و نداشته باشه یا Journaling و... انواع فایلسیستمها رو استاندارد میکنن.
-
به روت و زیرمجموعه هاش میگن فایل سیستم (... و bin,mnt,home,usr/)
به فرمت های ext4 و ... هم میگن فایل سیستم
تفاوت اینا با هم چیه ؟
/bin/ یا /media/ یا /run/ همه دایرکتوری هستند. (که توی لینوکس، دایرکتوری هم یهجور فایله)
فایلسیستم چیزیه که برای نگهداری اطلاعات، با نظم خاصی استفاده میشه. در اصل فایلسیستم رو میتونید یه پایگاه داده تصور کنید که اطلاعات به طور خاصی در اون ذخیره و خونده میشن. این باعث میشه که اطلاعات نظم داشته باشند و بتونیم راحتتر چیزها رو پیدا کنیم.
فایلسیستم یه چیز عجیبی نیست. حتی نوار کاستهای قدیمی هم یه فایلسیستم دارند، هرچند خیلی ساده و کم امکانات هست.
توی لینوکس، فایلسیستمها روی دایرکتوریها سوار میشن تا بشه به طور درست از محیط کاربر (user space) به اونها دسترسی داشت. البته میشه با dd بدون سوار کردن فایلسیستم یه کارهایی کرد اما همینجوری نیست.
فایلسیستمها حتما لازم نیست که روی دیسک یا چیز خاصی باشند یا حتما اطلاعات رو برای مدت طولانی ذخیره کنند. مثلا توی لینوکس، فایلسیستمهای مجازی زیادی وجود داره که هر کدوم برای یه کاری هستند. tmpfs هست که اگه جایی سوار بشه، اطلاعاتی که اونجا نوشته میشن، مستقیم میرن داخل ram. این خیلی سرعت زیادی داره اما بدیش اینه که فقط به اندازه رم جا دارید و ممکنه راحت رم رو پر کنید. یکی از اینها روی /run/ سوار شده.
sysfs هم هست که روی /sys/ سوار میشه. میشه با تغییر فایلهای داخل /sys/، سیستم رو کنترل کرد، مثلا zram فعال باشه یا نه، اگه سختافزار پشتیبانی میکنه، تنظیم کرد که باتری تا چقدر شارژ بشه، پارامترهای ماژولها رو کنترل کرد، چه ماژولهای امنیتی توی کرنل بارگذاری بشن، اگه سختافزار پشتیبانی میکنه، نور صفحه نمایش رو تغییر داد و اینجور کارها. البته /sys/ تنها جایی نیست که میشه از طریق اون سیستم رو کنترل کرد.
فایلسیستمهای مجازی بیشتری توی لینوکس هست که هر کدوم کاربرد خاصشون رو دارند و جای مخصوصی سوار میشن.
مثلا devtmpfs که روی /dev/ سوار میشه، proc که روی /proc/ سوار میشه، securityfs که روی /sys/kernel/security/ سوار میشه و خیلی دیگه. همه این فایلسیستمها که گفتم، توی ram هستند و اطلاعات خودشون رو با قطع برق از دست میدن، کارشون اینه که اطلاعات رو با نظم خاصی ذخیره کنند تا دسترسی و تغییر راحتتر باشه. کاری که یه فایلسیستم باید انجام بده.
-
به روت و زیرمجموعه هاش میگن فایل سیستم (... و bin,mnt,home,usr/)
به فرمت های ext4 و ... هم میگن فایل سیستم
تفاوت اینا با هم چیه ؟
پیشنهادم به شما اینه که اگه میخواین یاد بگیرین دوره lpic1 جادی یا آقای پیمان هوشمندی راد رو که تو امضام هست رو دانلود کنید و ببینید (آموزش ویدیویی)
-
نه کی تا حالا؟ اینا دایرکتوری هستن. حالا ممکنه روی یه پارتیشن مجزا سوار بشن و اون پارتیشن هم میتونه هر نوع مجاز فایل سیستم رو داشته باشه.
پس اینا دایرکتوری هستن ؟
جالبه
توی لینوکس، فایلسیستمها روی دایرکتوریها سوار میشن تا بشه به طور درست از محیط کاربر (user space) به اونها دسترسی داشت. البته میشه با dd بدون سوار کردن فایلسیستم یه کارهایی کرد اما همینجوری نیست.
ولی فک میکنم دایرکتوری ها روی فایل سیستم سوار میشن ، چون اول پارتیشن رو فرمت میکنیم با ext4 بعد روت رو مریزیم توش .
پیشنهادم به شما اینه که اگه میخواین یاد بگیرین دوره lpic1 جادی یا آقای پیمان هوشمندی راد رو که تو امضام هست رو دانلود کنید و ببینید (آموزش ویدیویی)
آره سر فرصت نگاه میکنم
-
نه شما روت رو نمیریزیدتوش به عنوان روت استفاده می کنید که سیستم عامل روی اون پارتیشن نصب بشه
-
ولی فک میکنم دایرکتوری ها روی فایل سیستم سوار میشن ، چون اول پارتیشن رو فرمت میکنیم با ext4 بعد روت رو مریزیم توش .
فرض کنید توی محیط یه توزیع زنده هستید.
شما اول یه block device رو (پارتیشن یه نوع block device هست) رو با چیزی مثل ext4 فرمت میکنید. بعد جایی رو که فرمت کردید روی یه دایرکتوری مثل /mnt/ سوار میکنید و اطلاعات رو میریزید داخلش. بعد گراب رو نصب و تنظیم میکنید. در آخر هم نصب تموم میشه و شما کامپیوتر رو خاموش میکنید.
وقتی کامپیوتر رو روشن میکنید، اول گراب میاد بالا و تنظیماتش رو میخونه. بعد با توجه به اون تنظیمات، یه منو درست میکنه که شما میبینید. و یه گزینه رو انتخاب میکنید تا بوت بشه.
وقتی گراب، کرنل رو اجرا میکنه، یه سری پارامتر هم به کرنل میده تا کرنل بدونه چیکار کنه. اینکه چه پارامتری بده، به تنظیمات گراب و منویی که انتخاب کردید بستگی داره. میشه این پارامترها رو قبل از اجرای کرنل، توی گراب تغییر داد، ولی اینکار دایمی نیست، برای دایمی کردن، باید تنظیمات گراب رو عوض کرد.
یکی از این پارامترها، root هست. جلوی روت چیزی نوشته میشه که قراره به عنوان / سوار بشه.
مثال پایین رو ببینید، این باعث میشه sda1 به عنوان / سوار بشه.
root=/dev/sda1
الان خیلی کم پیش میاد که مستقیما sda1 رو به کرنل داد، معمولا UUID رو میدن. اینجوری
root=UUID=XXXXXXXXXXXXXXXX
طول اون X ها بر حسب فایلسیستم فرق داره. بهجای X ها، UUID قرار میگیره.
این باعث میشه کرنل بره و توی مسیر زیر رو بگرده
/dev/disk/by-uuid
توی اون دایرکتوری لینکهایی وجود داره به block device های داخل /dev/، مثل sda1. دلیل استفاده از UUID این هست که با تغییر جای دیسک یا وصل کردن یه چیز دیگه، تغییر نمیکنند.
مثلا اگه شما دوتا هارد داشته باشید که به ترتیب به عنوان sda و sdb شناخته میشن، ممکنه با عوض کردن جای اتصال توی مادربرد، اولی به اسم sdb و دومی به اسم sda شناخه بشه، که مشکل درست میکنه.
وقتی کرنل شروع به کار میکنه، هیچ چیزی وجود نداره که بخواهد /dev/ رو نگهداری کنه. به خاطر همین چیزی هست به اسم initramfs، وقتی کرنل تازه شروع به کار میکنه، initramfs یه فایلسیستم مجازی توی ram میسازه که به عنوان / سوار میشه، بعد دستگاهها توی /dev/ نمایان میشن و یه سری کارها انجام میشه، بعد از انجام اون کارها، چیزی که توی پارامتر root مشخص شده بود، به عنوان / سوار میشه، کرنل از این روت جدید استفاده میکنه و چیزهای مورد نیاز رو به این روت جدید منتقل میکنه.
کرنل init رو اجرا میکنه، (اکثر مواقع systemd)، init تنظیماتش رو میخونه، کارهای لازم رو انجام میده و بعد شما صفحه ورود رو مشاهده میکنید.
-
فکر میکنم file system و filesystem رو اشتباه گرفتی. اولی دو تا واژه است که به ساختار نگهداری پروندهها کنار هم و روش دسترسی بهشون گفته میشه. دومی یه واژهاست که به روش نگهداری پروندهها روی دیسک و ساختار دسترسی بهشون گفته میشه. در حقیقت دومی یه لایه پایینتر از اولیه.