تبلیغات
ل . ی . ن . و . ک . س ..::.. Linux - پارتیشن بندی لینوکس
ل . ی . ن . و . ک . س ..::.. Linux

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

خلاصه مطالب

در این مقاله اشاراتی به خود پارتیشن در دنیای کامپیوتر شده است. و بلافاصله به تشریح آنها در دنیای لینوکس پرداخته شده است.همچنین چگونگی دسترسی به آنها,فرمت آنها , درایور های آنها ,انواع فایل سیستم در لینوکس و بوت چند گانه در لینوکس پرداخته است.



 

مقدمه

در دنیای کامپیوتر شرکت مایکروسافت غول انحصارگریست که مایل به انحصار هر تکنولوژی می باشد.اصل موضوعه این مقاله اشاره به همین موضوع دارد.

مایکروسافت تکنولوژی های XML,JAVA و ...... را تحت اشعاع همین موضوع قرار داده است.

از همان ابتدا خواسته که هویت پارتیشن را در انحصار مایکروسافت در آورد,اما موفق نبوده است.

متن مقاله

۱- هویت پارتیشن

یک پارتیشن بلاک های پشت سر هم می می باشد که قطعه ای از دیسک سخت شما را تشکیل می دهند. در واقع دسته بندی یک سری بلاک , پارتیشن نام دارد.

به چند دلیل امنیت داده, استفاده از چندین گونه فایل سیستم , استفاده از چندین گونه سیستم عامل و استفاده کامل دیسک سخت (اندازه بلاک ها), از چندین پارتیشن بر روی یک دیسک سخت استفاده می شود.

۲- انواع پارتیشن

در کل دو نوع پارتیشن داریم که سیستم‌عامل گنو/لینوکس در هر یک از آنها می‌تواند بنشیند.اولی Primary و دومی Logical است.تنها فرق این دو گونه پارتیشن نقطه شروع آنهاست.نوع Primary از بوت سکتور شروع می‌شود و Logical ازPrimary شروع می‌شود.



 

۲- ۲ پارتیشن Primary

جدول پارتیشن اصلی به عنوان قسمتی از بوت سکتور نصب می شود و فضایی را برای فقط ۴ ورودی نگهداری می کند. این ۴ پارتیشن Primary صدا زده می شود.

۳- ۲ Logical

یک پارتیشن Primary ممکن است از چند پارتیشن تشکیل شده باشد. یعنی نقطه شروع آن پارتیشن ها از پارتیشن Primary باشد. با ساخت این پارتیشن ها میتوانیم محدودیت ساخت فقط ۴ پارتیشن را دور بزنیم. به این پارتیشن ها Logical گفته می شود. تعداد آنان در یک دیسک سخت از نوع SCSI حداکثر15 و در IDE ۶۳ می باشد.



۳- درایورها و سمبل‌های دیسک سخت و پارتیشن

در هر سیستم عاملی هر قطعه سخت افزاری یک درایور (راه انداز) دارد. ولی در بعضی از سیستم عاملها این درایورها در دسترس کابر نمی باشند. لینوکس یکی از آزادی‌هایی که به کاربر می دهد, در اختیار بودن همه چیز, حتی کرنل سیستم عامل می باشد.

چون بر روی PCهای معمولی فقط از دو تکنولوژی IDE و SCSI برای خواندن و نوشتن روی دیسک استفاده می شود اینجا هم ما فقط بر روی این دو تکنولوژی تمرکز می کنیم.



 

اگر برروی مادربرد خود نگاه کنید حداقل دو جای فیش کنترلر دیسک می بینید. یکی Primary و دیگری Secandary نام دارد. بر روی هر کدام دو دیسک میتوانید سوار کنید که یکی را Master و دیگری را Slave می نامند. مشخصه Master یا Slave بودن دو دیسک چگونگی ست کردن Jumperهای آنان می باشد.

اولویت بوت شدن بین دو دیسک سخت در یک کنترلر با Master می‌باشد. و بین Primary و Secandary اولویت بوت شدن با Primary می‌باشد.



 

درایورها در خود کرنل جا دارند، چه به صورت بدنه فایل اصلی کرنل و چه به صورت یک ماژول می‌توان آنها رایافت.درایورها ،کنترلرها و درکل هر قطعه سخت افزاری یک یا چندین فایل را به صورت یک سمبل برای اشاره به سخت‌افزار مذکور در دایرکتوری dev/ دارند. حال هر پارتیشن و یا یک دیسک یک فایل با فرمت زیر را دارا می باشد.



 

