您的位置:首页 > 运维架构 > Linux

4final_prepare

2015-08-23 20:58 288 查看
Final Preparation

最后准备工作

准备工作做了一大半,但还没有完成

接下来便是建立工具文件夹,

mkdir -v $LFS/tools


建立软连接

ln -sv $LFS/tools /


不知道你有没有发现 许多命令之后都要加
-v
的选项, 也就是输出这条命令到底做了些什么。

因此不要图省事,在进行完一个动作时,看看命令是否达到预期效果了,往往比一门心思往下做收获的要多

然后就是建立编译LFS的用户, 按照4.4节的命令做即可

不用root用户是有原因的, 就是担心编译lfs过程中原系统出现问题,并不是说root用户就不能怎么的

groupadd LFS
useradd -s /bin/bash -g lfs -m -k /dev/null lfs


详细解释下每个参数

-s /bin/bash


指定一个shell

-g lfs


指定用户所在组

-m


home
目录建立自己的家目录

-k /dev/null


在这里的作用,是要防止创建3个文件,

相信大家也有人想得到:

.bash_logout
.bash_profile
.bashrc


我第一次做的时候是不知道的。因为没留心, 第二次才注意到
-k /dev/null


之后为lfs创建密码了

passwd lfs


别忘了许多文件,和下载的包都是
root
用户创建的,普通用户根本没有权限读取, 所以这里要进行一下处理,把文件所有者改为新建的用户lfs

chown -v lfs $LFS/tools`
chown -v lfs $LFS/sources`


而后切到lfs用户

su - lfs


这里要加
-
号的意味着你是真正以lfs用户登陆的,
man bash
中有详细解释, 百度也有,也有。。

而后编辑.bash_profile 和 .bashrc了, 这是当然了, 因为刚刚没让它生成嘛

cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF


cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH


想知道每句话什么意思吗? 好好看书, 博主也懒, 不翻译了。

就全当提高英语了

忍不住说两句 PATH的顺序是首先
/tools/bin
文件夹,

然后是
/bin
/usr/bin
而之前有
set +h
选项。

这是为了当一个工具编译安装结束之后(工具会安装道
/tools/bin
下),

系统会首先执行
/tolls/bin
下的二进制文件, 从一定程度上来说,

这是避免错误的有效方法。

书后面还接受了
make -j2
, 我这里不建议开这个选项,

这个看个人初衷

我是有亲身体会的, 在我首次编译
glibc
的时候出现make错误了,

其它暂时没有遇到, 不过对于新手来说,一次的错误很打击士气的。

多花点时间,顺顺利利的做下来就好了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux