طرح ساختار فایل های نصب شده

مقدمه

فایل های نصب شده به وسیله برنامه pkgsrc خیلی به به ساختار فایل های موجود برروی شاخه usr که برروی سیستم شما موجود است شباهت دارد. اما در بعضی از جزییات متفاوت است. این شباهت به این خاطر است که این برنامه در ابتدا از دل ساختار FreeBSD بیرون آمده است و ساختار فایلی خود را با این سیستم یکسان کرده است اما بعدها این برنامه تا حد زیادی از ساختار NetBSD تاثیر گرفته است. در نهایت عمر هم مهم نیست که شما از چه سیستم عاملی استفاده می کنید شما می توانید همان ساختار را از برنامه pkgsrc  انتظار داشته باشید.

عمدتا چهار شاخه اصلی و ریشه ای در pkgsrc وجود دارد که قابل تغییر و پیکربندی دلخواه از طریق فایل bootstrap است. در زمانی که شما از طریق کاربر root این برنامه را نصب می کنید این شاخه ها در ساختار اصلی و پیش فرض فایل سیستم شما به صورت زیر قرار می گیرند:

LOCALBASE=                                    /usr/pkg

PKG_SYSCONFBASE=                    /usr/pkg/etc

VARBASE=                                         /var

PKG_DBDIR=                                  /var/db/pkg

و در صورتی که این برنامه با سطح دسترسی کاربر معمولی نصب شود ساختار این شاخه ها در شاخه home کاربر به صورت زیر نمایان می شود:

LOCALBASE=                                    ${HOME}/pkg

PKG_SYSCONFBASE=                    ${HOME}/pkg/etc

VARBASE=                                         ${HOME}/pkg/var

PKG_DBDIR=                                    ${HOME}/pkg/var/db/pkg

در ادامه سه متغیر بالا به صورت خلاصه شرح داده می شوند.

 

متغییر localbase:

مربوط می شود به شاخه usr در سیستم اصلی، این بخش شاخه اصلی است که فایل های نصبی و محتوای هر کدام در زیر شاخه های مثل bin include lib share و غیر قرار می گیرند که با هر کدام از این شاخه ها در ادامه آشنا می شوید.

متغییر  Varbase:

این بخش مرتبط شده با شاخه Var در سیستم اصلی که بعضی از برنامه ها نیاز دارند که با این شاخه، دسترسی خواندن و نوشتن داشته باشد.

 

متغییرPKG_SYSCONFBASE:

این بخش مرتبط شده به شاخه etc در سیستم اصلی و فایل های پیکربندی بسته ها به انضمام فایل پیکربندی خود برنامه pkgsrc به نام mk.conf  در این شاخه ها ذخیره می شوند.

۱٫۸ طرح فایل سیستم در {LOCALBASE}$

شاخه های زیر به صورت معمول در یک pkgsrc نصب شده وجود دارند به شرح زیر:

 شاخه bin:

این شاخه شامل برنامه های اجرایی است که به صورت مستقیم به وسیله کاربر اجرا می شود.

شاخه emul:

این شاخه شامل فایل های شبیه سازی شده برای سایر سیستم عامل هاست بخصوص سیستم عامل NetBSD

شاخه etc:

این شاخه شامل فایل های پیکربندی است.

شاخه include:

این شاخه شامل بخش های سرآیند برنامه های c و c++ است.

شاخه info:

شامل فایل های gnu info برای هر بسته است.

شاخه lib:

این شاخه شامل توابع استاتیک به اشتراک گذاری شده است.

شاخه libedata:

این شاخه شامل فایل هایی است که نباید بعد از نصب تغییر در آنها ایجاد شود.

شاخه libexec:

این شاخه شامل برنامه هایی است که کاربران با آنها کاری ندارد. مثل کمک کننده برنامه ها یا راه انداز شبکه

شاخه libexec/cgi-bin:

این شاخه شامل فایل هایی است که در نظر گرفته شده به عنوان اسکریپت CGI توسط یک وب سرور اجرا شود.

شاخه man:

این شاخه شامل فایل های راهنمای man است.

شاخه sbin:

این شاخه شامل برنامه هایی است که فقط باید توسط کاربر ریشه یا root اجرا شود.

شاخه share:

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

شاخه share/doc:

این شاخه شامل مقالات به وجود آمده برای بسته هاست.

شاخه share/examples :

این شاخه شامل همه فایل های مثالی و پیش فرض است.

شاخه share/examples/rc.d:

این بخش شامل فایل های اصلی اسکریپت های معروف rc است.

شاخه var:

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

۲٫۸ طرح فایل سیستم در {VARBASE}$

 شاخه db/pkg:

این شاخه شامل اطلاعاتی در مورد بسته های نصب شده حال حاضر سیستم است.

شاخه game:

این شاخه فایل هایی است که بالاترین امتیازات را در خود نگه می دارند.

شاخه log:

این بخش شامل فایل های log است.

شاخه run:

این بخش شامل فایل هایی است که پردازش های حال حاضر هر بسته در حال اجرا کردن آن هستند.