/dev/hd[variable][number]



 

مثالی از آنdev/hda2/ می باشد که a نشانگر خود دیسک سخت می باشد, و 2 نشانگر پارتیشن دوم بر روی دیسک سخت a است. البته variable یک تک حرف باید باشد . برحسب تعداد numberی که می توانید در رشته اسم فایل با یک variable ببینید در همان دیسک سخت پارتیشن وجود دارد.



 

دو دیسکی که به کنترلر Primary متصل می گردند برایMaster , /dev/hda و برای Slave و dev/hdb/ در نظر گرفته شده است .و برای دو دیسکی که به Secandary نصب می گردند dev/hdc/ به عنوان Master و dev/hdd/ به Slave تلقی می گردد. البته اگر دیسک شما از نوع SCSI باشد به جای ثابت hd از sd استفاده می شود. یعنی همانdev/sda2 , /dev/hda2/ نامگذاری می گردد.



 

به عنوان مثال اگر دو دیسک سخت داشته باشیم و یکی به فیش Primary به صورت Master متصل باشد (dev/hda/) و دیگری به فیش Secandary به صورت Slave متصل باشد (dev/hdd/), پارتیشن های آنان را به صورت

(dev/hda1, /dev/hda2 ... , /dev/hdan/ ) و (dev/hdd1, /dev/hdd2 ... , dev/hddn/ ) می نامند. البته به شرط اینکه آنها IDE باشد .



 

نکته : اگر عددی جلوی dev/hda/ و dev/hdb/ و یا ... رویت نشد, یعنی این سمبل به کل دیسک اشاره دارد و سمبل کل دیسک سخت می باشد. ولی زمانی که عددی جلوی آن باشد به عنوان مثالdev/hda5/ آنگاه این یک سمبل پارتیشن می باشد و یک پارتیشن را هندل می کند.



 

اگر در کامپیوتری خواستید ببینید که دیسک های سخت آن از چه نوعی می باشند و چگونه به کامپیوتر شما متصل شده اند می توانید داخل فایلproc/partitions/ را ببینید. اگر اتصالی از نوع hd وجود داشت دیسک سختی از نوع IDE در کامپیوتر موجود می باشد و اگر دیسک سختی از نوع sd وجود داشت شما دیسکی از نوع SCSI در کامپیوترتان را دارا می باشید. برای Primary و یا Secandary بودن آن می توانید از جدول زیر استفاده نمایید همچنین این جدول Master و یا Slave بودن دیسک شما را مشخص می کند.



نوع اتصال بر روی کنترلر

نوع کنترلر

نام درایور

master

primary

dev/hda/

slave

primary

dev/hdb/

master

secandary

dev/hdc/

slave

secandary

dev/hdd/



البته sd در هارد‌های جدید نشانگر هارد SATA می‌باشد.



۴- پارتیشن های مورد نیاز

هرگاه بخواهیم لینوکس نصب کنیم حداقل به دو پارتیشن / و swap نیازمندیم. حجم swap/ نباید کمتر از دو برابر حجم Ram کمتر باشد به پارتیشن / , root گفته می شود.

پارتیشن‌های مورد نیاز :

  • پارتیشن /

  • پارتیشن swap

لینوکس همیشه در یک پارتیشن که همان root نام دارد فایل ها و دایرکتوری های خود را می ریزد و با آن بالا می آید که البته شما هم می توانید در آن چیزی بنویسید و محدودیتی ندارد.

فایل سیستم هایی که لینوکس از آنها استفاده می کند تماماٌ فایل سیستم های سلسله مراتبی می باشند به اینگونه فایل سیستم ها اختصار FHS گفته می شود.



 

(Filesystem Hierarchy Standard). ساختمان داده این فایل سیستم ها یک tree می باشد که خود شما هم می توانید یک node به آن اضافه و یا از آن کم کنید. قشنگی FHS در اشاره گر بودن nodeهای آن می باشد. هریک از این nodeها می تواند یکی از سه گزینه زیر باشد:

فایل معمولی

فایل‌های ویژه همانند سوکت‌ها

دایرکتوری

نکته :

در دنیای یونیکس همه چیز در قالب یک فایل می باشد.تقسیم بندی بالا برای کسانی می باشد که تازه وارد این دنیا شده اند و همه چیز را فایل و فولدر میبینند.



 

