关联文章:
从LFS到自己的Linux发行版—系列教程之一:一步一步带你体验LFS8.2
LFS技术细节解析(1):Linux shell硬盘自动分区脚本详解
前言
LFS──Linux from Scratch时,多次需要人机交互才能进行下去,例如新增加的用于LFS的硬盘的分区、在宿主机中lfs用户密码设置等。如果过程中完全按照LFS手册,那么我们必须等在电脑旁及时回复shell的询问,否则LFS就无法进行下去,完全无法做到无人值守LFS。
我在:一步一步带你体验LFS8.2一文中,之所以做到了完全无人值守LFS,关键修改了需要人机对话时LFS手册中的部分 shell命令,利用了echo
命令的输入功能。
LFS硬盘自动分区
详见上一篇文章:Linux shell硬盘自动分区脚本详解。核心内容,使用echo
命令实现shell命令fdisk
需要的人机交互:
echo "" | fdisk /dev/sdb
宿主机中lfs用户密码设置
一步一步带你体验LFS8.2一文中,在设置宿主机lfs用户密码时,为了实现在代码中预置密码123456进行自动人机交互,增加了下面一行代码(详见该文中的LFS代码LFS_code-3.1.3第71行):
echo "lfs:123456" | chpasswd
之于shell命令echo
用于自动人机交互的细节,见上一篇文章Linux shell硬盘自动分区脚本详解。
LFS系统root用户密码设置
一步一步带你体验LFS8.2一文中,在编译shadow过程中设置LFS系统root用户密码时,为了实现在代码中预置密码asd123asd进行自动人机交互,增加了下面一行代码(详见该文中的LFS代码LFS_code-3.1.3第1574行):
echo "root:asd123asd" | chpasswd
结语
Linux shell命令echo
是一个功能强大的输入输出命令,大多数作为输出命令用于显示或者输出到文件,例如(详见该文中的LFS代码LFS_code-3.1.3第100行、1786行):
echo $LFS
echo "127.0.0.1 localhost $(hostname)" > /etc/hosts
Linux shell命令echo
在用于输入时也有强大的功能,一步一步带你体验LFS8.2一文中就是利用echo
命令强大的输入功能来实现自动人机交互的。