جداسازی پارتیشن Home در لینوکس؛ آموزش ساخت و استفاده از پارتیشن /home برای نصب مجدد و تغییر توزیع

در لینوکس می‌توانید پوشه شخصی کاربر یعنی /home را روی یک پارتیشن جداگانه قرار دهید تا فایل‌های شخصی و بسیاری از تنظیمات کاربر از فایل‌های سیستم‌عامل جدا باشند. این ساختار به‌خصوص برای افرادی که مرتب توزیع لینوکس را عوض می‌کنند یا قصد نصب مجدد سیستم را دارند، کاربردی است.

در این حالت، فایل‌هایی مانند اسناد، دانلودها، تصاویر، فایل‌های دسکتاپ و بسیاری از تنظیمات برنامه‌ها در پارتیشن /home باقی می‌مانند و می‌توان پارتیشن مربوط به سیستم‌عامل را پاک و توزیع دیگری را روی آن نصب کرد. مستندات Ubuntu و Linux Mint نیز استفاده از /home جداگانه را برای چنین سناریوهایی پشتیبانی می‌کنند؛ البته نصب دستی پارتیشن‌ها برای کاربران تازه‌کار خطرناک‌تر است و قبل از تغییر پارتیشن‌ها باید نسخه پشتیبان داشته باشید.

پارتیشن /home در لینوکس چیست و چه فایل‌هایی در آن قرار می‌گیرد؟

پوشه /home محل نگهداری اطلاعات مربوط به کاربران است. اگر نام کاربری شما reza باشد، معمولاً پوشه شخصی شما در این مسیر قرار می‌گیرد:

/home/reza

پوشه‌هایی مانند Desktop و Documents و Downloads و Music و Pictures و Videos معمولاً در همین محل قرار دارند. علاوه بر فایل‌های معمولی، فایل‌ها و پوشه‌های مخفی نیز می‌توانند تنظیمات برنامه‌ها را نگهداری کنند؛ به عنوان مثال بسیاری از برنامه‌ها اطلاعات خود را در .config یا سایر پوشه‌های مخفی داخل Home ذخیره می‌کنند. استاندارد XDG نیز مسیرهایی مانند $HOME/.config را برای تنظیمات کاربر تعریف کرده است.

جداسازی پارتیشن Home در لینوکس؛ آموزش ساخت /home برای نصب مجدد و تغییر توزیع

به همین دلیل، جدا کردن /home فقط به معنی جدا کردن پوشه Documents نیست. بخشی از تنظیمات شخصی محیط دسکتاپ و برنامه‌ها نیز می‌تواند همراه با Home باقی بماند. البته این موضوع به برنامه موردنظر و نحوه ذخیره‌سازی اطلاعات آن بستگی دارد و نباید تصور کرد که تمام برنامه‌های نصب‌شده نیز بعد از تعویض توزیع بدون نصب مجدد اجرا خواهند شد.

جدا کردن /home چه مزایایی برای نصب مجدد لینوکس دارد؟

مهم‌ترین مزیت، جدا شدن اطلاعات شخصی از فایل‌های سیستم‌عامل است. اگر پارتیشن / را برای نصب یک توزیع جدید فرمت کنید اما پارتیشن /home را دست‌نخورده نگه دارید، فایل‌های شخصی شما می‌توانند باقی بمانند. Linux Mint نیز دقیقاً همین مزیت را برای پارتیشن اختصاصی /home توضیح می‌دهد.

این ساختار برای تغییر توزیع لینوکس نیز مناسب است. به عنوان مثال می‌توانید Ubuntu را روی پارتیشن / نصب کنید و /home را روی پارتیشن دیگری قرار دهید. بعداً هنگام نصب Linux Mint، پارتیشن Ubuntu را برای سیستم جدید استفاده کنید و همان پارتیشن قبلی را به عنوان /home معرفی کنید.

