در سیستم عامل لینوکس هر یک از حافظه‌های ذخیره‌سازی مثل هارددیسک و SSD و درایوهای نوری مثل DVD ROM، در مسیری به عنوان یک فایل سیستم در دسترس است. می‌توانید فایل سیستم جدید بسازید و به راحتی آن را mount کنید و همین‌طور فایل سیستمی را جدا کرده و مجدداً و با سطح دسترسی جدید مثل دسترسی فقط خواندنی ماونت کنید.

در این مقاله به روش ایجاد فایل سیستم و ماونت کردن مجدد آن و همین‌طور تغییر نقطه‌ی ماونت از طریق ترمینال Linux می‌پردازیم.

ایجاد فایل سیستم و ماونت کردن آن

با تایپ کردن فرمان dd در ترمینال لینوکس می‌توانید یک فایل ایمیج بسازید و سپس با دستور mkfs در آن فایل سیستم ایجاد کنید. در ادامه می‌توانید فایل سیستم ایجاد شده را مثل درایوهای هارددیسک و SSD و فایل‌های ISO، ماونت کنید و به عنوان یک درایو از آن استفاده کنید.

و اما مثالی برای روشن شدن موضوع: برای مشخص کردن فایل ورودی، پس از فرمان dd از آپشن if یا Input File استفاده می‌کنیم و استریمی از مقادیر ۰ را از مسیر /dev/zero به عنوان فایل ورودی در نظر می‌گیریم. فایل خروجی با آپشن of یا Output File در این مثال geek_fs نام دارد.

آپشن اندازه‌ی بلوک‌ها یا Block Size را معادل ۱ مگابایت فرض می‌کنید و آپشن count که تعداد بلوک‌های موجود در فایل خروجی را مشخص می‌کند، در انتهای دستور اضافه می‌کنیم:

آموزش ایجاد فایل سیستم و ماونت کردن و ماونت مجدد برای تغییر سطح دسترسی

به این ترتیب فایل ایمیج ایجاد می‌شود و در آن چیزی جز مقادیر ۰ وجود ندارد.

اکنون برای ایجاد فایل سیستم در فایل geek_fs، از دستور mkfs و آپشن -t یا Type استفاده می‌کنیم تا فایل سیستمی با فرمت ext4 ایجاد کنیم:

آموزش ایجاد فایل سیستم و ماونت کردن و ماونت مجدد برای تغییر سطح دسترسی

و حال نوبت به ماونت کردن آن می‌رسد. با دستور mount که قبلاً به معرفی و شیوه‌ی استفاده از آن پرداختیم، این کار انجام می‌شود:

برای مشخص کردن سطح دسترسی و مالکیت، از دستور chown استفاده می‌شود:

آموزش ایجاد فایل سیستم و ماونت کردن و ماونت مجدد برای تغییر سطح دسترسی

اکنون می‌توانید کارهایی مثل تغییر فولدر کاری و کپی کردن فایل‌ها را با دستورات cd و cp انجام بدهید و بررسی کنید که آیا همه چیز درست کار می‌کند یا خیر. در این مثال از دستور ls‌ برای لیست کردن محتویات فایل سیستم و از دستور cp برای کپی کردن فایل fstab استفاده شده است.

آموزش ایجاد فایل سیستم و ماونت کردن و ماونت مجدد برای تغییر سطح دسترسی

از طرفی اگر از دستور mount با آپشن -t برای لیست کردن فایل سیستم‌هایی با فرمت ext4 استفاده کنید، متوجه می‌شوید که فایل سیستم جدیدی اضافه شده است.

آموزش ایجاد فایل سیستم و ماونت کردن و ماونت مجدد برای تغییر سطح دسترسی

ماونت کردن مجدد فایل سیستم

برای ماونت کردن مجدد فایل سیستم در لینوکس از آپشن -o استفاده می‌شود. این کار به خصوص برای تغییر سطح دسترسی فایل سیستمی که به صورت Read Only یا فقط خواندنی ماونت شده و در نتیجه تغییرات فایل‌ها یا نوشتن فایل روی آن امکان پذیر نیست، انجام می‌شود.  در عین حال ممکن است گاهی به حالت فقط خواندنی نیاز داشته باشید تا تغییری در محتویات ایجاد نشود.

به عنوان مثال فرض کنید که می‌خواهید درایو فلاپی را مجدداً و به صورت فقط خواندنی ماونت کنید. در این صورت می‌بایست از دستور mount به همراه آپشن -r استفاده کنید:

آموزش ایجاد فایل سیستم و ماونت کردن و ماونت مجدد برای تغییر سطح دسترسی

عبارت ro معادل فقط خواندنی است در حالی که عبارت rw مخفف Read Write است. اگر از آپشن -o remount پس از فرمان mount استفاده کنید، عمل تغییر حالت فقط خواندنی به خواندنی و نوشتنی به راحتی انجام می‌شود:

و در ادامه با اجرا کردن مجدد دستور mount و استفاده از grep برای جستجو در خروجی آن، می‌توانید سطح دسترسی جدید را مشاهده کنید:

جابجا کردن نقطه‌ی ماونت و بایند

آپشن دیگری که در استفاده از دستور mount مفید واقع می‌شود، آپشن -M یا move است. با استفاده از این آپشن می‌توانید یک فایل سیستم را آن‌ماونت یا جدا کرده و سپس در مسیر دیگری ماونت کنید. اما دقت کنید که این آپشن در توزیعاتی از لینوکس که از systemd بهره می‌برند، کار نمی‌کند و متأسفانه بیشتر توضیحات محبوب لینوکس اینگونه‌اند!

به هر حال می‌توانید فرمان زیر را اجرا کنید و این موضوع را تست کنید. اگر فرآیند انجام نشود و پیغام خطا نمایان شود، این آپشن در توزیعی که نصب کرده‌اید عمل نمی‌کند.

آموزش ایجاد فایل سیستم و ماونت کردن و ماونت مجدد برای تغییر سطح دسترسی

به جای این روش می‌توانید از روش بایند کردن یا به بیان دیگر، پیوند دادن فولدرها استفاده کنید که قبلاً در مقاله‌ای به آن پرداختیم:

به عنوان مثال با اجرا کردن فرمان زیر، فایل سیستم موردنظر از طریق مسیر جدید و مسیر قدیمی در دسترس خواهد بود: