《Linux From Scratch》第三部分:构建LFS系统 第六章:安装基本的系统软件- 6.4. 进入 Chroot 环境

简介:

         现在可以切换到 chroot 环境开始构建和安装最终的 LFS 系统了。以 root 用户运行下面的命令进入这个“空间”,目前,里面只入住了之前准备的临时工具:

chroot "$LFS" /tools/bin/env -i \
    HOME=/root                  \
    TERM="$TERM"                \
    PS1='\u:\w\$ '              \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
    /tools/bin/bash --login +h

env 命令传递 -i 选项会清除这个 chroot 切换进去的环境里所有变量。随后,只重新设定了 HOMETERMPS1PATH 变量。TERM=$TERM 语句会设定 chroot 进入的环境里的 TERM 变量为进入前该变量同样的值。许多程序需要这个变量才能正常工作,比如 vimless。如果还需要设定其他变量,比如 CFLAGSCXXFLAGS,就在这里一起设定比较合适。

从这里以后,就不再需要 LFS 变量了,因为后面所有工作都将被限定在 LFS 文件系统里。这是因为我们已经告诉 Bash 终端 $LFS 就是当前的根目录(/)。

请注意 /tools/bin 放在了 PATH 变量的最后。意思是在每个软件的最后版本编译安装好后就不再使用临时工具了。这还需要让 shell 不要“记住”每个可执行文件的位置—这样的话,还要给 bash 加上 +h 选项来关闭其哈希功能。

注意一下 bash 的提示符是 I have no name!。这是正常的,因为这个时候 /etc/passwd 文件还没有被创建。

[Note]

注意

非常重要,本章从这以后的命令,以及后续章节里的命令都要在 chroot 环境下运行。如果因为某种原因(比如说重启)离开了这个环境,请保证要按照 6.2.2,“挂载和激活 /dev”6.2.3,“挂载虚拟内核文件系统”里所说的那样挂载虚拟内核文件系统,然后在继续构建之前重新运行 chroot 进入环境。

相关文章
|
5天前
|
Ubuntu 安全 Linux
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
38 1
|
12天前
|
资源调度 JavaScript 搜索推荐
Linux系统之部署envlinks极简个人导航页
【4月更文挑战第11天】Linux系统之部署envlinks极简个人导航页
52 2
|
13天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
37 6
|
1天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
33 2
|
1天前
|
缓存 Linux
linux系统缓存机制
linux系统缓存机制
|
2天前
|
存储 Linux Android开发
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
15 0
|
2天前
|
Linux 开发工具 Android开发
Docker系列(1)安装Linux系统编译Android源码
Docker系列(1)安装Linux系统编译Android源码
4 0
|
3天前
|
资源调度 JavaScript Ubuntu
Linux系统之部署briefing视频聊天系统
【4月更文挑战第21天】Linux系统之部署briefing视频聊天系统
37 2
|
4天前
|
Linux Perl
Linux系统替换字符串常用命令
请注意,`sed`命令可以非常强大,可以根据不同的需求使用不同的选项和正则表达式来进行更复杂的字符串替换操作。
16 0
|
8天前
|
运维 网络协议 Unix
18.系统知识-Linux常用命令
18.系统知识-Linux常用命令