关于chroot的简介,可以参考IBM开发者网站上的这篇理解chroot,本文演示了如何构造一个最简单的chroot环境,本文实验环境为CentOS 6.4 64bit。 [root@os ~]# dd if=/dev/zero of=123.img count=512K bs=20480[root@os ~]# /sbin/mkfs.ext3 123.img #格式化为

关于chroot的简介,可以参考IBM开发者网站上的这篇理解chroot,本文演示了如何构造一个最简单的chroot环境,本文实验环境为CentOS 6.4 64bit。

[root@os ~]# dd if=/dev/zero of=123.img count=512K bs=20480

[root@os ~]# /sbin/mkfs.ext3 123.img

#格式化为ext3时可能会提示123.img is not a block special device.不用管它,直接按y继续

[root@os ~]# mkdir /mnt/123

[root@os ~]# mount -o loop 123.img /mnt/123

[root@os ~]# chroot /mnt/123

chroot: failed to run command `/bin/bash': No such file or directory

发生了错误,看来chroot环境不存在/bin/bash(事实也的确不存在),那我们从真实系统里拷贝一个过去吧:)

[root@os ~]# mkdir /mnt/123/bin

[root@os ~]# cp -av /bin/bash /mnt/123/bin/bash

[root@os ~]# chroot /mnt/123

chroot: failed to run command `/bin/bash': No such file or directory

错误依旧,原因是因为/bin/bash需要调用相关的库,因新环境不存在相关的库文件,因此bash不能运行,从而报上述错误,解决方法是利用ldd /bin/bash查找到其所需要的运行库

[root@os ~]# for i in `ldd /bin/bash`;do echo $i;done |grep -v = |grep -v 0x |grep /|xargs ls -l

lrwxrwxrwx. 1 root root 10 Oct 23 18:25 /lib64/ld-linux-x86-64.so.2 -> ld-2.12.so

lrwxrwxrwx. 1 root root 12 Oct 23 18:25 /lib64/libc.so.6 -> libc-2.12.so

lrwxrwxrwx. 1 root root 13 Oct 23 18:25 /lib64/libdl.so.2 -> libdl-2.12.so

lrwxrwxrwx. 1 root root 15 Oct 22 22:44 /lib64/libtinfo.so.5 -> libtinfo.so.5.7

把如上这些库文件和软链接全部都拷入新环境

[root@os ~]# mkdir /mnt/123/lib64/

[root@os ~]# cp -av /lib64/ld-linux-x86-64.so.2 /lib64/ld-2.12.so \

> /lib64/libc.so.6 /lib64/libc-2.12.so /lib64/libdl.so.2 \

> /lib64/libdl-2.12.so /lib64/libtinfo.so.5 \

> /lib64/libtinfo.so.5.7 /mnt/123/lib64 \

> /mnt/123/lib64

……

然后再试一次

[root@os ~]# chroot /mnt/123

bash-4.1# 切换成功!

bash-4.1# ls 切换过来任何命令都无法使用!

bash: ls: command not found

bash-4.1# exit 也可按Ctrl + D键退出环境

exit

[root@os ~]#

参考资料:http://g.51cto.com/mike/45296

