همین طور که گفته شد قرار با پوشه هایی که حاوی پرونده های اجرایی هستن آشنا بشیم ولی چرا گفتم لینوکس، نگفتم ردهت یا دبیان اصلا اون FSH توی تصویر مطلب برای چیه؟
چون این پوشه ها از استاندارد سلسله مراتب پرونده های لینوکس (Filesystem Hierarchy Standard) یا به اختصار FHS تبعییت می کنند. پس مهم نیست از چه توزیعی استفاده می کنید چون یک استاندار هست که باید طبق او عمل کنه.
خوب دانستن این چندتا پوشه چه فایده ای داره. اگر قصد ساخت بسته نصبی دارید از ملزومات به حساب میاد ولی اگر فعلا چنین قصدی ندارید باعث رفع ابهام و جلوگیری از بعضی خطا ها می شود.
منظور از پرونده اجرایی در اینجا چیست؟ به پرونده(با پوشه کد منبع یا پوشه پرتال برنامه اشتباه نگیرید) ای قابل اجرا با هدف اجرای دستورات داخل خود یا مکانی دیگر.(ممکن کل برنامه یک فایل باشه یا اینکه به جا های دیگه ای پیوند خورده باشه.)
پوشه های پرونده های اجرایی طبق FHS به دو گروه نیازمند به دسترسی ریشه برای اجرا و بی نیاز از دسترسی ریشه تقسیم می شوند. بصورت خلاصه دادن دسترسی ریشه به این معناست که برنامه می تواند پرونده ها یا پوشه هایی که به هر دلیلی غیر قابل اجرا، ویرایش یا خواندن هستند را بخواند، ویرایش کند و اجرا کند. نام پوشه برنامه هایی که برای اجرا به دسترسی نیاز دارند sbin و آنهایی که به دسترسی خاصی نیاز ندارند bin است.
منظور از پرونده هایی که برای اجرا نیاز دسترسی به دارند امثال apt و dnf نیست. چون این برنامه ها برای فرایند های خاصی نیاز به دسرسی دارند ولی پرونده های مورد بحث برای اجرا شدن در همان ابتدا نیاز به دسترسی دارند. برای مثال دستور های dnf help و apt help را امتحان کنید که از شما رمزی نمی خواهند.
حالا به ترتیب آدرس ها را بررسی می کنیم.
/bin و /sbin
پرونده هایی در این دو آدرس قرار می گیرند. از واجبات سیستم برای اجرا شدن هستند و قبل از اضافه شدن(mount) پوشه /usr اجرا می شوند.(قبل اینکه کاربران سیستم مشخص شوند(حالت single user)). نیاز های اولیه مثل ابزار های خطایابی در این پخش وجود دارند.
/usr/bin و usr/sbin
این دو برای برنامه های کاربران استفاده می شوند. مثل فایرفاکس، دستور cat یا gnome-session
/usr/local/bin و usr/local/bin
این دو پوشه مثل دو پوشه قبلی برای برنامه های کاربر هستند اما با این تفاوت که پرونده ها از مخازن گرفته نشده اند. و برای اینکه با پرونده های مخازن تداخلی ایجاد نشود(پرونده ای جای دیگری را نگیرد) ایجاد شده اند.
~/.local/bin و ~/.local/bin
این دو مانند نمونه های خودشان در بالا هستند و برای نصب مخصوص یک کاربر کاربرد دارند.(~ نماد پوشه کاربر است) احتمالا این دو پوشه در رایانه شما نیستند چون فعلا نیازی نبوده و در موقع نیاز ساخته می شوند.(شما هم می توانید این دو پوشه را بسازید)
پوشه ها تموم شد.(دو تا دیگه هم هست ولی نمی گم.) قراره موارد بیشتری در مورد FHS بیان بشود بد نیست هر از چند گاهی سری بزنید یا این از خبرنامه استفاده کنید. اگر سوال یا مورد نقض یا گزارش اشکالی هست ممنون می شوم مطرح کنید.