مزیت دیگر این است که فضای /home مستقل از فضای / مدیریت می‌شود. اگر دانلودها و فایل‌های شخصی حجم زیادی داشته باشند، پر شدن /home الزاماً باعث پر شدن پارتیشن سیستم نمی‌شود. با این حال، تقسیم فضا باید از ابتدا با دقت انجام شود؛ زیرا اگر /home بیش از حد بزرگ و / بیش از حد کوچک باشد، ممکن است بعدها فضای کافی برای نصب برنامه‌ها و آپدیت‌های سیستم نداشته باشید.

جداسازی پارتیشن Home در لینوکس؛ آموزش ساخت /home برای نصب مجدد و تغییر توزیع

پارتیشن‌های / و /home چه تفاوتی دارند؟

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

یک چیدمان ساده می‌تواند به شکل زیر باشد:

SSD

├──  EFI System Partition

├── /

└── /home

در این ساختار، / و /home می‌توانند روی دو پارتیشن مجزا از یک SSD باشند. همچنین می‌توان /home را روی یک SSD یا HDD فیزیکی دیگر قرار داد. خود Ubuntu نیز در نصب دستی امکان مشاهده و مدیریت دیسک‌ها و پارتیشن‌ها را فراهم می‌کند.

نکته مهم این است که داشتن /home جداگانه ضروری نیست. برای بسیاری از کاربران، یک پارتیشن / ساده مدیریت راحت‌تری دارد. Ubuntu نیز نصب دستی را برای کاربران حرفه‌ای‌تر در نظر می‌گیرد و توصیه می‌کند کاربران ناآشنا با پارتیشن‌بندی از گزینه‌های خودکار استفاده کنند.

قبل از ساخت /home جداگانه چه چیزهایی را باید بررسی کرد؟

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

lsblk -f

برای مشاهده UUID پارتیشن‌ها نیز می‌توانید از دستور زیر استفاده کنید:

blkid

شناخت نام‌هایی مانند /dev/sda و /dev/sda1 یا /dev/nvme0n1 و /dev/nvme0n1p1 اهمیت زیادی دارد. اشتباه گرفتن یک پارتیشن هنگام نصب می‌تواند باعث حذف اطلاعات شود.

جداسازی پارتیشن Home در لینوکس؛ آموزش ساخت /home برای نصب مجدد و تغییر توزیع

اگر ویندوز نیز روی سیستم نصب است، باید پارتیشن‌های ویندوز و EFI را با دقت شناسایی کنید. به‌خصوص هنگام استفاده از نصب دستی، قبل از فشردن Install باید بررسی کنید کدام پارتیشن قرار است فرمت شود و کدام پارتیشن باید دست‌نخورده باقی بماند.

پشتیبان‌گیری همچنان ضروری است. جدا بودن /home از / به معنی محافظت مطلق از اطلاعات نیست؛ خرابی SSD یا اشتباه در انتخاب پارتیشن می‌تواند تمام اطلاعات را تحت تأثیر قرار دهد. Linux Mint نیز درباره خطر از دست رفتن اطلاعات در پارتیشن‌بندی دستی هشدار می‌دهد.

آموزش ساخت پارتیشن /home هنگام نصب لینوکس

بهترین زمان برای ایجاد /home جداگانه، هنگام نصب تازه لینوکس است؛ زیرا هنوز اطلاعات مهمی روی سیستم جدید وجود ندارد و می‌توانید فضای دیسک را از ابتدا تقسیم کنید.

در Ubuntu گزینه نصب دستی برای مدیریت دقیق پارتیشن‌ها ارائه می‌شود:

Installation type > Manual installation

در Linux Mint نیز برای تعیین دستی پارتیشن‌ها باید گزینه مربوط به پارتیشن‌بندی دستی را انتخاب کنید:

Installation type > Something else

Ubuntu صراحتاً گزینه Manual installation را برای کاربران حرفه‌ای معرفی می‌کند و Linux Mint نیز برای مدیریت دستی پارتیشن‌ها استفاده از گزینه Something else را پیشنهاد می‌کند.

