OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

4.4. 设置环境‌

通过创建两个新的启动文件来建立一个良好的工作环境 打坏 贝壳。 以用户身份登录时 LFS, 发出以下命令来创建一个新的 .bash_配置文件:


cat > ~/.bash_profile << "EOF"

exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$' /bin/bash

EOF

cat > ~/.bash_profile << "EOF"

exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$' /bin/bash

EOF


以用户身份登录时 LFS, 初始外壳通常是一个 登录 外壳读取 / etc / profile 主机(可能包含一些设置和环境变量),然后 .bash_配置文件。 该 执行环境 -i.../bin/bash 在命令 .bash_配置文件 文件将运行的 shell 替换为一个完全空环境的新 shell,除了 主页, 学期PS1 变量。 这确保了来自主机系统的不需要的和潜在危险的环境变量不会泄漏到构建环境中。 这里使用的技术实现了确保清洁环境的目标。


外壳的新实例是 非登录 shell,它不读取 / etc / profile or .bash_配置文件

文件,而是读取 的.bashrc 文件代替。 创建 的.bashrc 现在归档:


cat > ~/.bashrc << "EOF"

设置 +h umask 022

LFS=/mnt/lfs LC_ALL=POSIX

LFS_TGT=$(uname -m)-lfs-linux-gnu PATH=/tools/bin:/bin:/usr/bin 导出 LFS LC_ALL LFS_TGT PATH EOF

cat > ~/.bashrc << "EOF"

设置 +h umask 022

LFS=/mnt/lfs LC_ALL=POSIX

LFS_TGT=$(uname -m)-lfs-linux-gnu PATH=/tools/bin:/bin:/usr/bin 导出 LFS LC_ALL LFS_TGT PATH EOF


这款 设置 +h 命令关闭 打坏的哈希函数。 散列通常是一个有用的功能——打坏 使用哈希表记住可执行文件的完整路径以避免搜索 PATH 一次又一次地找到相同的可执行文件。 但是,新工具应在安装后立即使用。 通过关闭散列函数,shell 将始终搜索 PATH 当程序要运行时。 因此,shell 会在 $LFS/工具 一旦它们可用而不会记住同一程序在不同位置的先前版本。

将用户文件创建掩码 (umask) 设置为 022 可确保新创建的文件和目录只能由其所有者写入,但可供任何人读取和执行(假设默认模式由 打开(2) 系统调用,新文件将以权限模式 644 结束,目录以模式 755 结束)。

这款 LFS 变量应设置为所选的挂载点。

这款 LC_ALL 变量控制某些程序的本地化,使其消息遵循指定国家/地区的惯例。 环境 LC_ALL 到“POSIX”或“C”(两者是等价的)确保一切都在 chroot 环境中按预期工作。

这款 LFS_TGT 变量设置了一个非默认但兼容的机器描述,以在构建我们的交叉编译器和链接器以及交叉编译我们的临时工具链时使用。 更多信息包含在第 5.2 节“工具链技术说明”中。

通过将 /工具/垃圾箱 领先于标准 PATH, 第 5 章中安装的所有程序在安装后都会立即被 shell 选中。 这与关闭散列相结合,限制了当相同程序在第 5 章环境中可用时从主机使用旧程序的风险。

最后,为了让环境为构建临时工具做好充分准备,请获取刚刚创建的用户配置文件:


源〜/ .bash_profile

源〜/ .bash_profile


OnWorks 的顶级操作系统云计算: