/ usr /, я полагаю, является пользователем компьютера.
Близко.
Unix начинал как многопользовательская операционная система, поэтому это не «пользователь», это « пользователи », множественное число.
До выпуска AT & T Unix System V Release 4 (SVR4) в 1988 году с инструментами управления пользователями, в которых /home
по /usr
умолчанию создавались домашние каталоги пользователей , было обычное местоположение. Directory Возможно, ваш $HOME
каталог находился /usr/jfw
в окне System III .
/usr
содержится также то , как сейчас, /usr/bin
, /usr/lib
и т.д. Опыт показал , что сегрегация домашних каталогов была хорошая практикой управления системой, так и с /home
изменением политики в SVR4 он оставил позади все мы теперь думаем, как принадлежащие в /usr
.
/usr
у него все еще была веская причина удержать это имя: остались те файлы, которые не должны были быть доступны, пока система не загрузилась достаточно далеко, чтобы поддерживать нормальное интерактивное использование. То есть, то, что осталось позади, были ориентированные на пользователя части ОС. Это означало, что он /usr
мог находиться на другом физическом томе, что было хорошо во времена 92 МБ жестких дисков размером со стиральные машины .
Ранние системы Unix старались не допускать доступа к файлам ядра ОС, /usr
чтобы вы могли по-прежнему загружаться в однопользовательском режиме2, даже если /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 /usr/X11R6
отделяли свое программное обеспечение с графическим интерфейсом , чтобы отделить его от традиционной командной строки и curses
программного обеспечения на основе. Это было сделано просто путем переопределения /usr/local
префикса по умолчанию с помощью /usr/X11R6
.⁵
А что такое / bin?
Это сокращение от «двоичный», что в данном контексте означает «файл, который не является простым текстом». Большинство таких файлов являются исполняемыми файлами в Unix-боксе, поэтому эти два термина стали синонимами в некоторых кругах. («Пожалуйста, создайте мне двоичный файл для RHEL 7, Фред».)
Текстовые файлы на коробке 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во время загрузки. Отпустите, как только экран станет черным, и вы увидите светло-серый текст. Это похоже на работу под терминалом, но он занимает весь экран, потому что графический интерфейс еще не запущен.
Будь осторожен, ты бежишь как root
.
Введите «exit» в однопользовательском корневом запросе, чтобы выйти из однопользовательского режима и продолжить загрузку в многопользовательском режиме графического интерфейса.
Unixy операционки , которые все еще появляются , чтобы сохранить важные однопользовательский режим файлов из , /usr
не может, на самом деле, сделать это в эти дни. Однажды я сделал загрузочную коробку FreeBSD 9 недоступной, перейдя /usr
на том ZFS. Я забыл, что возможности ZFS-on-root не были доступны до FreeBSD 10, создав Catch 22 : ОС требовались файлы /usr
для монтирования /usr
!
Это было достаточно плохо, но если бы FreeBSD 9 по-прежнему не использовала однопользовательскую загрузку /usr
, я мог бы это исправить. Поскольку он не загружается даже в однопользовательском режиме, /usr
будучи несмонтируемым, очевидно, что традиция каким-то образом была нарушена. Мне пришлось загрузиться с аварийного компакт-диска, чтобы снова восстановить систему.
Это также то, где мы получаем /usr/share
: он разделяет файлы, которые могут быть общими даже для блоков Unix с разными типами процессоров. Как правило, текстовые файлы: справочные страницы, словарь и т. Д.
«X11R6» относится к версии системы X Window, лежащей в основе графического интерфейса Linux, в то время, когда это соглашение было распространено. Системы Linux обычно перестали выделять программное обеспечение с графическим интерфейсом примерно во время замены X11R6 на X.Org .
Оригинальные системы Unix сохранили свои основные сценарии оболочки /etc
, чтобы избежать смешения с истинными двоичными файлами в /bin
.