جداسازی پارتیشن Home در لینوکس؛ آموزش ساخت /home برای نصب مجدد و تغییر توزیع

در صفحه پارتیشن‌بندی، ساختار معمول برای یک سیستم UEFI می‌تواند شامل یک پارتیشن EFI و دو پارتیشن اصلی برای / و /home باشد. برای پارتیشن‌های لینوکس، ext4 انتخاب رایجی است و Linux Mint نیز آن را فایل‌سیستم پیشنهادی خود معرفی می‌کند.

برای پارتیشن سیستم:

Mount point: /

File system: ext4

برای پارتیشن اطلاعات کاربر:

Mount point: /home

File system: ext4

اگر پارتیشن /home از قبل حاوی اطلاعات شماست و قصد نصب مجدد دارید، مهم‌ترین نکته این است که گزینه Format برای /home فعال نشود. در مقابل، پارتیشن / را می‌توان برای نصب سیستم‌عامل جدید فرمت کرد. مستندات Linux Mint نیز دقیقاً بر عدم فرمت کردن پارتیشن حاوی اطلاعات قبلی /home تأکید می‌کند.

هنگام نصب مجدد لینوکس چگونه /home قبلی را حفظ کنیم؟

فرض کنید ساختار فعلی شما به این شکل است:

/dev/nvme0n1p1 → EFI

/dev/nvme0n1p2 → /

/dev/nvme0n1p3 → /home

اگر بخواهید Ubuntu را با Linux Mint جایگزین کنید، می‌توانید پارتیشن /dev/nvme0n1p2 را برای نصب سیستم جدید انتخاب کنید و پارتیشن /dev/nvme0n1p3 را به عنوان /home تعیین کنید.

در این مرحله:

/ → Format

/home → Do not format

پس از نصب، سیستم جدید باید همان پارتیشن /home را در محل /home متصل کند. نتیجه این است که فایل‌هایی مانند Documents و Downloads و Desktop و بسیاری از تنظیمات کاربر باقی می‌مانند. Ubuntu نیز در راهنمای مربوط به انتقال Home به پارتیشن جداگانه، استفاده مجدد از همین پارتیشن را برای نصب مجدد توضیح داده است.

با این حال، بهتر است نام کاربری و شناسه کاربر را نیز در نظر بگیرید. فایل‌های لینوکس مالکیت خود را با UID و GID مدیریت می‌کنند؛ بنابراین صرفاً یکسان بودن نام کاربری همیشه برای تمام سناریوها کافی نیست. اگر بعد از نصب جدید مالکیت فایل‌ها مشکل داشت، باید UID کاربر و مالکیت فایل‌ها بررسی شود.

برای /home چقدر فضا اختصاص دهیم؟

هیچ اندازه ثابتی برای /home وجود ندارد و مقدار مناسب به نوع استفاده شما بستگی دارد. اگر فایل‌های ویدیویی، بازی‌ها، پروژه‌های حجیم یا تصاویر زیادی ذخیره می‌کنید، بهتر است بخش بزرگ‌تری از فضای SSD را به /home اختصاص دهید.

به عنوان یک چیدمان عمومی روی یک SSD بزرگ می‌توان چنین ساختاری داشت:

بخش اندازه پیشنهادی تقریبی
EFI حدود ۵۱۲ مگابایت
/ حدود ۵۰ تا ۱۰۰ گیگابایت
/home باقی فضای موردنیاز
Swap در صورت نیاز

این اعداد قانون قطعی نیستند. Linux Mint در راهنمای فعلی خود اشاره می‌کند که سیستم‌عامل به تنهایی حدود ۱۵ گیگابایت فضا می‌گیرد و پیشنهاد می‌کند در صورت امکان فضای بیشتری برای / در نظر گرفته شود.

