当前位置: 技术问答>linux和unix
RedHat下chroot的问题
来源: 互联网 发布时间:2015-09-20
本文导语: 我装的是RedHat9,但我以root身份执行/usr/sbin/chroot /home/myname test却显示/usr/sbin/chroot: test: No such file or directory,但是/home/myname下确实有test这个文件,这是为什么呢? 另外,在另一台Solaris机器上,以root身份运行chroot /home/my...
我装的是RedHat9,但我以root身份执行/usr/sbin/chroot /home/myname test却显示/usr/sbin/chroot: test: No such file or directory,但是/home/myname下确实有test这个文件,这是为什么呢?
另外,在另一台Solaris机器上,以root身份运行chroot /home/myname test,虽然没有像在Linux一样找不到文件,却出现ld.so.1:internal:malloc failedKilled,我用ldd test查test关联的动态链接库,却没有ld.so.1,但是我还是把这些库都拷贝到对应的文件夹中去了.请问我该如何解决这个问题?谢谢!
另外,在另一台Solaris机器上,以root身份运行chroot /home/myname test,虽然没有像在Linux一样找不到文件,却出现ld.so.1:internal:malloc failedKilled,我用ldd test查test关联的动态链接库,却没有ld.so.1,但是我还是把这些库都拷贝到对应的文件夹中去了.请问我该如何解决这个问题?谢谢!
|
/usr/sbin/chroot /home/pujian date
如果你的date是静态连接
命令如下
/usr/sbin/chroot /home/pujian /date -Rl /
不过linux自带的date是动态连接的
这时你就需要ldd 看看 他带的是什么库 拷贝过去
建议把date做成静态连接
如果你的date是静态连接
命令如下
/usr/sbin/chroot /home/pujian /date -Rl /
不过linux自带的date是动态连接的
这时你就需要ldd 看看 他带的是什么库 拷贝过去
建议把date做成静态连接
|
1、检查你的 /home/myname/test 是可执行的,并且 chroot 环境下有完整的依赖环境(包括动态加载的 so 等)或者 test 是一个静态链接的程序
2、不清楚 solaris 环境,但是在 Linux 环境中,ld.so.1 是一个特殊的 so,是系统用来加载其它 so 的工具。为什么会出现 internal: malloc failed Killed 我不清楚——看起来 quite serious problem。你的 test 是在 solaris 环境重新编译过的么?
2、不清楚 solaris 环境,但是在 Linux 环境中,ld.so.1 是一个特殊的 so,是系统用来加载其它 so 的工具。为什么会出现 internal: malloc failed Killed 我不清楚——看起来 quite serious problem。你的 test 是在 solaris 环境重新编译过的么?
|
你chroot以后,你的根目录就变为你的新目录了,
这样所有你的PATH中指向的程序就可能不存在了(因为根路径变了),
linux的shell执行程序的时候没有办法启动shell,所有提示文件找不到
欢迎访问我的个人网站 www.linuxc.net
这样所有你的PATH中指向的程序就可能不存在了(因为根路径变了),
linux的shell执行程序的时候没有办法启动shell,所有提示文件找不到
欢迎访问我的个人网站 www.linuxc.net
|
对要使用静态连接