/ usr /, я вважаю, що це користувач комп’ютера.
Закрити.
Unix почався як багатокористувацька операційна система, тому це не "користувач", це " користувачі ", множина.
До того, як AT&T Unix System V випуску 4 (SVR4) вийшов у 1988 році, його інструменти для управління користувачами дефолтом були створені домашні каталоги користувачів у /home
звичайному розташуванні. /usr
¹ Ваш $HOME
каталог, можливо, знаходився /usr/jfw
у вікні System III .
/usr
міститься також, як і зараз, /usr/bin
, /usr/lib
і т.д. Досвід показав , що сегрегація домашніх каталогів була хороша практикою управління системою, так і з /home
зміною політики в SVR4, він залишив позаду всі ми тепер думаємо, як належать до /usr
.
/usr
все-таки була вагома причина затриматися на імені: те, що залишилося позаду, - це файли, які не потребували доступності, поки система не була завантажена достатньо далеко для підтримки нормального інтерактивного використання. Тобто, те, що залишилося позаду, були орієнтовані користувачем частини ОС. Це означало, що це /usr
може бути різний фізичний об'єм, що було хорошою справою ще за часів накопичувача на жорсткому диску 92 Мб розміром з пральні машини .
Ранні системи Unix були обережні, щоб не /usr
виключати основні файли ОС, щоб ви все ще могли завантажуватися в режимі однокористувача², навіть якщо /usr
гучність з якихось причин неможливо змінити . Кореневий об'єм містив достатньо інструментів для /usr
повернення обсягу в Інтернеті.
Кілька ароматів Unix в даний час не ігнорувати цей старий принцип конструкції , так як навіть невеликі вбудовані системи мають достатньо місць як для традиційних об'ємних кореневих файлів і все /usr
на одному volume.³ Red Hat Enterprise Linux, Solaris і Cygwin SYMLINK /bin
до /usr/bin
і /lib
до /usr/lib
так що немає довше будь-яка різниця між цими каталогами.
... / local / ... очевидно означає місцевий комп'ютер ...
Так. Він посилається на той факт, що файли під /usr/local
цим повинен бути специфічним для цієї єдиної системи. Файли, які будь-яким чином є загальними, повинні жити в іншому місці.
Це також має коріння у тому, як системи Unix зазвичай використовувалися десятиліття тому, коли все це було стандартизовано. Знову ж таки, жорсткі диски того часу були громіздкими, по-справжньому дорогими і мало зберігалися за сучасними мірками. Щоб заощадити гроші та місце на дисках, у комп’ютерній лабораторії, наповненій коробками Unix, часто можна ділитися більшістю /usr
NFS або якогось іншого протоколу обміну мережевими файлами, тому в кожному вікні не повинно бути власної зайвої копії.⁴ Файли, характерні для однієї поле піде внизу /usr/local
, що буде окремим томом від /usr
.
Ця історична спадщина є причиною встановлення більшості сторонніх програм Unix за замовчуванням для /usr/local
встановлення вручну. Більшість такого програмного забезпечення дозволить вам встановити пакунок десь в іншому місці, але, не роблячи вибір, ви отримуєте безпечний замовчування, який не заважає іншим загальним місцям встановлення з більш конкретними цілями.
Є вагомі причини, щоб змусити програмне забезпечення інше замість цього. Команда компанії Apple MacOS робить це , коли вони будують, скажімо, bash
з вихідного коду GNU Bash . Вони використовують /
як інсталяційний префікс, змінюючи /usr/local
типовий параметр, так що Bash закінчується в /bin
.
Іншим прикладом є те, як старі системи Linux поділили програмне забезпечення на GUI /usr/X11R6
, щоб вони не були відокремлені від традиційного командного рядка та curses
програмного забезпечення на базі даних. Це було зроблено просто шляхом заміни /usr/local
префіксу за замовчуванням на /usr/X11R6
.⁵
А що таке / бін?
Це коротке слово "двійковий", що в цьому контексті означає "файл, який не є простим текстом". Більшість таких файлів є виконуваними файлами у вікні Unix, тому ці два терміни стали синонімами в деяких колах. ("Будь ласка, побудуйте мені двійковий код для RHEL 7, Fred.")
Текстові файли на коробці Unix живуть в іншому місці: /etc
, /usr/include
, /usr/share
і т.д.
Колись навіть сценарії оболонки - це звичайні текстові файли - залишалися поза bin
каталогами, але цей рядок теж розмився. Сьогодні bin
каталоги зазвичай містять будь-який виконуваний файл, будь то суто "двійковий" чи ні.⁶
Виноски та відступи :
Первісний характер інструментів управління користувачами до SVR4 означав, що HOME=/usr/$NAME
схема була просто задокументована як конвенція, а не застосовувалася програмними засобами як за замовчуванням.
Це можна побачити на сторінці 4-8 " AT&T Unix System V Release 3.2" Посібник для системного адміністратора : тут ви бачите, що AT&T рекомендує стару /usr/$NAME
схему в останній великій версії Unix до виходу SVR4.
У старих системах Unix було досить поширено, щоб системні адміністратори обирали іншу схему, яка мала для них більше сенсу. Люди, що є людьми, значили багато різних схем.
Одна зі схем, з якими я стикався раніше, /home/$NAME
стала стандартною /u/$NAME
.
Ще одна система , яку я використовував на початку 1990 - х років було дуже багато користувачів , що вони не можуть поміститися всі домашні каталоги на одному фізичному томі, тому вони використовували схему , як /u1/$NAME
, /u2/$NAME
і так далі, як я пам'ятаю. На якому диску у вашому домашньому каталозі опинився просто питання про те, на якому місці було місце в момент створення вашого облікового запису.
Ви можете завантажувати поле macOS в режимі однокористування, утримуючи його, Cmd-Sпоки він не завантажується. Відпустіть, як тільки екран стане чорним, і ви побачите світло-сірий текст. Це як би працювати під Терміналом, але він переймає весь екран, оскільки GUI ще не запустився.
Будь обережним, ти працюєш як root
.
Введіть "вихід" у кореневому підказці для одного користувача, щоб залишити режим однокористувача та продовжити завантаження в режим багатокористувацького графічного інтерфейсу.
Unixy операційки , які все ще з'являються , щоб тримати критичні однокористувальницький режим файлів з /usr
не може, насправді, зробити це в ці дні. Одного разу я зробив поле FreeBSD 9 незавантаженим, перемістившись /usr
до тома ZFS. Я забув, що основні функції ZFS не приземлялися до FreeBSD 10, створюючи Catch 22 : ОС потрібні файли /usr
для монтажу /usr
!
Це було досить погано, але якби FreeBSD 9 все-таки утримував речі завантаження для одного користувача /usr
, я міг би виправити це на місці. Оскільки навіть в однокористувацькому режимі він не запускається, /usr
не будуючи незмінним, очевидно, що традиція якось порушилася. Мені довелося завантажуватися з рятувального компакт-диска, щоб знову створити цю систему.
Тут ми також дістаємо /usr/share
: він відокремлює файли, які можна ділити навіть між ящиками Unix з різними типами процесорів. Як правило, текстові файли: чоловічі сторінки, словник тощо.
"X11R6" посилався на версію системи X Window, що лежить в основі графічних інтерфейсів Linux, на той час, коли ця конвенція переважала. Системи Linux, як правило, перестали відокремлювати програмне забезпечення GUI про час заміни X11R6 на X.Org .
Оригінальні системи Unix зберігали свої основні сценарії оболонки /etc
, щоб уникнути з'єднання їх із справжніми бінарними файлами в /bin
.