برای بسیاری از نصب‌های امروزی، لازم نیست حتماً یک پارتیشن Swap جداگانه بسازید؛ بسته به توزیع و روش نصب، می‌توان از swapfile استفاده کرد. اگر به Hibernate نیاز دارید، اندازه و نحوه پیکربندی Swap اهمیت بیشتری پیدا می‌کند.

آیا بهتر است /home روی یک دیسک جدا باشد؟

اگر دو SSD یا HDD دارید، قرار دادن /home روی یک دیسک فیزیکی جدا می‌تواند مدیریت نصب مجدد را حتی ساده‌تر کند. در این حالت، سیستم‌عامل روی یک دیسک و اطلاعات شخصی روی دیسک دیگر قرار می‌گیرد.

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

جداسازی پارتیشن Home در لینوکس؛ آموزش ساخت /home برای نصب مجدد و تغییر توزیع

البته دیسک جداگانه نیز جایگزین نسخه پشتیبان نیست. اگر اطلاعات مهم هستند، بهتر است یک نسخه پشتیبان مستقل روی دیسک یا فضای ذخیره‌سازی دیگری داشته باشید.

آیا جدا کردن /home برای تغییر توزیع لینوکس همیشه بدون مشکل است؟

خیر. بزرگ‌ترین مزیت /home جداگانه، حفظ اطلاعات و تنظیمات کاربر است؛ اما همین تنظیمات ممکن است هنگام تغییر توزیع یا نسخه‌های مختلف برنامه‌ها مشکل ایجاد کنند.

به عنوان مثال، یک برنامه ممکن است تنظیماتی را در Home ذخیره کند که با نسخه قدیمی یا جدید آن سازگاری کامل نداشته باشد. بنابراین اگر از Ubuntu به Linux Mint یا یک توزیع کاملاً متفاوت مهاجرت می‌کنید، بهتر است پیش از نصب جدید از پوشه‌های مهم و فایل‌های تنظیمات نسخه پشتیبان داشته باشید.

همچنین برنامه‌های نصب‌شده در /home قرار ندارند. نصب مجدد سیستم‌عامل معمولاً به این معنی است که باید برنامه‌ها، درایورها و بسته‌های موردنیاز را دوباره نصب کنید. جدا بودن /home بیشتر برای حفظ داده‌های شخصی و تنظیمات کاربر مفید است، نه انتقال کامل یک نصب لینوکس به سیستم‌عامل جدید.

بهترین ساختار برای کسی که زیاد توزیع لینوکس عوض می‌کند چیست؟

اگر هدف شما آزمایش Ubuntu و Linux Mint و Fedora یا سایر توزیع‌هاست، ساختار زیر گزینه‌ای کاربردی است:

EFI

├── /

└── /home

در این حالت هر بار که می‌خواهید توزیع را عوض کنید، پارتیشن / را برای سیستم جدید آماده می‌کنید و /home را بدون فرمت نگه می‌دارید.

اگر اطلاعات بسیار مهمی دارید، یک ساختار حتی مطمئن‌تر این است که علاوه بر /home، یک نسخه پشتیبان مستقل نیز داشته باشید. در واقع پارتیشن‌بندی مناسب، جایگزین Backup نیست و فقط مدیریت نصب و تعویض سیستم‌عامل را ساده‌تر می‌کند.

در نهایت، جدا کردن /home برای کاربران حرفه‌ای و کسانی که مرتب لینوکس نصب یا تعویض می‌کنند، قابلیت مفیدی است؛ اما اگر فقط یک توزیع را نصب می‌کنید و نمی‌خواهید درگیر مدیریت دستی پارتیشن‌ها شوید، استفاده از پارتیشن‌بندی خودکار ساده‌تر و کم‌ریسک‌تر خواهد بود. Ubuntu نیز Manual partitioning را برای کاربران حرفه‌ای معرفی می‌کند و Linux Mint درباره خطر خطا در پارتیشن‌بندی دستی هشدار می‌دهد.