Product SiteDocumentation Site

B.2. سازماندهی سلسله‌مراتب فایل‌سیستم

B.2.1. دایرکتوری ریشه

سیستم دبیان بر اساس استاندارد سلسله‌مراتب فایل‌سیستم یا FHS سازماندهی شده است. این استاندارد هدف از هر دایرکتوری را تعریف می‌کند. برای نمونه، دایرکتوری‌های اصلی سیستم به صورت زیر تعریف می‌شوند:
  • /bin/: برنامه‌های پایه;
  • /boot/: فایل‌های کرنل و سایر فایل‌هایی که برای راه‌اندازی اولیه سیستم لازم هستند;
  • /dev/: فایل‌های مربوط به دستگاه‌ها;
  • /etc/: فایل‌های پیکربندی و تنظیمات;
  • /home/: فایل‌های شخصی کاربران;
  • /lib/: کتابخانه‌های پایه;
  • /media/*: نقاط اتصالی برای دستگاه‌هایی با قابلیت جابجایی (سی‌دی‌رام، یو‌اس‌بی و ...);
  • /mnt/: نقطه اتصال موقتی;
  • /opt/: نرم‌افزاهای ثالثی که توسط شرکت‌های دیگر توسعه یافته‌اند;
  • /root/: فایل‌های شخصی مدیر اولیه سیستم;
  • /run/: (هنوز در این استاندارد گنجانده نشده‌اند)داده‌های فررار زمان اجرا که طی آغاز سیستم باقی نمی‌مانند;
  • /sbin/: برنامه‌های سیستمی;
  • /srv/: داده‌هایی که توسط سرورهای موجود روی سیستم استفاده می‌شوند;
  • /tmp/: فایل‌های موقتی؛ این دایرکتوری معمولا در زمان راه‌اندازی سیستم خالی است;
  • /usr/: برنامه‌های کاربردی؛ این دایرکتوری معمولا به زیرمجموعه‌های دیگری مانند bin و lib و sbin تقسیم می‌شود که بر اساس همان منطق دایرکتوری ریشه عمل می‌کنند. به علاوه، /usr/share/ شامل داده‌های جدای از معماری رایانه است. /usr/local به عنوان مکانی جهت نصب برنامه‌های توسط مدیر سیستم به صورت دستی استفاده می‌شود که با مدیر برنامه روی سییستم هیچ دخالتی ندارد.;
  • /var/: داده‌های متغیری که توسط دیمن‌ها مدیریت می‌شوند مانند فایل‌های لاگ، صف‌، اسپول مانند ایمیل و پرینتر و ...
  • /proc/ و /sys/ مختص به کرنل لینوکس هستند (و نه قسمتی از FHS). این فایل‌ها توسط کرنل استفاده می‌شوند تا داده‌های فضای کاربر مورد دسترسی قرار گیرند ( قسمت B.3.4, “فضای کاربری” و قسمت B.5, “فضای کاربری” را مشاهده کنید).

B.2.2. دایرکتوری خانه کاربر

محتوای داخل دایرکتوری خانه کاربر شامل استاندارد خاصی نمی‌شود، اما برخی قواعد حائز اهمیت وجود دارند. یکی از آن‌ها این است که برای دسترسی به این مسیر می‌توان از (“~”) استفاده کرد. این عمل بسیار مفید است چرا که مفسرهای دستور به صورت خودکار این کاراکتر را بار دایرکتوری صحیح آن تعویض می‌کنند (معمولا /home/user/).
بر اساس یک رسم قدیمی، فایل‌های پیکربندی برنامه‌ها معمولاً به صورت مستقیم در دایرکتوری خانه کاربر ذخیره می‌شوند، اما نامشان با یک نقطه آغاز می‌گردد (برای نمونه، نرم‌افزار ایمیل‌خوان mutt تنظیماتش را درون ~/.muttrc نگاه می‌دارد). نکته اینکه فایل‌هایی که با نقطه آغاز می‌شوند یه صورت پیش‌فرض مخفی هستند؛ و دستور ls تنها در صورتی آن‌ها را نمایش می‌دهد که از گزینه -a استفاده شود و مدیر فایل‌های گرافیکی نیز تنظیماتی برای نمایش آن‌ها دارند.
برخی برنامه‌های نیز از چند فایل پیکربندی داخل یک دایرکتوری استفاده می‌کنند (برای نمونه، ~/.ssh/). برخی برنامه‌ها (مانند مرورگر وب Iceweasel) از دایرکتوری خود برای ذخیره‌سازی فایل‌های cache استفاده می‌کنند. این بدان معنا است که استفاده از این دایرکتوری‌ها می‌توانند حجم قابل توجهی از فضای ذخیره‌سازی دیسک را بگیرد.
این فایل‌های پیکربندی به صورت مستقیم در دایرکتوری خانه کاربر قرار می‌گیرند، که اغلب با نام فایل‌های نقطه‌دار شناخته می‌شوند، به مرور زمان به اندازه‌ای زیاد شده‌اند که ممکن است با یکدیگر تداخل پیدا کنند. خوشبختانه، تلاشی که تحت حمایت پروژه FreeDesktop.org صورت گرفته منجر به ایجاد “قرارداد دایرکتوری مبدا XDG” شده، قراردادی که هدف از آن پاکسازی این فایل‌ها و دایرکتوری‌ها است. این قرارداد تعیین می‌کند که فایل‌های پیکربندی در مسیر ~/.config، فایل‌های cache در مسیر ~/.cache و داده‌های مربوط به برنامه‌ها در مسیر ~/.local (یا زیرمجموعه‌های آن) قرار بگیرند. این قرارداد به آرامی در حال پذیرفته شدن هستند و تعدادی از برنامه‌ها (به خصوص از نوع گرافیکی) استفاده از آن را آعاز کرده‌اند.
میزکارهای گرافیکی معمولاً محتویات دایرکتوری ~/Desktop/ را نمایش می‌دهند (یا هر ترجمه مرتبطی که برای نسخه انگلیسی آن موجود است) روی دسکتاپ نمایش می‌دهند.
در نهایت، سیستم ایمیل گاهی اوقات پیام‌های دریافتی را داخل دایرکتوری ~/Mail/ نگاه می‌دارد.