在作为 root
用户登录时,一个微小的错误就可能损坏甚至摧毁整个系统。因此,我们建议在后续两章中,以非特权用户身份编译软件包。您可以使用自己的系统用户,但为了更容易地建立一个干净的工作环境,最好创建一个名为
lfs
的新用户,以及它从属于的一个新组 (组名也是
lfs
),以便我们在安装过程中使用。为了创建新用户,以
root
身份执行以下命令:
groupadd lfs useradd -s /bin/bash -g lfs -m -k /dev/null lfs
命令行各选项的含义:
-s
/bin/bash
设置 bash 为用户
lfs
的默认 shell。
-g
lfs
添加用户 lfs
到组 lfs
。
-m
为用户 lfs
创建一个主目录。
-k
/dev/null
将模板目录设置为空设备文件,从而不从默认模板目录 (/etc/skel
) 复制文件到新的主目录。
lfs
要创建的用户的名称。
为了以 lfs
身份登录系统 (尽管以 root
身份登录时可以不用输入密码,直接切换到用户 lfs
),为 lfs
设置密码:
passwd lfs
将 lfs
设为 $LFS
中所有目录的所有者,使 lfs
对它们拥有完全访问权:
chown -v lfs $LFS/{usr,lib,lib64,var,etc,bin,sbin,tools}
如果您按照本书的建议,建立了一个单独的工作目录,那么将这个目录的所有者也设为 lfs
:
chown -v lfs $LFS/sources
在某些宿主系统上,下面的命令不会正确完成,而会将 lfs 用户的登录会话挂起到后台。如果提示符 “lfs:~$” 没有很快出现,输入 fg 命令以修复这个问题。
下面以 lfs
的身份登录。可以通过虚拟控制台或者显示管理器登录,也可以使用下面的命令切换用户:
su - lfs
参数 “-
” 使得 su 启动一个登录 shell,而不是非登录 shell。您可以阅读
bash(1)
和 info bash 详细了解它们的区别。