X
تبلیغات
رایتل
آموزش لینوکس و معرفی نرم افزارهای کاربردی مرجع باز (open source)

آرشیو ماهانه مقالات

طبقه بندی موضوعی

برای عضویت در خبرنامه این وبلاگ نام کاربری خود در سیستم بلاگ اسکای را وارد کنید
نام کاربری
تعداد بازدیدکنندگان : 675485


Powered by BlogSky.com

شنبه 24 آبان‌ماه سال 1382
استفاده از دستور mount برای اتصال سیستم فایلها در لینوکس

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

سیستم فایل لینوکس کاملا متفاوت از سیستم فایل‌های مورد استفاده در سیستم عامل ویندوز مایکروسافت است. بجای تخصیص یک نام درایو (مانند A، C و...) برای هر یک از دستگاه‌ها مانند دیسک سخت، درایو CD-ROM و...، تمام این دستگاه‌ها در دایرکتوری‌های ویژه‌ای متصل (mount) می‌شوند. شما باید بتوانید این نقاط اتصال را ایجاد نمایید. پس به دایرکتوری‌هایی که در آنها پارتیشن‌های مختلف یک دیسک سخت یا درایوهای فلاپی و CD-ROM متصل می‌شوند، نقاط اتصال یا mount point گویند.

هر کاربر لینوکس اعم از یک کاربر رده متوسط و یا یک مدیر سیستم لینوکس در  شرایطی حتما نیاز پیدا خواهد کرد که فایل سیستمهای مختلف را جهت مشاهده محتویات درایوها اعم از درایوهای موجود بر روی هاد دیسک یا درایوهای شبکه به سیستم لینوکس متصل یا به اصطلاح mount  نماید . البته اکثر توزیعهای لینوکس به صورت خودکار دستور mount -a (اتصال تمام فایل سیستمها) را در هربار بوت اجرا می‌کنند. بنابراین استفاده از این دستور فقط در شرایط خاصی نیاز می‌باشد.

Mount کردن فایل سیستمها می‌تواند به منظورهای زیر صورت گیرد:

-نمایش دیسکها، پارتیشن ها و فایل سیستم های راه دور (شبکه) که در حال حاضر متصل هستند.

-اتصال موقت یک سیستم فایل

برای نمایش اینکه در حال حاضر چه پارتیشن‌هایی از دیسک سختتان به سیستم فایل متصل شد است، باید از دستور mount استفاده نمایید. به این منظور یک پنجره ترمینال باز کرده و دستور زیر را تایپ نمایید. خروجی دستور را در زیر آن مشاهده می‌کنید:

$ mount

/dev/hda3 on / type ext3 (rw,errors=remount-ro)

