LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 839|回复: 8

lfs5.0第六章 修改过的chroot命令 遇到问题!

[复制链接]
发表于 2005-3-4 10:12:54 | 显示全部楼层 |阅读模式
lfs5.0第六章 修改过的chroot命令 遇到问题,现象如下:

root:/# chroot $LFS /usr/bin/env -i \
> HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
> PATH=/bin:/usr/bin:/sbin:/usr/sbin \
> /bin/bash --login
chroot: cannot change root directory to /usr/bin/env: Not a directory


不知是何原因,请大虾、斑竹指点!!
发表于 2005-3-4 12:10:21 | 显示全部楼层
你需要先加载LFS这个变量才可以chroot.
[root@LFS mnt]#export LFS=/mnt/lfs
[root@LFS mnt]#echo $LFS
/mnt/lfs
[root@LFS mnt]#chroot $LFS /usr/bin/env -i \
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-4 12:44:49 | 显示全部楼层
我试试,我过去加载过的啊?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-4 15:00:08 | 显示全部楼层
6692975大虾:

      我看了看前面的文档,在第六章“进入chroot(虚拟根)环境”一节,说“从现在开始,$LFS变量就不再需要了,因为现在shell已经把 $LFS 看成 / ,也就是chroot命令的第一个参数。”
      我现在“修改过的chroot命令”一节,已经是在chroot环境中的,所以我echo $LFS没有这个环境变量。现在我应该退出这个环境,到主系统的lfs用户下运行这个 "chroot $LFS /usr/bin/env -i \",还是我直接把$LFS改为/mnt/lfs就可以了,不知到不退出有没有影响,还需要检查proc 和 devpts 文件系统的加载吗?
    另:要退出环境用什么命令?:)————
回复 支持 反对

使用道具 举报

发表于 2005-3-4 15:15:55 | 显示全部楼层
哦,你已经到那了阿,恭喜,恭喜
上面那段话意思是在chroot后,/mnt/lfs就成了chroot后的主目录/

但是当你在主系统再次要chroot时用修改后的chroot命令,这时$LFS是等于/mnt/lfs的

或者干脆就把 chroot $LFS /usr/bin/env -i \改成:
chroot /mnt/lfs /usr/bin/env -i \
这样就不会有疑惑了吧。

重启后chroot,需要再次加载/proc devpts
其实不加载也没什么关系,加载下也是好的  
退出环境用logout,exit或者干脆关掉终端(假如你在X环境下)
回复 支持 反对

使用道具 举报

发表于 2005-3-17 21:05:28 | 显示全部楼层
兄弟,你解决了没有!我也碰到了这样的问题,我看了一下我这个文档都没有安装env这个命令啊.怎么回事呢?
回复 支持 反对

使用道具 举报

发表于 2005-3-17 21:07:57 | 显示全部楼层
http://oldsite.linuxaid.com.cn/download/training/chapt5.htm

我在网上查了一下,这个版本怎么好象还要安装Shellutils--这个软件里面有env命令?你们安装了吗?

安装Shellutils
Sh-utils的安装

在安装Sh-utils之前,必须首先将sh-utils打包文件解包:

    patch -Np1 -i ../sh-utils-2.0.patch &&
    ./configure --prefix=$LFS/usr --disable-nls &&
    make LDFLAGS=-static &&
    make install &&
    cd $LFS/usr/bin &&
    mv date echo false pwd stty $LFS/bin &&
    mv su true uname hostname $LFS/bin

内容

Shellutils包含basename、chroot、date、dirname、echo、env、expr、factor、false、groups、hostid、hostname、id、logname、nice、nohup、pathchk、pinky、printenv、printf、pwd、seq、sleep、stty、su、tee、test、true、tty、uname、uptime、users、who、whoami和yes程序。
回复 支持 反对

使用道具 举报

发表于 2005-3-17 21:14:12 | 显示全部楼层
那是以前的包,现在都到coreutils里面了。
回复 支持 反对

使用道具 举报

发表于 2005-3-17 21:17:16 | 显示全部楼层
恩,谢谢,问题解决了
刚刚也查到了
好象是以前安装coreutils的时候忘了make install了
再次谢谢tram兄弟
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表