البته شما اینجا پارتیشن را در قالب یک دایرکتوری می بینید ولی زمانی که چیزی در آن دایرکتوری می نویسید و یا از آن می خوانید در واقع در آن پارتیشن کاری انجام داده اید و اگر روزی پارتیشن / شما از بین برود شما آن پارتیشن را که بر رویش کاری انجام می دادید حفظ می کنید. زیرا از نظر فیزیکی با پارتیشن / فرق دارد. درواقع پارتیشن / ریشه تمام کامپیوتر شما می شود. یعنی اگر شما بخواهید به پارتیشن دیگری دسترسی داشته باشید باید از این پارتیشن اقدام نمایید.

نحوه دسترسی به پارتیشن های دیگر:

اگر شما dev/hda1/ را برای / , dev/hda5/ را برای موزیک هایتان و dev/hda6/ را برای swap گذاشته باشید شما می توانید یک دایرکتوری در پارتیشن / خود بسازید و با فرمان زیر به لینوکس بگویید که این دایرکتوری به پارتیشن dev/hda5/ اشاره کند.

mount /dev/hda5 /mnt/music



فرمان بالا به لینوکس می گوید که دایرکتوری /mnt/music/ به پارتیشنdev/hda5/ اشاره کند در واقع هرچه شما در دایرکتوری mnt/music/ بنویسید و یا از آن بخوانید هیچ ربطی به پارتیشن / شما ندارد و حتی اگر پارتیشن / شما

(dev/hda1/) از بین برود موزیک های شما همچنان بر رویdev/hda5/ باقی می‌مانند.

با دستور umount می توانید آن دایرکتوری را از حالت mount point آزاد کنید. یعنی پس از دستور زیر دیگر دایرکتوریmnt/music/ به هیچ پارتیشنی اشاره ندارد:

umount /mnt/music

برای هر دفعه که کامپیوتر را روشن می کنیم اگر بخواهیم تک تک پارتیشن ها را mount کنیم کمی کسل کننده می باشد.درواقع انجام یک کار تکراری درهر بار بوت شدن می باشد. برای رفع این مشکل فایل etc/fstab/ در نظر گرفته شده است که شما نام پارتیشن ها ودایرکتوری های مربوطه و نوع فایل سیستم را در آن مینویسید که در هر وعده بوت شدن به صورت اتوماتیک عملیات mount انجام گیرد.



 

اگر تغییری در این فایل انجام دادید و خواستید بدون reboot کردن ماشین این تغییرات اعمال شود می توانید دستور mount را با گزینه a- بکار ببرید:

mount –a

تصویر زیر تصویری از یک فایلetc/fstab/ می باشد.



/dev/hda14 swap swap defaults 0 0

/dev/hda11 / reiserfs defaults 1 1

/dev/hda1 /mnt/c vfat defaults 1 0

/dev/hda10 /mnt/i vfat defaults 1 0

/dev/hda5 /mnt/d vfat defaults 1 0

/dev/hda6 /mnt/e vfat defaults 1 0

/dev/hda7 /mnt/f vfat defaults 1 0

/dev/hda8 /mnt/g vfat defaults 1 0

/dev/hda9 /mnt/h vfat defaults 1 0

/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0

/dev/fd0 /mnt/floppy auto noauto,owner 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

proc /proc proc defaults 0 0

/dev/sr0 /mnt/cdrom auto ro,noauto,user,exec 0 0

/dev/hda14 swap swap defaults 0 0

/dev/hda11 / reiserfs defaults 1 1

/dev/hda1 /mnt/c vfat defaults 1 0

/dev/hda10 /mnt/i vfat defaults 1 0

/dev/hda5 /mnt/d vfat defaults 1 0

/dev/hda6 /mnt/e vfat defaults 1 0

/dev/hda7 /mnt/f vfat defaults 1 0

/dev/hda8 /mnt/g vfat defaults 1 0

/dev/hda9 /mnt/h vfat defaults 1 0

/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0

/dev/fd0 /mnt/floppy auto noauto,owner 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

proc /proc proc defaults 0 0

/dev/sr0 /mnt/cdrom auto ro,noauto,user,exec 0 0

/dev/scd1 /cdrecorder auto ro,noauto,user,exec 0 0



گزینه اول از چپ نام درایور شما میباشد.پارامتر دوم mount point شما میباشد.گزینه سوم نوع فایل سیستم شماست.اگر این گزینه auto باشد, دیگر خود سیستم فایل سیستم را تشخیص می دهد.در پارامتر چهارم شما میتوانید یک سری option را برای mount خود ست کنید.اگر defaults باشد,فقط کاربر root میتواند به آن دسترسی داشته باشد.ولی شما می توانید با این گزینه کاربر خاصی را مشخص کنید.۲ گزینه آخر که مقداری عددی می گیرد,dump و fsck آن پارتیشن را مشخص می کند.



 

