/ usr /, sanırım bilgisayarın kullanıcısı.
Kapat.
Unix çok kullanıcılı bir işletim sistemi olarak başladı, bu yüzden "kullanıcı," o "var değil kullanıcılar ," çoğul.
AT & T Unix Önce Sistem V Yayın 4 (SVR4) kullanıcı giriş dizinleri oluşturma varsaymak kendi kullanıcı yönetim araçlarıyla 1988 yılında çıktı /home, geleneksel yeri oldu /usrKişisel .¹ $HOMEdizin olabilirdi /usr/jfwbir on Sistem III kutu.
/usrAyrıca, o zaman şimdi olduğu gibi, içerdiği /usr/bin, /usr/libvb Experience, ev dizinleri ayırmak iyi bir sistem yönetimi uygulaması olduğunu gösterdi öylesine /homeSVR4 politika değişikliği, biz şimdi ait olarak düşünmek herşeyi geride /usr.
/usrismin üzerinde durmak için hala iyi bir nedene sahipti: geride bırakılan şey, sistemin normal etkileşimli kullanımı desteklemek için yeterince önyükleninceye kadar hazır olması gerekmeyen dosyalardı. Diğer bir deyişle, geride kalanlar işletim sisteminin kullanıcı odaklı bölümleriydi. Bu, /usrfarklı bir fiziksel hacimde olabileceği anlamına geliyordu; bu, 92 MB'lık sabit disk günlerinde çamaşır makinelerinin boyutunun iyi olduğu bir şeydi .
Unix sistemleri, çekirdek işletim sistemi dosyalarını uzak tutmaya dikkat /usrediyordu ; bu nedenle, /usrbirim neden bir nedenle monte edilemese bile, tek kullanıcılı kip olarak yeniden başlatılabiliyordu . Kök birim, /usrbirimi tekrar çevrimiçi duruma getirmek için yeterli araç içeriyordu .
Hatta küçük gömülü sistemler geleneksel kök hacmi dosyalarının her ikisi için yeterli yer beri Çeşitli Unix birliği şimdi bu eski tasarım prensibi göz ardı ve tüm /usrtek volume.³ Red Hat Enterprise Linux, Solaris ve Cygwin sembolik link üzerinde /binetmek /usr/binve /libkarşı /usr/libhiçbir yoktur böylece Bu dizinler arasında herhangi bir fark daha uzun.
... / local / ... belli ki yerel bilgisayar için duruyor ...
Evet. Bu, altındaki dosyaların /usr/localbu tek sisteme özgü olması gerektiği anlamına gelir . Herhangi bir şekilde genel olan dosyalar başka bir yerde yaşamalıdır.
Bu aynı zamanda Unix sistemlerinin yaygın olarak on yıllar önce tüm bu standart hale getirildiği durumlarda kullanılma biçiminde köklere sahiptir. Yine, zamanın sabit diskleri hacimli, gerçekten pahalı ve bugünün standartlarına göre çok az şey depoladı. Disklerde paradan ve yerden tasarruf etmek için, Unix kutuları ile dolu bir bilgisayar laboratuarı çoğu zaman /usrNFS veya başka bir ağ dosyası paylaşım protokolünün çoğunu paylaşır; bu nedenle, her kutunun kendi yedek kopyasına sahip olması gerekmez. kutu, altına /usr/localayrı bir hacim olacaktı /usr.
Bu tarihi miras, /usr/localelle kurulduğunda çoğu üçüncü taraf Unix yazılımının yüklenmesinin varsayılan nedenidir . Bu tür yazılımların çoğu, paketi başka bir yere kurmanıza izin verir, ancak seçim yapmadan, diğer varsayılan yükleme konumlarına daha özel amaçlarla müdahale etmeyen güvenli varsayılanı elde edersiniz.
Bunun yerine yazılımı başka bir yere kurmak için iyi nedenler var. Onlar, diyelim ki, oluştururken Apple'ın MacOS ekibi bunu yapar bashden GNU Bash kaynak kodu . Bash'in sona ermesi /için /usr/localvarsayılanı geçersiz kılarak kurulum öneki olarak kullanılırlar /bin.
Diğer bir örnek, eski Linux sistemlerinin GUI yazılımlarını /usr/X11R6, geleneksel komut satırı ve cursestabanlı yazılımlardan ayrı tutmak için ayırma şeklidir . Bu varsayılan geçersiz kılarak sadece yapıldığını /usr/localile önek /usr/X11R6.⁵
Ve / bin nedir?
Bu bağlamda "düz metin olmayan bir dosya" anlamına gelen "ikili" kısaltmasıdır. Bu tür dosyaların çoğu Unix kutusunda çalıştırılabilir , bu nedenle bu iki terim bazı çevrelerde eşanlamlı hale geldi. ("Lütfen bana RHEL 7, Fred için bir ikili dosya oluşturun.")
Unix kutuyu Metin dosyaları başka yerde yaşamak: /etc, /usr/include, /usr/share, vb
Bir zamanlar, düz metin dosyaları olan kabuk komut dosyaları bile bindizinlerin dışında tutuldu , ancak bu satır da bulanıklaştı. Günümüzde, bindizinler genellikle "ikili" olsun veya olmasın, her türlü yürütülebilir dosyayı içerir.
Dipnotlar ve Dipnotlar :
Kullanıcı yönetim araçlarının SVR4'ten önceki ilkel doğası, HOME=/usr/$NAMEplanın varsayılan olarak yazılım araçları tarafından uygulanmasından ziyade , planın yalnızca bir sözleşme olarak belgelenmesi anlamına geliyordu .
Bunu, " AT&T Unix System V Sürüm 3.2 Sistem Yöneticisinin Kılavuzu : 4-8. Sayfalarda görebilirsiniz. Burada, eski bir /usr/$NAMEprogramın, SVR4 çıkmadan önce Unix'in son ana sürümünde önerildiği AT & T'yi görüyorsunuz.
Eski Unix sistemlerinde, sistem yöneticilerinin kendileri için daha anlamlı olan farklı bir program seçmesi oldukça yaygındı. İnsanlar insanlardı, bu birçok farklı programın icat edildiği anlamına geliyordu.
Daha önce karşılaştığım bir plan /home/$NAMEstandart oldu /u/$NAME.
Ben kullanılan bir diğer sistem 1990'ların başında tek bir fiziksel hacmi üzerine tüm ev dizinleri sığmayan bu yüzden birçok kullanıcı vardı, bu nedenle böyle bir düzeni kullanılır /u1/$NAME, /u2/$NAMEhatırladığım kadarıyla, vb. Giriş dizininizin hangi diskte sona erdiği, hesabınızın oluşturulduğu sırada hangi diskte yer alacağıyla ilgili bir şeydi.
Bir macOS kutusunu, önyükleme Cmd-Ssırasında basılı tutarak tek kullanıcı modunda önyükleyebilirsiniz . Ekran siyaha döndüğünde ve açık gri metnin göründüğünü gördüğünüzde bırakın. Terminal altında çalışan gibi, ancak GUI henüz başlamadı çünkü tüm ekranı devraldı.
Dikkatli olun, siz koşuyoruz root.
Tek kullanıcılı moddan çıkmak ve çok kullanıcılı GUI modunda önyüklemeye devam etmek için tek kullanıcılı kök isteminde "exit" yazın.
Kritik, tek kullanıcılı kip dosyaları dışında tuttuğu görünen Unixy OS'ler /usraslında bugünlerde bunu yapamayabilir. Bir keresinde bir FreeBSD 9 kutusunu /usrbir ZFS hacmine taşıyarak önlenemez hale getirdim . ZFS-on-root özelliklerinin FreeBSD 10'a kadar çıkmadığını, bir Catch 22 yarattığını , işletim sisteminin /usrmontajı için gerekli dosyaları getirdiğini unuttum /usr!
Bu yeterince kötüydü, ancak FreeBSD 9 tek kullanıcılı önyükleme öğelerini hala dışında tutuyorsa, /usryerinde düzeltebilirdim. Tek kullanıcı moduna bile /usrmonte edilemeyecek şekilde önyüklemediği için , geleneğin bir şekilde ihlal edildiği açıkça görülüyordu. Bu sistemi tekrar kurmak için kurtarma CD'sinden önyükleme yapmak zorunda kaldım.
Burası aynı zamanda nerede olduğumuzu gösteriyor /usr/share: farklı işlemci türlerinde Unix kutuları arasında bile paylaşılabilecek dosyaları ayırıyor. Genellikle, metin dosyaları: man sayfaları, sözlük vb.
"X11R6" , bu sözleşmenin geçerli olduğu sırada Linux GUI'lerini destekleyen X Pencere Sisteminin sürümüne atıfta bulundu . Linux sistemleri genellikle GUI yazılımının X11R6'nın X.Org ile değiştirildiği zamana göre ayrılmasını durdurdu .
Orijinal Unix sistemleri /etc, içindeki gerçek ikili dosyalar ile birleşmelerini önlemek için çekirdek kabuk komut dosyalarını tuttu /bin.