اول مهمترین کار برای تغییر سیستم عامل، هر چی که باشه، گرفتن پشتیبانه. امروز (دقیقا الان) هنوز اوبونتو ۱۰.۰۴ نیومده و من دارم تو فروم میچرخم. به این برخوردم :
Backups are overrated. There’s nothing like the adrenalin surge when you tell the partitioner not to format your 700GB /home and pray it obeys.
نمیدونم چرا، ولی کلی خندیدم، نه اینکه “چقدر خنده دار بود” یا اینکه “یه لبخند” یا نهایتا یه “خنده کوتاه” نه! یه خنده دقیقا ۵ دقیقه ای با صدای بلند، البته نسبتا! دقیقا مثل وقتی که چاپلین با پاهاش توی limelight بازی میکرد (تو آخرین نمایش، خصوصا اینکه میدونستم آخرش تلخه!) نمیدونم، شاید اینقدرها هم خنده دار نباشه ولی این منم. یعنی اگه میخواستم در مورد خودم و نظرم درباره پشتیبان گرفتن بنویسم از این بهتر نمیتونستم یه جمله بگم!
دوم یه توصیه وقت نصب لینوکس. حتما یه پارتیشن جداگانه واسه home در نظر بگیرید. اینجوری میتونید وقتی دفعه بعد، خواستید یه لینوکس نصب کنید (جدید یا همین نسخه فعلی) نگران اطلاعات نباشید، البته همیشه خطر خطا هست. تو این روش هم هست، بازم برگشتم به همون جمله بالا!!
دفعه قبل من اینکار رو نکردم،اینبار انجامش میدم. البته چون ایندفعه میخوام اطلاعات home قدیم رو هم داشته باشم یه کم دردسر دارم. یه چیز دیگه هم اینکه تا اونجا که من خوندم home رو اگه رمزگذاری کنی (یعنی اطلاعات فقط با رمز قابل دسترسی باشه) اونوقت واسه استفاده دوباره ازش دردسر دارید. من که ترجیح میدم اطلاعات رو رمزگذاری نکنم. چون تجربه میگه این رمز گذاری ، یعنی سرعت کمتر و دردسر بیشتر منم که چیز خاصی ندارم که بخوام تا این حد مخفی باشه!! واسه انتقال home همین الان توی همین نسخه karmic همین کارو انجام دادم، مراحل رو مینویسم : : (از این آدرس گرفتمش با کمی تغییر از خودم.
پارتیشن رو بسازید و اونو با فرمت ext3 یا ext4 فرمت کنید.
در یه حالتی که بعد از پایان کارتون دیگه نیازی به این لینوکس ندارید و قراره جایگزین رو نصب کنید مشکلی نیست، ولی اگه میخواید همچنان با همین سیستم عامل نصب شده کار کنید، حواستونو جمع کنید.
بعد از ساختن پارتیشن قبل از Reboot دستور sudo update-grub رو اجرا کنید خیلی از مشکلات حل میشه :)
حالا یه یه فولدر تو /mnt بسازید مثلا newhome و بعد پارتیشن مورد نظرتونو اونجا mount کنید.
$ sudo mkdir /mnt/newhome $ sudo mount -t ext4 /dev/sda9 /mnt/newhome
خوب این sda9 , ext3 برای سیستم شما متفاوته. برای بدست آوردنش میتونید از دو تا دستور پیاپی استفاده کنید، اول این :
$ sudo fdisk -l
که یه چیزی نشون میده مثل این :
Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x447f447e Device Boot Start End Blocks Id System /dev/sda1 * 1 3824 30716248+ 7 HPFS/NTFS /dev/sda2 3825 38913 281852392+ f W95 Ext'd (LBA) /dev/sda5 3825 7648 30716248+ 7 HPFS/NTFS /dev/sda6 7649 17847 81923436 7 HPFS/NTFS /dev/sda7 17848 28046 81922185 7 HPFS/NTFS /dev/sda8 28047 31095 24491061 83 Linux /dev/sda9 31234 36036 38578176 83 Linux /dev/sda10 36037 38788 22105408+ 83 Linux /dev/sda11 38789 38913 1004031 82 Linux swap / Solaris /dev/sda12 31096 31233 1108453+ 82 Linux swap / Solaris Partition table entries are not in disk order
اینجوری پارتیشن هاتون لیست میشه. پارتیشن مورد نظرتون رو پیدا کنید (از رو اندازه شاید بهترین حالت باشه، چون متاسفانه اسم پارتیشن رو نمیزنه فقط اندازه و فرمتشه که میتونه مفید باشه) اگه مطمئن نیستید، برای تک تک پارتیشنها این کارو انجام بدید :
$ sudo blkid /dev/sda9
به جای dev/sda9/ از لیستی که با دستور قبلی گرفتید استفاده کنید. اینجوری اسم پارتیشن و نوعش (TYPE ) رو میتونید ببینید. مثل این :
/dev/sda9: LABEL="Home" UUID="604344d4-7b23-47a8-bf7a-4cd02001616a" TYPE="ext4"
توصیه میکنم حتما برای پارتیشن هاتون اسم بذارید. تو مثال من، نوعش ext4 میشه. UUID هم بعدا به کار میاد، داشته باشیدش فعلا.از رو اسم هم میفهمم که خودشه :) خوب حالا بعد از اینکه mount رو انجام دادید،وقت این میشه که اطلاعات رو کپی کنید. کپی معمولی ممکنه جواب نده، بنابراین به جای کپی معمولی اینکارو انجام بدید :
$cd /home/ $find . -depth -print0 | cpio --null --sparse -pvd /mnt/newhome/
صبر کنید، چون بسته به اندازه و تعداد فایلهای توی home ممکنه طول بکشه. خوب حالا وقتشه که home رو جابجا کنید .
$ sudo umount /mnt/newhome $ sudo mv /home /old_home $ sudo mkdir /home $ sudo mount /dev/sda9 /home
که اینجا باز هم به جای dev/sda9/ باید پارتیشن خودتون رو بذارید. به ترتیب، پارتیشن unmount شده، بعد home فعلی اسمش عوض شده، چون پوشه home دیگه وجود نداره (چون تغییر نام داده) یه پوشه home جدید درست شده، حالا اون پارتیشن که جدیدا ساخته شده دوباره mount شده همونجا.
پوشه old_home هم میتونید پاک کنید. دیگه نیازی نیست چون دیگه کپی شده تو پوشه home جدید. البته شاید قبلش بد نباشه دقیقتر بررسی کنید، مشکلی نبود اونوقت پاکش کنید.
حالا اگه بخواید دوباره اوبونتو رو نصب کنید، وقت نصب توی Partitioner برید قسمت Advanced همین پارتیشن رو دوباره به عنوان home استفاده کنید. (در اولین فرصت که بتونم تصویر میذارم ) . ولی اگه خواستید از همین سیستم عامل استفاده کنید، فایل /etc/fstab رو ویرایش کنید مثلا :
$ sudo gedit /etc/fstab
آخر فایل این عبارت رو اضافه کنید :
/dev/sda9 /home ext4 nodev,nosuid 0 2
اون دوقسمت ext3 و sda9 هم باید بسته به سیستم شما عوض بشه مثل بالایی ها.
البته ما چون UUID پارتیشن رو داریم، بدنیست که اینطوری بنویسیم به جای بالایی :
UUID=604344d4-7b23-47a8-bf7a-4cd02001616a /home ext4 nodev,nosuid 0 2
یعنی به جای اسم پارتیشن از UUID استفاده کنیم، اینجوری اگه حتی ترتیب پارتیشن ها رو عوض کنید بازم مشکلی پیش نمیاد.