it-swarm-tr.com

/ Bin ve / usr / bin arasındaki fark

Bunu bu web sitesinde okudum ve mantıklı değil.

http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/basic/node32.html

UNIX ilk yazıldığında, /bin ve /usr/bin iki farklı diskte fiziksel olarak bulunur: /bin daha küçük (daha hızlı) bir diskte olmak ve /usr/bin daha büyük daha yavaş bir diskte. Şimdi, /bin, /usr/bin: aslında aynı dizindir.

Ama ls the /bin klasöründe, /usr/bin klasörü (en azından çalışan sistemimde).

Birisi farkı açıklayabilir mi?

92
whoami

Ne? no /bin/, hiçbir FHS uyumlu sistemde /usr/bin için bir sembolik bağlantı değildir. Bunu görmezden gelen hala popüler Unices ve Linux'lar olduğunu unutmayın; örneğin, /bin Ve /sbin, Arch Linux'ta /usr/bin sadece canlı bir CD önyükleyeceğiniz için kurtarma/tek kullanıcı modu için /bin gerekir.

/bin

hem sistem yöneticisi hem de kullanıcılar tarafından kullanılabilen, ancak başka dosya sistemleri kurulmadığında gerekli olan komutları içerir (örn. tek kullanıcı modunda). Ayrıca, komut dosyaları tarafından dolaylı olarak kullanılan komutlar içerebilir

/usr/bin/

Bu, sistemdeki yürütülebilir komutların birincil dizinidir.

esas olarak, /bin acil onarım, önyükleme ve tek kullanıcı modu için sistem tarafından gerekli olan yürütülebilir dosyaları içerir. /usr/bin Gerekli olmayan ikili dosyaları içeriyor.

Ayrı disklerde/bölümlerde olabileceğini, /bin/ İle aynı diskte olması gerektiğini not edeceğim. /usr/bin Başka bir diskte olabilir - ancak bu yapılandırmanın bir süredir bozulduğuna dikkat edin (bu nedenle örneğin systemd önyüklemedeki bu yapılandırma hakkında uyarır).

Tam doğruluk için, bazı birleşimler FHS'i göz ardı edebilir, çünkü bunun sadece bir Linux Standardı olduğuna inanıyorum, IMHO olması gerekirken henüz SUS, Posix veya başka bir UNIX standardında yer aldığını bilmiyorum. Yine de LSB standardının bir parçasıdır.

79
xenoterracide

Güncelleme: Bazı tarihler ve gerçek nedenlerden dolayı /usr, şunu okuyun: http://lists.busybox.net/pipermail/busybox/2010-Aralık/074114.html . Ayrıca b .


/sbin - Önyükleme, düşük düzey sistem onarımı veya bakım için gerekli ikili dosyalar (çalışma düzeyi 1 veya S)

/bin - Herhangi bir çalışma seviyesinde normal/standart sistem çalışması için gerekli ikili dosyalar.

/usr/bin - Yerel olarak oturum açmış kullanıcılar tarafından erişilmesi istenen uygulama/dağıtım ikili dosyaları

/usr/sbin -/sbin içindeki öğeleri destekleyen veya yapılandıran uygulama/dağıtım ikili dosyaları.

/usr/share/bin - Web üzerinden erişilmesi gereken uygulama/dağıtım ikili dosyaları veya komut dosyaları, yani Apache web uygulamaları

*local* - Bir dağıtımın parçası olmayan ikili dosyalar; yerel olarak derlenmiş veya manuel olarak yüklenmiştir. Genellikle asla /local/bin ama her zaman bir /usr/local/bin ve /usr/local/share/bin.

59
LawrenceC

Bu konuda bir tür "güncelleme":

Son zamanlarda bazı Linux dağıtımları /bin İle /usr/bin Ve ilgili olarak /lib İle /usr/lib İle birleşiyor. Bazen (/usr)/sbin İle /usr/bin Arasında (Arch Linux). Bu nedenle, /usr İle / Aynı anda kullanılabilir olması bekleniyor.

İki hiyerarşi arasındaki ayrım, artık gereksiz karmaşıklık olarak kabul edilmektedir. Fikir bir zamanlar önyüklemede yalnızca /bin Kullanılabilirdi, ancak ilk ramdisk değerine sahip olmak bunu geçersiz kılıyor.

Fedora Linux (2011) ve Arch Linux (2012) 'nin bu şekilde gittiğini biliyorum ve Solaris bunu uzun süredir (> 15 yıl) yapıyor.

18
JonnyJD

Linux'ta /bin Ve /usr/bin Hala ayrıdır, çünkü ayrı bir bölümde /usr Olması yaygındır (bu yapılandırma bazen ince biçimlerde kırılmasına rağmen). /bin İçinde yalnızca / Takılıysa ihtiyacınız olacak tüm komutlar bulunur.

Solaris ve Arch Linux'ta (ve muhtemelen diğerlerinde) /bin, /usr/bin İçin bir sembolik bağlantıdır. Arch ayrıca /sbin Ve /usr/sbin İçin /usr/bin Simgesine bağlandı.

Özellikle, /bin İfadesinin "sistem yöneticisi" komutları ve /usr/bin İfadesinin kullanıcı komutları için olduğu ifadesi doğru değil (bash ve ls öğelerinin yalnızca yöneticiler için olduğunu düşünmüyorsanız, bu durumda öğrenecek çok şeyiniz vardır). Yönetici komutları /sbin Ve /usr/sbin İçindedir.

8
bahamat

UNIX tabanlı birçok sistem var. Linux, AIX, Solaris, BSD, vb. Orijinal alıntı tüm lezzetler için geçerli tarihsel bağlam verir. Belirli bir sisteme bakarsanız farklı sonuçlar görürsünüz. Orijinal teklifin son cümlesi sadece bazı versiyonlara ve dağıtımlara özgüdür.

5
Chris Quenelle