مدیریت فایل سیستمها بخش دوم(2107 مجموع کلمات موجود در متن) (11422 بار مطالعه شده است)  کار
کردن با سیستم فایل لینوکس
همانطوری
که در مقالات پیشین اشاره کردم، سیستم
فایل لینوکس در یک ساختار درختی وارونه
قرار گرفته است.
این
ساختار از ریشه (/)
آغاز
میشود که درون آن دایرکتوریها و
زیردایرکتوریهای مختلفی قرار گرفته
اند.
بعنوان
یک مدیر سیستم باید بررسی کنید که تمام
دیسکهای شما در این ساختار برای کاربرانتان
و یا خودتان (!)
موجود
باشند.
همچنین
باید بدانید که در محلهای مورد نیاز
فضای خالی کافی برای ذخیره دادهها وجود
دارد یا خیر و در صورت اشکال، این اشکالات
را برطرف نمایید.
سیستم
فایل لینوکس کاملا متفاوت از سیستم
فایلهای مورد استفاده در سیستم عامل
ویندوز مایکروسافت است.
بجای
تخصیص یک نام درایو (مانند
A،
C
و...)
برای
هر یک از دستگاهها مانند دیسک سخت، درایو
CD-ROM
و...،
تمام این دستگاهها در دایرکتوریهای
ویژهای متصل (mount)
میشوند.
شما
باید بتوانید این نقاط اتصال را ایجاد
نمایید.
پس
به دایرکتوریهایی که در آنها پارتیشنهای
مختلف یک دیسک سخت یا درایوهای فلاپی و
CD-ROM
متصل
میشوند، نقاط اتصال یا mount
point گویند.
برای
نمایش اینکه در حال حاضر چه پارتیشنهایی
از دیسک سختتان به سیستم فایل متصل شد
است، باید از دستور 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
را
در یک پارتیشن جداگانه قرار دهید و آن
پارتیشن پر شود، اختلالی در سیستم بوجود
نخواهد آمد.
ولی
در صورتی که این دایرکتوری در کنار
دایرکتوری ریشه در یک پارتیشن قرار گیرند،
پر شدن آن منجر به پرشدن کل فضای دیسک
سیستم شده و در کار کل سیستم اختلال ایجاد
میکند.
البته
در سیستمهای خانگی معمولا این اتفاق
کمتر میافتد و قرار دادن کل سیستم در
پارتیشن ریشه به احتمال زیاد مشکلی ایجاد
نخواهد کرد، ولی این مسئله در سیستمهایی
که به نحوی عملیات سرویس دادن را انجام
میدهند، بسیار حیاتی و مهم است.
اتصال
سیستم فایل
هنگامی
که سیستم لینوکس شما بوت میشود، بیشتر
پارتیشنهای مربوط به لینوکس به طور
خودکار به سیستم فایل متصل میشوند.
بنابراین
در این بخش من سعی خواهم کرد بیشتر در مورد
چگونگی اتصال ابزارها و پارتیشنهای
دیگر صحبت کنم.
شما
میتوانید پارتیشنهایی را که سایر
سیستم عاملها مانند ویندوز اختصاص داده
شده اند، در لینوکس متصل نموده و اطلاعات
خود را در آنها ذخیره نموده یا از آنها
بخوانید.
همچنین
میتوانید به سادگی دستگاههای فلاپی
درایو و 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)
بررسی
شود یا خیر.
عدد
۱ نشاندهنده وجود این نیاز و عدد ۲ نشانگر
عدم نیازبه این کار است.
|