linux制作chroot环境,Linux构造chroot环境相关推荐

  1. linux制作大容量磁盘,Linux对超大容量磁盘进行分区

    最近在Linux上挂载磁盘阵列,需要对一个7T的盘阵进行分区并使用.这个磁盘阵列划分了一个分区(对于Linux来说找到一个/dev/sda设备,空间大小为7T),我想将它分为N个分区,挂载到系统的N个 ...

  2. linux制作一键恢复,Linux/Centos Mondo 一键部署、镜像恢复,快速部署

    1.环境准备 image.png 2.安装mondo curl -o /etc/yum.repos.d/mondorescue.repo ftp://ftp.mondorescue.org/rhel/ ...

  3. 制作u盘linux课程报告,制作U盘linux.doc

    制作U盘linux 制作U盘linux 科技进步到今天,软驱开始慢慢退出市场,取而代之的是优盘.优盘和软盘相比,不但在容量上要大很多,而且在速度上也快了许多.以往建在软盘上的Linux 由于受限于1. ...

  4. linux制作chroot环境,/chroot环境搭建 - 定制的小型文件系统

    服务器为RedHat5.5 root用户操作: 1.部署目录环境 创建一个目录,目录结构与实际的/目录结构类似 创建用户 useradd ppp passwd ppp 将chroot目录设置在/chr ...

  5. arm linux chroot,准备Kali Linux ARM chroot | Kali Linux

    虽然你能从下载区下载Kali ARM镜象但是有人更热衷于定制他们的Kali rootfs.如下展示一个制作Kali armhf rootfs的例子. 安装需要的软件和依赖 apt-get instal ...

  6. oracle linux 5.8安装oracle 11g rac环境之grid安装

    安装环境: 操作系统:oracle linux 5.8 64位 集群软件:linux.x64_11gR2_grid.zip 数据库:linux.x64_11gR2_database_1of1.zip, ...

  7. 通过chroot运行linux,通过chroot构建Linux操作系统

    通过chroot构建Linux操作系统 发布时间:2006-04-14 12:41:48来源:红联作者:翔翔 转贴:出处:天极网 在已有的Linux操作系统中,安装另一个开源操作系统,我们一般是先构建 ...

  8. Linux 之八 完整嵌入式 Linux 环境、(交叉)编译工具链、CPU 体系架构、嵌入式系统构建工具

      最近,工作重心要从裸机开发转移到嵌入式 Linux 系统开发,由于之前对嵌入式 Linux 环境并不是很了解,因此,第一步就是需要了解如何搭建一个完整的嵌入式 Linux 环境.现在将学习心得记录 ...

  9. 记:关于W806的Linux下基本教程(一)——环境建立与第一次烧写

    0x00 前言 本文主要在Linux下实现了对于联盛德的W806芯片的SDK相关的操作,包括但不限于指定烧写.擦除.编译. 技能 熟练度 Linux 熟悉 make 熟悉 C语言 熟悉 0x10 准备 ...

最新文章

  1. 5天玩转C#并行和多线程编程 —— 第四天 Task进阶
  2. linux使用nginx负载udp
  3. DPM2012保护sharepoint场
  4. php类使用自己的静态方法吗,php在类中使用静态方法有几种方式
  5. Became Jane(成为简.奥斯丁)
  6. mysql的压缩包安装_mysql 5.7.24 压缩包安装配置方法图文教程
  7. VUE-用到的样式左右(transform,translate,padding)
  8. spring Boot 学习(一、Spring Boot与缓存)
  9. simotion基本功能手册_深入浅出西门子运动控制器——SIMOTION实用手册(1CD)
  10. 全国省市区县json数据
  11. 纯CSS3代码制作六边形图形教程
  12. 数据库备份的方式有哪些
  13. Pixelmator for Mac(全能图像编辑软件)
  14. 对比安卓!鸿蒙OS 2.0流畅度实测:差距到底多大?
  15. 安卓编程用什么软件_如何用手机进行编程?有哪些值得推荐的软件?
  16. 证件照背景色怎么换白色?这两个小技巧要掌握
  17. 使用opencv和python实现图像的智能处理pdf_机器学习:基于OpenCV和Python的智能图像处理...
  18. raid中条带概念问题
  19. 一张学习规划图学透自动化测试
  20. python中如何求水仙花数_python如何求水仙花数?

热门文章

  1. JAR包命令解压以及再命令打包
  2. B - Friends
  3. linux ortp 编译,编译oRTP库
  4. 说说我心中的Linux系统
  5. ES6的Promise -- 逻辑执行的顺序
  6. weblogic-开发模式转变为生产模式生产模式转变为开发模式
  7. Lintcode1 A+B Problem solution 题解
  8. 利用 jQuery 克隆 Object
  9. Oracle收购Sun消化不良 Sun赢利困难 MySQL将何去何从
  10. 对话框下的菜单使用setCheck