هنگام نصب لینوکس , شما می توانید چند دارکتوری var , /usr , /home , /boot و tmp/ را به صورت پارتیشن جدا نصب کنید.این برای سرور ها مفید می با شد که زیر بار ترافیکی بالایی می باشند.ولی اکثر سیستمهای خانگی فقط home/ را جدا می سازند.که اگر خواستید مجددا لینوکس نصب کنید, اطلاعات شخصی شما حفظ شود.

اگر این دایرکتوری ها به صورت پارتیشن هایی جدا نصب گردند, آنگاه لینوکس mount point های آنان را در etc/fstab/ می نویسد تا همیشه به هنگام بوت , دستور mount آنها را mount کند.

۵-فایل سیستم و فرمت پارتیشن

در هر سیستم عاملی که بعد از پروسه ساخت پارتیشن که یک مکان فیزیکی میباشد, باید آن را با یک فایل سیستم فرمت کرد که از این به بعد با آن فایل سیستم بر روی آن پارتیشن کاری انجام شود.

یکی از قدرتهای لینوکس حمایت چیزی بیش از 100 نوع فایل سیستم می باشد.در صورتی که در ویندوز 2 نوع FAT و NTFS حمایت میشود.100 بر 2 آمار جالب توجهی می باشد.

دو فایل سیستم عمده که لینوکس از آنها پشتیبانی عمده ای میکند و اکثرا برای پارتیشن root خود از این دو استفاده میکند , ext3 و ReiserFS می باشد.که اصطلاحا به آنها فایل سیستم های Journaling (خبرنگاری) می گویند.این نوع فایل سیستم ها ,هر کاری که در هر لحظه انجام می شود رادرلحظه وقوع ثبت می کنند که اگر ناگهان اتفاقی مانند قطع برق بیافتد,داده ها حفظ شوند.نسخه قبلی ext3 , ext2 بود که Journaling نبود.

برای فرمت یک پارتیشن طبق یک فایل سیستم , می توان از خانواده فرمان mkfs استفاده کرد.

به عنوان مثال اگر بخواهیم پارتیشن dev/hda3/ را به صورت ext3 فرمت کنیم, دستور زیر را وارد می کنیم:

mkfs.ext3 /dev/hda3

یا می توان برای ایجاد یک فایل سیستم از نوع FAT از دستور زیر استفاده کنیم:

mkfs.vfat /dev/hda3

ولی برای ساخت یک فایل سیستم ReiserFS از دستور زیر استفاده می کنیم:

mkreiserfs /dev/hda3

شما باید تمام پارتیشن های خود را به غیر از پارتیشن های primary که دارای زیر پارتیشن هستند فرمت کنید.



 

نکته : برای دیدن خانواده دستور mkfs ازmanpage آن استفاده کنید.و برای دیدن دستورات مربوط به ReiserFS از دستور زیر

استفاده کنید:

$apropos ReiserFS

برای ایجاد فایل سیستم swap باید از فرمان زیر استفاده کرد:

$mkswap YOUR_DEVICE

همیشه برای استفاده از swap باید آن را enable کرد.البته این کار را خود سیستم هنگام بوت با فرمان زیر انجام میدهد, ولی شما میتوانید از به صورت manually استفاده نمایید.

$swapon YOUR_DEVICE

۶-بوت چند گانه

اکثر کاربران می خواهند چندین سیستم عامل را با هم داشته باشند که در این مقال فقط چگونگی قرار گرفتن لینوکس و ویندوز مورد بررسی قرار می گیرد.

نکته ای که قابل توجه می باشد,اولویت نصب سیستم عامل می باشد.در ابتدا باید ویندوز نصب گردد و آخرین سیستم عاملی که نصب می شود لینوکس باشد.

نکته ای دیگر که شدیدا قابل توجه می باشد, نصب بوت لودر می باشد.شما باید بوت لودر خود را بر روی (MBR (Master Boot Record نصب کنید تا لینوکس در درجه اول بتواند از روی دیسک سخت بوت شود و در درجه دوم , گزینه ویندوز را برای شما هندل کند.البته بدین شرط که ویندوز را قبل از لینوکس نصب کرده باشید.

All Rights Reserved 2005-2006 © http://linoox.mihanblog.com