Saya membaca ini di situs web ini dan itu tidak masuk akal.
http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/basic/node32.html
Ketika UNIX pertama kali ditulis,
/bin
dan/usr/bin
secara fisik berada di dua disk yang berbeda:/bin
berada di disk yang lebih cepat lebih cepat (lebih mahal), dan/usr/bin
pada disk yang lebih lambat lebih besar. Sekarang,/bin
adalah tautan simbolis ke/usr/bin
: mereka pada dasarnya direktori yang sama.
Tetapi ketika Anda ls
yang /bin
folder, memiliki kandungan jauh lebih kecil dari /usr/bin
folder (setidaknya pada sistem yang berjalan saya).
Jadi bisakah seseorang menjelaskan perbedaannya?
Jawaban:
Apa? tidak
/bin/
bukan symlink ke/usr/bin
pada sistem yang sesuai FHS. Perhatikan bahwa masih ada Unices dan Linux populer yang mengabaikan hal ini - misalnya,/bin
dan/sbin
disinkronkan dengan/usr/bin
Arch Linux (alasannya adalah Anda tidak perlu/bin
melakukan penyelamatan / mode pengguna tunggal, karena Anda hanya ingin boot live CD)./bin
/usr/bin/
pada dasarnya,
/bin
berisi executable yang diperlukan oleh sistem untuk perbaikan darurat, booting, dan mode pengguna tunggal./usr/bin
berisi semua binari yang tidak diperlukan.Saya akan perhatikan, bahwa mereka dapat berada di disk / partisi yang terpisah,
/bin
harus pada disk yang sama dengan/
./usr/bin
dapat berada di disk lain - walaupun perhatikan bahwa konfigurasi ini agak rusak untuk sementara waktu (inilah sebabnya misalnya systemd memperingatkan tentang konfigurasi ini saat boot).Untuk kebenaran penuh, beberapa unix mungkin mengabaikan FHS, karena saya percaya ini hanya Linux Standard, saya tidak tahu bahwa itu sudah dimasukkan dalam SUS, Posix atau standar UNIX lainnya, meskipun harus IMHO. Ini adalah bagian dari standar LSB .
sumber
/bin
adalah tautan ke/usr/bin
beberapa kesatuan, seperti (beberapa rilis?) Solaris./usr
antara dua distro yang sangat mirip, meskipun saya tidak akan mencobanya kecuali jika Anda tahu apa yang Anda lakukan, dan Anda siap untuk percobaan gagal dengan cara yang membuat komputer tidak bisa boot, atau makan data Anda./usr
/sbin
- Binari diperlukan untuk mem-boot, perbaikan sistem tingkat rendah, atau pemeliharaan (jalankan level 1 atau S)/bin
- Binari diperlukan untuk fungsi sistem normal / standar di semua level run./usr/bin
- Aplikasi / distribusi binari dimaksudkan untuk diakses oleh pengguna yang masuk secara lokal/usr/sbin
- Aplikasi / distribusi binari yang mendukung atau mengkonfigurasi hal-hal di / sbin./usr/share/bin
- Aplikasi / distribusi binari atau skrip yang dimaksudkan untuk diakses melalui web, yaitu aplikasi web Apache*local*
- Binari bukan bagian dari distribusi; dikompilasi secara lokal atau diinstal secara manual. Biasanya tidak pernah ada/local/bin
tetapi selalu a/usr/local/bin
dan/usr/local/share/bin
.sumber
/usr/bin
secara otomatis dilepas saat tidak ada pengguna yang masuk? Misalnya, ketika LINUX mem-boot dan menyajikan otentikasi login, sudah/usr/bin
terpasang atau tidak?Beberapa jenis "pembaruan" tentang masalah ini:
Baru-baru ini beberapa distribusi Linux penggabungan
/bin
ke dalam/usr/bin
dan Relatedly/lib
ke/usr/lib
. Terkadang juga(/usr)/sbin
ke/usr/bin
(Arch Linux). Jadi/usr
diharapkan tersedia pada saat yang sama/
.Perbedaan antara kedua hierarki dianggap sebagai kompleksitas yang tidak perlu sekarang. Idenya dulu hanya
/bin
tersedia saat boot, tetapi memiliki ramdisk awal membuat ini usang.Saya tahu Fedora Linux (2011) dan Arch Linux (2012) menggunakan cara ini dan Solaris melakukan ini untuk waktu yang lama (> 15 tahun).
sumber
Di Linux
/bin
dan/usr/bin
masih terpisah karena itu umum ada/usr
di partisi yang terpisah (meskipun konfigurasi ini rusak dengan cara yang halus, kadang-kadang). In/bin
adalah semua perintah yang akan Anda perlukan jika Anda hanya menginstalnya/
.Pada Solaris dan Arch Linux (dan mungkin yang lain)
/bin
adalah symlink ke/usr/bin
. Arch juga memiliki/sbin
dan/usr/sbin
terhubung ke/usr/bin
.Dari catatan khusus, pernyataan yang
/bin
untuk perintah "administrator sistem" dan/usr/bin
untuk perintah pengguna tidak benar (kecuali Anda berpikir itubash
danls
hanya untuk admin, dalam hal ini Anda harus banyak belajar). Perintah administrator ada di/sbin
dan/usr/sbin
.sumber
bin
hanya untuk administrator sistem? itu untuk apasbin
.Ada banyak sistem berbasis UNIX. Linux, AIX, Solaris, BSD, dll. Kutipan asli memberikan konteks historis yang berlaku untuk semua rasa. Jika Anda melihat satu sistem tertentu, Anda akan melihat hasil yang berbeda. Kalimat terakhir dari kutipan asli hanya khusus untuk beberapa versi dan distribusi.
sumber