اختصاص پارتیشن جداگانه برای فولدر Home

پس نوشت : خیلی وقته روی بلاگ مطلب آموزشی که دردی از کسی دوا کنه ننوشتم و دیگه یواش یواش داره تبدیل می شه به Spam Blog !

تقریبا چند ماه پیش مشکلی با فضای آزاد روی پارتیشن Root روی PC پیدا کردم که مجبور شدم از یکی از پارتیشن هایم به عنوان پارتیشن home/ استفاده کنم . بعد از انجام عملیات زیر موفق به این کار شدم . همچنین طی چند روز گذشته هم دیدم چندین بار این سوال بر روی فروم اوبونتو ایران هم مطرح شده است . به همین دلیل لازم دانستم که این پست رو بنویسم و به طور واضح و روشن توضیح بدم که این کار چه طور امکان پذیره…

اگر هنوز بر روی کامپیوترتون Linux نصب نکرده اید یا می خواهید از اول یک توزیع لینوکس به صورت Fresh نصب کنید شدیدا پیشنهاد می کنم پارتیشن Home را از Root جدا کنید تا مجبور نباشید روزی این عملیات را انجام دهید . پارتیشن Home/ جدا ٫ این این حسن را دارد که هر موقع شما خواستید تویعی که استفاده می کنید را دوباره نصب کنید یا حتی هر توزیع دیگری که خواستید نصب کنید تنظیمات برنامه هایتان را از دست ندهید و از همان تنظیمات قبلی برای توزیع جدید استفاده کنید و وقت خود را برای تنظیمات مجدد ساعت ها تلف نکنید. اگر بلد نیستید این کار رو انجام دهید هیچ مشکلی نیست ! از این راهنما استفاده کنید .

برای این کار ابتدا باید یکی از پارتیشن های خودتان را برای اختصاص دادن به این کار خالی کنید و یا قسمتی از یکی از پارتیشن هایتان را با استفاده از یک برنامه Partition manager مثل Gparted (در Gnome) یا Partition Editor (در KDE) جدا کنید و به این کار اختصاص دهید . بعد از آن با استفاده از یکی نرم افزارهای نام برده شده آن را به فرمت EXT4 یا EXT3 یا هر فایل سیستم دیگری که توزیع شما پشتیبانی می کند ٫ فرمت کنید. امروزه تقریبا همه توزیع ها از این فایل سیستم EXT4 پشتیبانی می کنند . (تذکر به کاربران تاره کار: فایل سیستم FAT و NTFS به هیچ وجه برای این کار استفاده نمی شود و قابل پشتیبانی برای این کار نیست)

ابتدا برای ایجاد یک فولدر موقتی در mnt/ دستور زیر را وارد کنید و پارتیشنی که قرار است آن را برای home/ استفاده کنید درون آن Mount کنید :

mkdir /mnt/myhome $

sudo mount -o loop /dev/sdaX /mnt/myhome $

توجه داشته باشید sdaX همان پارتیشنی است که قرار است برای پارتیشن home استفاده شود . برای شناسایی X و پارتیشنی که قرار است استفاده کنید از دستور fdisk -l در حالت root mode استفاده کنید . اگر تازه کار هم هستید که این مشخصات در همان برنامه Partition Manager ی که برای فرمت کردن و یا جدا کردن پارتیشن home استفاده کردید قابل تشخیص است.

بعد با دستور زیر وارد پارتیشن Home فعلی می شویم :

cd /home $

حالا با دستور زیر تمامی فایل ها و فولدرهای درون home فعلی را به myhome که قرار است برای پارتیشن جدید مورد استفاده قرار گیرد کپی می کنیم:

find . -depth -print0 | cpio –null –sparse -pvd /mnt/myhome $

بعد از این کار به مسیر mnt/myhome/ بروید و مطمئن شوید که تمامی اطلاعات شما به مسیر جدید کپی شده است !

بعد از آن با دستور زیر پارتیشن جدید Home را unmount می کنیم :

sudo umount /mnt/myhome $

برای ادامه کار باید مقدمات انتقال home جدید را به جای home قدیمی فراهم کنیم ! برای این کار ابتدا فولدر home فعلی را تغییر نام می دهیم . این فولدر را می توانید حذف هم بکنید ولی ما این احتمال را می دهیم که شاید اطلاعاتی در آن مانده باشد که منتقل نشده است . پس انرا تغییر نام می دهیم که اطلاعات ما در دسترس باشد.

sudo mv /home /old_home $

سپس با دستور زیر یک فولدر جدید برای home می سازیم:

sudo mkdir /home $

بعد از آن هم باید پارتیشن sdaX را که فایل های home/ قدیم را درون آپ کپی کردیم در home/ جدید مانت کنیم . با این دستور:

sudo mount /dev/sdaX /home $

تقریبا کار تمام است ! ولی باید کاری کنیم که با هر بار بوت سیستم این پارتیشن sdaX به درون home/ مانت شود در غیر این صورت باید هر بار خودتان آنرا مانت کنید . برای این کار با دستور زیر فایل fstab را باز کنید:

sudo gedit /etc/fstab $

اگر از میزکاری غیر از Gnome استفاده می کنید مثلا KDE به جای gedit از kate یا kwrite استفاده کنید . اگرهم می خواهید این کار را در محیط ترمینال انجام دهید از ادیتور های nano یا vim استفاده کنید .

بعد از باز شدن این فایل خط زیر را به آن اضافه کنید . توجه داشته باشید به جای sdaX باید پارتیشنی که برای این کار انتخاب کرده اید قرار دهید همچنین به جای EXT4 نوع فایل سیستمی که برای home/ انتخاب کرده اید قرار دهید . اگر از همان EXT4 استفاده می کنید نیازی نیست تغییرش دهید

/dev/sdaX /home ext4 nodev,nosuid 0 2

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

sudo rm -r /old_home $

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

=-=-=-=-=
Powered by Blogilo

۲ نظر در “اختصاص پارتیشن جداگانه برای فولدر Home”
erghezi در تاریخ فروردین ۲۰, ۱۳۸۹ ساعت ۵:۵۳ ب.ظ

سلام. این دستور کپی رو من اصلا متوجه نشدم!
find . -depth -print0 | cpio –null –sparse -pvd /mnt/myhome
خوب چرا از این دستور؟ وقتی دستور ساده تر کپی رو داریم!؟

شهاب در تاریخ فروردین ۲۲, ۱۳۸۹ ساعت ۱۰:۰۳ ب.ظ

سلام،
مرسی خیلی عالی بود ممنون روزبه جان فقط فک کنم این خط رو باید اینطوری تغییر بدیم از :
/dev/hda5 /home ext3 nodev,nosuid 0 2
به :
/dev/sdaX /home ext3 nodev,nosuid 0 2

پاسخ:
ممنون :)
درستش کردم ;)

اضافه کردن نظر