/ usr /, saya asumsikan adalah pengguna komputer.
Dekat.
Unix dimulai sebagai sistem operasi multi-pengguna, jadi itu bukan "pengguna," itu " pengguna ," jamak.
Sebelum AT&T Unix System V Release 4 (SVR4) keluar pada tahun 1988 dengan alat manajemen pengguna yang secara default membuat direktori home user di /home
, lokasi konvensionalnya adalah. /usr
Was $HOME
Direktori Anda mungkin berada /usr/jfw
pada kotak System III .
/usr
juga berisi, kemudian seperti sekarang, /usr/bin
, /usr/lib
, dll Pengalaman menunjukkan bahwa pemisahan direktori rumah adalah praktik sistem manajemen yang baik, sehingga dengan /home
perubahan kebijakan di SVR4, yang ditinggalkannya segala sesuatu yang kita sekarang anggap sebagai milik di /usr
.
/usr
masih punya alasan kuat untuk mempertahankan nama: yang tertinggal adalah file yang tidak perlu tersedia sampai sistem di-boot cukup jauh untuk mendukung penggunaan interaktif normal. Dengan kata lain, yang tertinggal adalah bagian-bagian OS yang berfokus pada pengguna . Ini berarti bahwa /usr
bisa pada volume fisik yang berbeda, yang merupakan hal yang baik di masa 92 MB hard disk drive ukuran mesin cuci .
Sistem Unix awal berhati-hati untuk menjaga file inti OS dari /usr
sehingga Anda masih bisa boot ke mode single-user ² bahkan jika /usr
volume itu unmountable karena suatu alasan. Volume root berisi alat yang cukup untuk mendapatkan /usr
volume kembali online.
Beberapa rasa Unix sekarang mengabaikan prinsip desain lama ini karena sistem embedded bahkan kecil memiliki cukup ruang untuk kedua file volume akar tradisional dan semua /usr
pada volume.³ tunggal Red Hat Enterprise Linux, Solaris dan Cygwin symlink /bin
untuk /usr/bin
dan /lib
untuk /usr/lib
sehingga tidak ada lagi perbedaan antara direktori ini.
... / lokal / ... jelas merupakan singkatan dari komputer lokal ...
Iya. Ini merujuk pada fakta bahwa file di bawah /usr/local
seharusnya khusus untuk sistem tunggal itu. File dengan cara apa pun generik harus hidup di tempat lain.
Ini juga berakar pada cara sistem Unix biasa digunakan beberapa dekade yang lalu ketika semua ini distandarisasi. Sekali lagi, hard disk saat itu berukuran besar, sangat mahal, dan disimpan sedikit menurut standar sekarang. Untuk menghemat uang dan ruang pada disk, lab komputer yang penuh dengan kotak Unix akan sering berbagi /usr
lebih dari NFS atau protokol berbagi file jaringan lainnya, sehingga setiap kotak tidak harus memiliki salinannya sendiri yang berlebihan. File khusus untuk satu kotak akan masuk ke bawah /usr/local
, yang akan menjadi volume terpisah dari /usr
.
Warisan historis ini adalah alasan mengapa masih menjadi standar untuk sebagian besar perangkat lunak Unix pihak ketiga untuk diinstal /usr/local
ketika diinstal dengan tangan. Sebagian besar perangkat lunak seperti itu akan membiarkan Anda menginstal paket di tempat lain, tetapi dengan membuat pilihan, Anda mendapatkan default yang aman, yang tidak mengganggu lokasi instalasi umum lainnya dengan tujuan yang lebih spesifik.
Ada alasan bagus untuk membuat perangkat lunak menginstal di tempat lain sebagai gantinya. Tim macOS Apple melakukan ini ketika mereka membangun, katakanlah, bash
dari kode sumber GNU Bash . Mereka menggunakan /
sebagai awalan instalasi, mengesampingkan /usr/local
default, sehingga Bash berakhir di /bin
.
Contoh lain adalah cara sistem Linux yang lebih tua memisahkan perangkat lunak GUI mereka /usr/X11R6
, agar tetap terpisah dari baris perintah tradisional dan curses
perangkat lunak berbasis. Ini dilakukan hanya dengan mengganti /usr/local
awalan default dengan /usr/X11R6
.⁵
Dan apa itu / bin?
Ini kependekan dari "binary," yang dalam konteks ini berarti "file yang bukan teks biasa." Sebagian besar file tersebut dapat dieksekusi pada kotak Unix, sehingga kedua istilah ini menjadi sinonim di beberapa kalangan. ("Tolong buatkan saya biner untuk RHEL 7, Fred.")
File teks pada kotak Unix tinggal di tempat lain: /etc
, /usr/include
, /usr/share
, dll
Sekali waktu, bahkan skrip shell - yang merupakan file teks biasa - disimpan di luar bin
direktori, tetapi baris ini juga kabur. Saat ini, bin
direktori biasanya berisi segala jenis file yang dapat dieksekusi, baik "biner" atau tidak
Catatan Kaki dan Digesti :
Sifat primitif dari alat manajemen pengguna sebelum SVR4 berarti bahwa HOME=/usr/$NAME
skema itu hanya didokumentasikan sebagai konvensi, bukan ditegakkan oleh alat perangkat lunak sebagai default.
Anda dapat melihat ini di halaman 4-8 dari " AT&T Unix System V Release 3.2 Panduan Administrator Sistem : di sini Anda melihat AT&T merekomendasikan /usr/$NAME
skema lama dalam versi utama terakhir Unix sebelum SVR4 keluar.
Itu cukup umum di sistem Unix yang lebih lama bagi administrator sistem untuk memilih skema berbeda yang lebih masuk akal bagi mereka. Orang menjadi manusia, itu berarti banyak skema berbeda ditemukan.
Satu skema yang saya temui sebelum /home/$NAME
menjadi standar adalah /u/$NAME
.
Sistem lain yang saya digunakan di awal 1990-an memiliki begitu banyak pengguna bahwa mereka tidak bisa cocok semua direktori rumah ke volume fisik tunggal, sehingga mereka menggunakan skema seperti /u1/$NAME
, /u2/$NAME
, dan sebagainya, seperti yang saya ingat. Disk di mana direktori home Anda berakhir hanyalah masalah yang ada di dalamnya pada saat akun Anda dibuat.
Anda dapat mem-boot kotak macOS ke mode pengguna tunggal dengan menahan Cmd-Ssementara boot. Lepaskan begitu layar menjadi hitam dan Anda melihat teks abu-abu terang muncul. Ini seperti berjalan di bawah Terminal, tetapi mengambil alih seluruh layar karena GUI belum dimulai.
Hati-hati, Anda berlari seperti root
.
Ketik "keluar" pada permintaan root pengguna tunggal untuk meninggalkan mode pengguna tunggal dan melanjutkan boot ke mode GUI multi-pengguna.
OS Unixy yang masih muncul untuk menjaga file mode pengguna tunggal yang kritis /usr
tidak dapat, pada kenyataannya, melakukannya hari ini. Saya pernah membuat kotak FreeBSD 9 unbootable dengan pindah /usr
ke volume ZFS. Saya lupa bahwa fitur ZFS-on-root tidak mendarat sampai FreeBSD 10, membuat Catch 22 : OS membutuhkan file /usr
untuk melakukan mount /usr
!
Itu sudah cukup buruk, tetapi jika FreeBSD 9 masih menyimpan barang dari pengguna tunggal /usr
, saya bisa memperbaikinya di tempat. Karena tidak bisa boot bahkan ke mode single-user dengan /usr
menjadi tidak dapat di-mount, jelas bahwa tradisi telah dilanggar entah bagaimana. Saya harus mem-boot dari CD cadangan untuk mendapatkan kembali sistem itu.
Di sinilah kita mendapatkan /usr/share
: ia memisahkan file yang dapat dibagi bahkan antara kotak Unix dengan jenis prosesor yang berbeda. Biasanya, file teks: halaman manual, kamus, dll.
"X11R6" mengacu pada versi Sistem X Window yang mendasari GUI Linux pada saat konvensi ini lazim. Sistem Linux umumnya berhenti memisahkan perangkat lunak GUI tentang waktu X11R6 diganti dengan X.Org .
Sistem Unix asli menyimpan skrip shell inti mereka /etc
untuk menghindari membaurnya mereka dengan binari yang sebenarnya /bin
.