سیستم دبیان بر اساس استاندارد سلسلهمراتب فایلسیستم یا FHS سازماندهی شده است. این استاندارد هدف از هر دایرکتوری را تعریف میکند. برای نمونه، دایرکتوریهای اصلی سیستم به صورت زیر تعریف میشوند:
/bin/
: برنامههای پایه;
/boot/
: فایلهای کرنل و سایر فایلهایی که برای راهاندازی اولیه سیستم لازم هستند;
/dev/
: فایلهای مربوط به دستگاهها;
/etc/
: فایلهای پیکربندی و تنظیمات;
/home/
: فایلهای شخصی کاربران;
/lib/
: کتابخانههای پایه;
/media/*
: نقاط اتصالی برای دستگاههایی با قابلیت جابجایی (سیدیرام، یواسبی و ...);
/mnt/
: نقطه اتصال موقتی;
/opt/
: نرمافزاهای ثالثی که توسط شرکتهای دیگر توسعه یافتهاند;
/root/
: فایلهای شخصی مدیر اولیه سیستم;
/run/
: volatile runtime data that does not persist across reboots;
/sbin/
: برنامههای سیستمی;
/srv/
: دادههایی که توسط سرورهای موجود روی سیستم استفاده میشوند;
/tmp/
: فایلهای موقتی؛ این دایرکتوری معمولا در زمان راهاندازی سیستم خالی است;
/usr/
: برنامههای کاربردی؛ این دایرکتوری معمولا به زیرمجموعههای دیگری مانند bin
و lib
و sbin
تقسیم میشود که بر اساس همان منطق دایرکتوری ریشه عمل میکنند. به علاوه، /usr/share/
شامل دادههای جدای از معماری رایانه است. /usr/local
به عنوان مکانی جهت نصب برنامههای توسط مدیر سیستم به صورت دستی استفاده میشود که با مدیر برنامه روی سییستم هیچ دخالتی ندارد.;
/var/
: دادههای متغیری که توسط دیمنها مدیریت میشوند مانند فایلهای لاگ، صف، اسپول مانند ایمیل و پرینتر و ...
Note that many modern distributions, Debian included, are shipping /bin
, /sbin
and /lib
as symlinks to the corresponding directories below /usr
so that all programs and libraries are available in a single tree. It makes it easier to protect the integrity of the system files, and to share those system files among multiple containers, etc.
B.2.2. دایرکتوری خانه کاربر
محتوای داخل دایرکتوری خانه کاربر شامل استاندارد خاصی نمیشود، اما برخی قواعد حائز اهمیت وجود دارند. یکی از آنها این است که برای دسترسی به این مسیر میتوان از (“~”) استفاده کرد. این عمل بسیار مفید است چرا که مفسرهای دستور به صورت خودکار این کاراکتر را بار دایرکتوری صحیح آن تعویض میکنند (معمولا /home/user/
).
بر اساس یک رسم قدیمی، فایلهای پیکربندی برنامهها معمولاً به صورت مستقیم در دایرکتوری خانه کاربر ذخیره میشوند، اما نامشان با یک نقطه آغاز میگردد (برای نمونه، نرمافزار ایمیلخوان mutt
تنظیماتش را درون ~/.muttrc
نگاه میدارد). نکته اینکه فایلهایی که با نقطه آغاز میشوند یه صورت پیشفرض مخفی هستند؛ و دستور ls
تنها در صورتی آنها را نمایش میدهد که از گزینه -a
استفاده شود و مدیر فایلهای گرافیکی نیز تنظیماتی برای نمایش آنها دارند.
Some programs also use multiple configuration files organized in one directory (for instance, ~/.ssh/
). Some applications (such as Firefox) also use their directory to store a cache of downloaded data. This means that those directories can end up using a lot of disk space.
این فایلهای پیکربندی به صورت مستقیم در دایرکتوری خانه کاربر قرار میگیرند، که اغلب با نام فایلهای نقطهدار شناخته میشوند، به مرور زمان به اندازهای زیاد شدهاند که ممکن است با یکدیگر تداخل پیدا کنند. خوشبختانه، تلاشی که تحت حمایت پروژه FreeDesktop.org صورت گرفته منجر به ایجاد “قرارداد دایرکتوری مبدا XDG” شده، قراردادی که هدف از آن پاکسازی این فایلها و دایرکتوریها است. این قرارداد تعیین میکند که فایلهای پیکربندی در مسیر ~/.config
، فایلهای cache در مسیر ~/.cache
و دادههای مربوط به برنامهها در مسیر ~/.local
(یا زیرمجموعههای آن) قرار بگیرند. این قرارداد به آرامی در حال پذیرفته شدن هستند و تعدادی از برنامهها (به خصوص از نوع گرافیکی) استفاده از آن را آعاز کردهاند.
Graphical desktops usually display the contents of the ~/Desktop/
directory (or whatever the appropriate translation is for systems not configured in English) on the desktop (i.e. what is visible on screen once all applications are closed or iconized).
در نهایت، سیستم ایمیل گاهی اوقات پیامهای دریافتی را داخل دایرکتوری ~/Mail/
نگاه میدارد.