bin, sbin, usr/bin, usr/sbin arasındakı fərq

30 noyabr 2010-cu ildə David Collier yazırdı:

Gördüm ki, busybox-da bağlantılar bu dörd qovluğa bölünür.
Bağlantılardan hansının hansı kataloqda yer alacağını müəyyən etmək üçün sadə bir qayda varmı?
Məsələn, kill /bin-də, killall isə /usr/bin-də... Mən bu bölgüdə heç bir məntiq görmürəm.

Yəqin ki, Ken Thompson və Dennis Ritchie-nin 7-cu ildə PDP-1969-də Unix yaratdıqlarını bilirsiniz. Beləliklə, təxminən 1971-ci ildə onlar bir cüt RK11 diski (hər biri 05 meqabayt) olan PDP-1,5-ə yüksəldilər.

Əməliyyat sistemi böyüdükdə və artıq birinci diskə (kök FS-nin yerləşdiyi) uyğun gəlmədikdə, bir hissəsini ev qovluqlarının yerləşdiyi ikinciyə köçürdülər (buna görə də quraşdırma nöqtəsi /usr adlanırdı - sözdən istifadəçi). Oradakı bütün lazımi OS qovluqlarını (/bin, /sbin, /lib, /tmp ...) təkrarladılar və köhnə diskdə boş yer olmadığı üçün faylları yeni diskə qoydular. Sonra üçüncü diskə sahib oldular, onu /home qovluğuna quraşdırdılar və istifadəçilərin ev kataloqlarını oraya köçürdülər ki, ƏS iki diskdə qalan bütün yerləri tuta bilsin və bunlar üç meqabayt (Heyrət! Vay!).

Təbii ki, onlar belə bir qayda qoymalı idilər ki, “əməliyyat sistemi yüklənərkən, o, /usr-da ikinci diski quraşdıra bilməlidir, ona görə də mount kimi proqramları /usr-da ikinci diskə qoymayın, əks halda siz toyuq-yumurta problemi”. Bu qədər sadədir. Və bu, 6 il əvvəl Unix V35-da idi.

/bin və /usr/bin (və bütün bu cür qovluqların) bölünməsi bu hadisələrin mirasıdır, artıq onilliklər ərzində bürokratlar tərəfindən kopyalanan 70-ci illərdən icra detalıdır. Heç vaxt sual vermədilər niyəsadəcə etdilər. Bu bölmə bir neçə səbəbə görə Linux yaradılmazdan əvvəl öz mənasını itirdi:

  1. Yükləyərkən, "bu fayldan əvvəl bizə lazımdır" kimi problemləri həll edən initrd və ya initramfs istifadə olunur. Beləliklə, bizdə var artıq var hər şeyi yükləmək üçün istifadə olunan müvəqqəti fayl sistemi.
  2. Paylaşılan kitabxanalar (Unix-ə Berkley-dəki uşaqlar tərəfindən əlavə edildi) /lib və /usr/lib məzmununu müstəqil olaraq dəyişdirməyə imkan vermir. Bu iki hissə uyğun olmalıdır, əks halda işləməyəcək. Bu, 1974-cü ildə baş vermədi, çünki o zamanlar statik əlaqə səbəbindən bir qədər müstəqillik əldə etdilər.
  3. Ucuz sərt disklər 100-cı ildə 1990 meqabaytlıq maneəni qırdı və təxminən eyni vaxtda bölmənin ölçüsünü dəyişdirən proqram ortaya çıxdı (partition magic 3.0 1997-ci ildə çıxdı).

Təbii ki, bölgü olduğu üçün bəzi insanlar bunu əsaslandıran qaydalar ortaya atıblar. Necə ki, kök bölmə bütün növ ümumi OS xüsusiyyətləri üçün lazımdır və siz yerli fayllarınızı / usr-ə yerləşdirməlisiniz. Yaxud AT&T-nin payladığını və /usr-ə paylamanızın, IBM AIX və ya Dec Ultrix və ya SGI Irix-in əlavə etdiklərini və /usr/local-a sisteminiz üçün xüsusi faylları daxil edin. Və sonra kimsə qərara gəldi ki, /usr/local yeni proqram təminatı quraşdırmaq üçün düzgün yer deyil, ona görə də əlavə edək /opt! /opt/local da görünsə, təəccüblənmərəm ...

Təbii ki, 30 il ərzində bu ayrılığa görə hər cür maraqlı paylamaya xas qaydalar gəlib keçdi. Məsələn, "/tmp yenidən başladıqda silinir, lakin /usr/tmp silinmir." (Və Ubuntu-da prinsipcə /usr/tmp yoxdur və Gentoo-da /usr/tmp /var/tmp-a simvolik bir keçiddir, indi bu qaydaya tabedir və yenidən başladıqda təmizlənmir. Bəli, bu hamısı əvvəl idi. Elə olur ki, FS kökü yalnız oxunur və sonra /usr-a heç nə yazmağa ehtiyac yoxdur, ancaq /var-a yazmalısınız. əsasən /etc-dən başqa yazıla bilməz, bəzən /var-a köçürülməyə çalışılır ...)

Linux Fondu kimi bürokratlar (illər əvvəl genişlənməsi zamanı Azad Standartlar Qrupunu uddu) bu qaydaları heç vaxt onların niyə orada olduqlarını anlamağa çalışmadan sənədləşdirməkdən və mürəkkəbləşdirməkdən məmnundurlar. Onların dərk etmədikləri odur ki, Ken və Dennis əməliyyat sisteminin bir hissəsini öz ana kataloquna köçürdülər, çünki PDP-05-dəki RK11 diski çox kiçik idi.

Əminəm ki, busybox faylları tarixən inkişaf etdirdiyi şəkildə qoyur. İndiyə qədər bunu etmək üçün heç bir real səbəb yoxdur. Şəxsən mən /usr-dakı oxşar qovluqlara /bin, /sbin və /lib keçidini düzəldirəm. Axı, quraşdırılmış proqram təminatı ilə işləyən insanlar başa düşməyə və sadələşdirməyə çalışırlar ...

Mənbə: www.habr.com

Добавить комментарий