最初在 Unix 中/usr
用于用户(主)目录。因此,如果我有一个名为 的用户alex
,我的主目录将是/usr/alex
。 (有趣的是,计划9,Unix 的后继者,仍然在 中拥有用户目录/usr
。)
当然,现在我们将主目录存储在/home
. (至少在 GNU/Linux 上。我不知道其他 Unices,但 OS X 不算。)这在什么时候成为标准做法?它以什么 Unix 风格出现?其他 Unices 的采用需要多长时间?已经/home
被大家采纳了吗?
我在这里做了一些搜索,但一无所获。
答案1
这一变化是 BSD 在 1985 年之后引入的(BSD 4.2 仍然是记录 /usr
)并且在 1988 年或之前(BSD 4.3/SunOS 4.1hier(7)
手册页已经文件 /home
)。紧随其后的是 Solaris 2.0(它合并了 System V 和 BSD),后来被大多数其他 Unix 供应商采用。
这是来自 Solaris 2.0useradd
手册页:
-D 显示 group、basedir、skel、shell 的默认值 不活跃,并且过期。与 -g、-b、-f 或 -e 一起使用时 选项,-D 选项设置默认值 指定字段。默认值为: 其他组(GID 为 1) 基迪尔 /家 斯凯尔 /etc/skel 外壳 /sbin/sh 不活跃 0 Null 过期(未设置)。
在此之前,较旧的 Unix 使用传统/usr
目录或某些变体,例如 SVR3 和 SVR4.0 中记录的 /user1。 Unix版本7hier(7)
手册页定义/usr
为用户主目录的默认位置:
/usr/wd/ initial working directory of a user, typically wd is the
user's login name
Unix 版本 6,第一个在贝尔实验室之外广泛发布的 Unix,还没有hier
手册页,但已经在使用和记录 /usr
。
有多种原因可以解释从其他事物转变/usr
为其他事物,其中包括:
对于某些 Unix 版本,升级操作系统是吹走
/usr
目录。禁止使用
tmp
、src
、bin
等用户名,因为它们与 下的现有目录冲突。local
/usr
/usr
无法用作自动安装程序基目录,因为它不为空(感谢 Johan 指出这一点)无盘机器预计使用只读 NFS 共享
/usr
但可读写主目录