В какой момент появился каталог / home?

28

Первоначально в Unix, /usrиспользовался для пользовательских (домашних) каталогов. Так что, если бы у меня был пользователь по имени alex, мой домашний каталог был бы /usr/alex. (Интересно, что Plan 9 , преемник Unix, все еще имеет пользовательские каталоги /usr.)

В настоящее время, конечно, мы храним домашние каталоги в /home. (По крайней мере, в GNU / Linux. Я не знаю о других Unices, но OS X не в счет.) В какой момент это стало стандартной практикой? В какой версии Unix он появился? Сколько времени заняло принятие другими организациями? Был /homeпринят всеми?

Я немного искал здесь, но ничего не нашел.

strugee
источник

Ответы:

25

Это изменение было введено BSD после 1985 года (BSD 4.2 все еще документировалось /usr ) и в 1988 году или ранее ( hier(7)страница руководства BSD 4.3 / SunOS 4.1 уже документирует /home ). За ним последовал Solaris 2.0 (который объединял System V и BSD), а позже был принят большинством других поставщиков Unix.

Это со useraddсправочной страницы Solaris 2.0 :

   -D Показать значения по умолчанию для группы, basedir, skel, shell,
               неактивен и истекает. При использовании с -g, -b, -f или -e
               опций -D опция устанавливает значения по умолчанию для
               указанные поля. Значения по умолчанию:

                       группа другая (GID 1)
                       Основатель      / дом
                       skel / etc / skel
                       shell / sbin / sh
                       неактивен 0
                       истекает Null (не установлено).

До этого более ранние версии Unix использовали либо традиционный /usrкаталог, либо некоторые варианты, такие как / user1, описанные в SVR3 и SVR4.0. hier(7) Страница руководства Unix версии 7 определяет /usrместоположение по умолчанию для домашнего каталога пользователя:

/usr/wd/     initial working directory of a user, typically wd is the
             user's login name

Unix версии 6, первый Unix, широко выпущенный за пределами Bell Labs, еще не имел hierстраницы руководства, но уже использовал и документировал /usr .

Есть несколько причин, объясняющих переход /usrк чему-то другому, в том числе:

  • С некоторыми версиями Unix, обновление ОС уносило /usrкаталог .

  • Usernames как tmp, src, bin, localи подобные были запрещены , поскольку они столкнулись с существующими каталогами под /usr.

  • Использование /usrв качестве базового каталога автомонтирования было невозможно, так как он не был пустым (спасибо Йохану за указание на это)

  • Ожидалось, что бездисковые машины будут использовать общий ресурс NFS только для /usrчтения, но домашние каталоги для чтения и записи

jlliagre
источник
1
Другая причина (для использования / home) заключалась в том, чтобы отделить его от / usr, чтобы иметь возможность автоматически смонтировать домашние каталоги пользователей.
Йохан
Смежный вопрос - как FreeBSD пришла на вооружение /usr/home?
michel-slm
Мое лучшее предположение было бы, что FreeBSD не хочет быть слишком разрушительным.
Jlliagre
1
AIX 3.1 использовал / u для домашних каталогов пользователей. Когда в 1991 году вышел AIX 3.2, домашний каталог был переключен на / home.
farhangfarhangfar