proc on /proc type proc (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/hda2 on /boot type ext3 (rw,errors=remount-ro)

/dev/hda5 on /home type ext3 (rw,errors=remount-ro)

/dev/hda8 on /Data type ext3 (rw,errors=remount-ro)

/dev/hda7 on /mnt/D type vfat (rw,gid=105,umask=002)

همانطوری که می‌بینید، proc و devpts نیز به عنوان سیستم فایل نشان داده شده اند. در حقیقت این ها نوع خاصی از سیستم فایل هستند که به هیچ پارتیشنی در سیستم مربوط نمی‌باشند ولی در دستور mount نمایش داده می‌شوند.

در مثال بالا، پارتیشن‌های متصل عبارتند از dev/hda2، dev/hda3، dev/hda5، dev/hda8 و dev/hda7که فضای موجود در دایرکتوری های boot، /، home،Data و mnt/D را فراهم می‌کنند. به کلام دیگر، نقطه اتصال پارتیشن dev/hda2 دایرکتوری boot و به همین ترتیب است. در دایرکتوری boot اطلاعات لازم برای بوت شدن و مدیر بوت سیستم (گراب یا لیلو) قرار می‌گیرد. این اطلاعات شامل برنامه boot loader و فایل‌های پیکربندی آن است. دایرکتوری home حاوی داده‌های کاربران تعریف شده روی سیستم است. هر کاربر دارای یک دایرکتوری معمولا همنام با نام کاربری خود در دایرکتوری home است. / نیز بخش اصلی سیستم لینوکس است که اکثر دایرکتوری‌های سیستمی و فایل‌های سیستمی سیستم عامل در آن قرار می‌گیرند. در مثال بالا پس از کلمه type می‌توانید نوع فرمت پارتیشن مورد نظر را ببینید. مثلا ext3 یا vfat.
قرار دادن بخش های مختلف سیستم فایل لینوکس روی پارتیشن‌های مختلف می‌تواند محاسن زیادی داشته باشد. مثلا در صورتی که دایرکتوری مربوط به کاربران یعنی
home را در یک پارتیشن جداگانه قرار دهید و آن پارتیشن پر شود، اختلالی در سیستم بوجود نخواهد آمد. ولی در صورتی که این دایرکتوری در کنار دایرکتوری ریشه در یک پارتیشن قرار گیرند، پر شدن آن منجر به پرشدن کل فضای دیسک سیستم شده و در کار کل سیستم اختلال ایجاد می‌کند. البته در سیستم‌های خانگی معمولا این اتفاق کمتر می‌افتد و قرار دادن کل سیستم در پارتیشن ریشه به احتمال زیاد مشکلی ایجاد نخواهد کرد، ولی این مسئله در سیستم‌هایی که به نحوی عملیات سرویس دادن را انجام می‌دهند، بسیار حیاتی و مهم است.

تمام کاربران می‌توانند از دستور mount بدون هیچ گزینه و پارامتری استفاده نماید. همانطوری که قبلا نشان داده شد، هنگامی که از این دستور بدون هرگونه گزینه و پارامتری استفاده می‌کنید، فایل سیستمهایی که در حاضر به سیستم متصل هستند، نمایش داده می‌شوند.

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

در صورتی که می‌خواهید یک سیستم فایل را بطور دستی متصل نمایید، اطلاعات موجود در فایل fstab می‌تواند به شما کمک کند. شما یک گزینه را مشخص می نمایید و باقیمانده اطلاعات لازم از این فایل دریافت می‌شود. بنابراین اطلاعات موجود در فایل fstab به شما کمک می‌کند تا فایل سیستم‌ها را خیلی سریع متصل نمایید. مواردی که می‌توانید آنها را بصورت سریع متصل نمایید عبارتند از:

 

-درایو CD-ROM: در صورتی که یک دیسک CD-ROM با فرمت استاندارد (ISO9660) در درایو قرار دارد، میتوانید آنرا با استفاده از دستور زیر متصل نمایید:

$ mount /mnt/cdrom

به طور پیش گزیده، درایو CD-ROM در دایرکتوری mnt/cdrom یا cdrom/ متصل می‌شود. اطلاعات مورد نیاز این دستور به طور خودکار از فایل fstab دریافت می‌شوند. برای نمایش محتویات دیسکی که اکنون متصل شده است، کافی است با استفاده از دستور cd وارد مسیر آن شده و سپس دستور ls را تایپ نمایید:

$ cd /mt/cdrom

$ ls

-دیسک‌های فلاپی: برای دیسک‌های فلاپی نیز می‌توانید همانند بالا رفتار نمایید. دستور زیر باعت اتصال دیسکهای فلاپی خواهد شد:

$ mount /mnt/floppy

البته در صورتی که از لیبرانت یا دبیان استفاده می‌کنید، محل اتصال فلاپی floppy/ خواهد بود.

-پارتیشن‌های ویندوز: برای پارتیشن‌هایی که در فایل fstab تعریف نموده‌اید نیز می‌توانید مانند بالا عمل کنید:

$ mount /windows

در هر سه مورد فوق، می‌توانید از آدرس دستگاه‌های سخت افزاری درایوهای CD-ROM، پارتیشن دیسک سخت و فلاپی نیز استفاده نمایید. (dev/cdrom و dev/fd0 و dev/hda1) گزینه‌هایی وجود دارد که می‌توانید آنها را به همراه دستور mount به کار ببرید. این گزینه‌ها عبارتند از:

 

- گزینه t auto- : در صورتی که هنگام متصل نمودن یک دیسک یا فلاپی، مطمئن نیستید که سیستم فایل آن چیست، می‌توانید از این گزینه تعیین خودکار نوع سیستم فایل استفاده نمایید.

- گزینه r- : در صورتی که فقط نیاز به خواندن یک سیستم فایل دارید و نمی خواهید آنرا تغییر دهید، می‌توانید آنرا بوسیله این گزینه بصورت فقط-خواندنی متصل نمایید.

- گزینه w- : این گزینه برعکس گزینه بالا بوده و فایل سیستم را بصورت خواندن/نوشتن متصل می‌کند.

برخی گزینه های دستور mount وجود دارند که فقط مخصوص یک سیستم فایل مشخص هستند. برای کسب اطلاعات در مورد این گزینه‌ها کافی است از دستور man mount استفاده نمایید.

 

اتصال سیستم فایل

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

شما می‌توانید پارتیشن‌هایی را که سایر سیستم عاملها مانند ویندوز اختصاص داده شده اند، در لینوکس متصل نموده و اطلاعات خود را در آنها ذخیره نموده یا از آنها بخوانید. همچنین می‌توانید به سادگی دستگاه‌های فلاپی درایو و CD-ROM را به سیستم فایل خود متصل نمایید.

فایل سیستم های مورد پشتیبانی در لینوکس ردهت

برای مشاهده اینکه اکنون چه نوع سیستم فایلهای در کامپیوترتان در حال استفاده می‌باشند، از دستور cat مطابق مثال زیر استفاده نمایید :

$ cat /proc/filesystems

ext3

ext2

cramfs

nodev ramfs

msdos

vfat

iso9660

romfs

استفاده از fstab برای تعریف سیستم فایلهای قابل اتصال

دیسک‌های سخت و سیستم فایل‌های شبکه‌ای که هر روز استفاده می‌کنید، به طور معمول طوری تعریف شده اند که در هر بار بوت سیستم فایل‌های شما را متصل میکند. این تعریفها در فایل etc/fstab ذخیره می‌شوند که در زیر نمونه ای از این فایل نشان داده شده است:

LABEL=/ / ext3 defaults,errors=remount-ro 1 1

LABEL=/boot /boot ext3 defaults,errors=remount-ro 1 2

/dev/hda5 /home ext3 defaults,errors=remount-ro 0 2

/dev/hda8 /Data ext3 defaults,errors=remount-ro 0 2

/dev/hda6 none swap sw 0 0

proc /proc proc defaults 0 0

/dev/fd0 /floppy vfat,auto defaults,user,noauto 0 0

/dev/hdc /cdrom udf,iso9660 defaults,user,noauto,ro 0 0

تمام سیستم فایلهایی که در این فایل وجود دارند هنگام بوت به طور خودکار متصل میشوند. بجز آنهایی که جلوی آنها عبارت noauto قید شده است.در مثال بالا، سیستم فایلهای / ، boot و home هنگام بوت متصل میشوند در حالی که floppy و درایو CD-ROM، هنگام بوت به طور خودکار متصل نخواهند شد. همچنین این امکان وجود دارد تا پارتیشن های ویندوز را نیز در در این فایل وارد نمود تا بتوان به داده های آنها از داخل لینوکس دسترسی پیدا کرد. برای این کار، کافی است با تایپ دستور su و کلمه عبور ریشه، بصورت کاربر ریشه وارد شده و با استفاده از یک ویرایشگر متنی مانند vi فایل etc/fstab را ویرایش نمایید:

$ vi /etc/fstab

و خط زیر را در آخر آن اضافه نمایید:

/dev/hda1 /windows vfat defaults,noauto,umask=002 0 0

نکته: چون لینوکس ردهت نمی تواند درایوهای Fat و Fat32 را هنگام بوت به صورت خودکار متصل نماید. به همین علت هم کلمه noauto در خط مربوط به مثال بالا ذکر شده است. در صورتی که این خط را ننویسید، ردهت در هنگام بوت از ادامه فرایند بوت جلوگیری نموده و اجازه نخواهد داد تا کامپیوترتان بوت شود. برای عبور از چنین شرایطی و اصلاح این خط می‌توانید با فشردن دگمه i هنگام بوت و ورود به حالت سوال و جواب، اجرای این خط را متوقف کرده و پس از ورود به سیستم، فایل fstab را با استفاده از یک ویرایشگر متنی مانند vi ویرایش و اصلاح نمایید.
در سایر توزیع‌ها مانند لیبرانت یا دبیان می‌توانید پارتیشن‌های ویندوز خود را بطور خودکار در ابتدای بوت متصل نمایید.

اکنون به مواردی که می‌توانید در یک خط فایل fstab ذکر نمایید می پردازیم:

-فیلد اول: در این قسمت می‌توانید نام ابزار مربوط به سیستم فایل را وارد نمایید. برای سیستم فایل‌های مجازی مانند proc در این قسمت کلمه none وارد می‌شود. همچنین در این بخش امکان استفاده از UUID ها نیز وجود دارد. استفاده از UUID به این معنی است که شما بجای وارد نمودن نام ابزار سخت افزاری، نام پارتیشن مربوطه را وارد می‌کنید. در مثال بالا، دو پارتیشن / و root به این صورت تعریف شده اند. مزیت این کار این است که در صورتی که یکی از این پارتیشن‌ها را به یک ابزار دیگر با آدرس متفاوت منتقل کنید، نیازی به ویرایش فایل fstab وجود ندارد. زیرا نام آنها همچنان ثابت مانده است. در لینوکس دیسک‌های سخت IDE به نام hd شناخته می‌شوند. نخستین دیسک سخت سیستم hda نام دارد. دیسک سخت دوم نیز hdb و به همین ترتیب. پارتیشن اول دیسک سخت اول سیستم hda1 نام دارد و به همین ترتیب. پس در مثال بالا، به سیستم می‌گوییم تا پارتیشن اول دیسک سخت اول سیستم را متصل نماید.

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

-فیلد سوم: در این قسمت باید نوع سیستم فایل را مشخص نمایید که می‌تواند یکی از سیستم فایلهایی باشد که در توزیع شما پشتیبانی شده و پارتیشن مورد نظر دارای آن سیستم فایل است.

-فیلد چهارم: گزینه های دستور mount. مثلا در مثال بالا، همانطور که توزیح داده شد، گزینه noauto از اتصال خودکار سیستم فایل هنگام بوت جلوگیری می‌کند و یا گزینه ro سیستم فایل را بصورت فقط خواندنی متصل می‌کند. این گزینه‌ها با استفاده از کاما از هم جدا می‌شوند.

نکته: به طور معمول، فقط کاربر ریشه مجوز اتصال و برداشتن اتصال سیستم فایلها را داراست. برای دادن این اختیار به سایر کاربران، باید آنها را در بخش گزینه‌ها یا فیلد چهارم وارد نمایید. برای این کار کلمه users را اضافه نمایید.

-فیلد پنجم: عدد نوشته شده در این فیلد مشخص می‌کند که آیا سیستم فایل نیاز به dump شدن دارد یا خیر. شماره ۱ نشانگر وجود این نیاز و ۲ نشانگر عدم نیاز به این کار است. Dump به معنای نوشتن محتویات در هنگام بروز خطا در یک فایل جداگانه می‌باشد.

-فیلد ششم: عدد نوشته شده در این فیلد نشاندهنده این است که آیا این سیستم فایل نیاز دارد تا بوسیله برنامه تصحیح فایل سیستم (fsck) بررسی شود یا خیر. عدد ۱ نشاندهنده وجود این نیاز و عدد ۲ نشانگر عدم نیازبه این کار است.


عناوین آخرین مقالات و اخبار و یادداشت های وبلاگ کاوشگر لینوکس