/ 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 /usr
Kişisel .¹ $HOME
dizin olabilirdi /usr/jfw
bir on Sistem III kutu.
/usr
Ayrıca, o zaman şimdi olduğu gibi, içerdiği /usr/bin
, /usr/lib
vb Experience, ev dizinleri ayırmak iyi bir sistem yönetimi uygulaması olduğunu gösterdi öylesine /home
SVR4 politika değişikliği, biz şimdi ait olarak düşünmek herşeyi geride /usr
.
/usr
ismin ü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, /usr
farklı 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 /usr
ediyordu ; bu nedenle, /usr
birim neden bir nedenle monte edilemese bile, tek kullanıcılı kip olarak yeniden başlatılabiliyordu . Kök birim, /usr
birimi 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 /usr
tek volume.³ Red Hat Enterprise Linux, Solaris ve Cygwin sembolik link üzerinde /bin
etmek /usr/bin
ve /lib
karşı /usr/lib
hiç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/local
bu 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 /usr
NFS 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/local
ayrı bir hacim olacaktı /usr
.
Bu tarihi miras, /usr/local
elle 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 bash
den GNU Bash kaynak kodu . Bash'in sona ermesi /
için /usr/local
varsayı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 curses
tabanlı yazılımlardan ayrı tutmak için ayırma şeklidir . Bu varsayılan geçersiz kılarak sadece yapıldığını /usr/local
ile ö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 bin
dizinlerin dışında tutuldu , ancak bu satır da bulanıklaştı. Günümüzde, bin
dizinler 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/$NAME
planı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/$NAME
programı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/$NAME
standart 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/$NAME
hatı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 /usr
aslında bugünlerde bunu yapamayabilir. Bir keresinde bir FreeBSD 9 kutusunu /usr
bir 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 /usr
montajı 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, /usr
yerinde düzeltebilirdim. Tek kullanıcı moduna bile /usr
monte 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
.