如何在CentOS上搭建chroot环境

chroot环境可以用来在一个完整的大文件系统上运行另外一个虚拟的文件系统。可使用它来实现许多功能,比如生成虚拟共享主机账号。每个用户的账号与一个chroot环境一一对应,用户可使用此chroot内安装的Linux发行版的整个文件系统,但是不能触及外层的大文件系统。(译者使用chroot调试程序^_^)。

使用Red Hat和CentOS系统的安装包管理器yum,非常容易创建一个chroot环境。步骤如下:

1. 新建一个chroot的目录,例如:

mkdir -p /var/jail/chroot

2. 要搭建chroot环境,首先需要初始化rpm数据库。

mkdir -p /var/jail/chroot/var/lib/rpm
rpm --rebuilddb --root=/var/jail/chroot

3.为节省时间,可以手动下载CentOS的发行包,使用rpm命令安装:

wget http://mirror.centos.org/centos/6/os/i386/Packages/centos-release-6-0.el6.centos.5.i686.rpm (或者你想使用的任何版本)
rpm -i --root=/var/jail/chroot --nodeps centos-release-6-0.el6.centos.5.i686.rpm

4. 使用YUM工具安装CentOS发行版的其余包到虚拟的chroot环境。

yum --installroot=/var/jail/chroot install -y rpm-build yum

5. 最后,整个过程结束以后(这将花费一段时间),你就可以初始化chroot,尝试新系统了:

chroot /var/jail/chroot

如果一切正常,你已经有了一个相对简单的可运行的chroot环境。但是,如果你想实际使用此环境,还需要其它一些重要的文件系统必要组件,比如/proc和/dev.关于此可按照以上链接中的指示操作。

译者增加:proc文件加载脚本,判断proc文件是否已经加载,未加载调用mount:

mount -l | grep "/var/jail/chroot/proc" > /dev/null
if [ $? != 0 ]
then
   sudo mount -t proc chroot_proc /var/jail/chroot/proc/
fi


PS:发现原文网址已不可访问,贴出来供参考:

How to Build a Chroot Environment in CentOS


The purpose of a chroot jail is to allow you to run a virtual file system within a larger one. You can use it for any number of reasons, including virtual shared hosting accounts. The user whose login account is associated with a chroot jail can use an entire virtual Linux distribution within the jail, but that user cannot navigate beyond the jail into the larger system.

Using YUM, the Red Hat and CentOS package manager, it is relatively easy to create a chroot jail. Just follow these steps.

1. Create a directory to house your chroot jail. For example:

mkdir -p /var/jail/chroot
2. To setup the chroot environment, you need to initialize the rpm database.

mkdir -p /var/jail/chroot/var/lib/rpm
rpm --rebuilddb --root=/var/jail/chroot
3. To save time, you can manually install the CentOS release package:

wget http://mirror.centos.org/centos/6/os/i386/Packages/centos-release-6-0.el6.centos.5.i686.rpm (or whichever version you are using)
rpm -i --root=/var/jail/chroot --nodeps centos-release-6-0.el6.centos.5.i686.rpm
4. Use YUM to install the rest of the CentOS distribution into your little virtual jail.

yum --installroot=/var/jail/chroot install -y rpm-build yum
5. Finally, when that process is finished (it will take some time), you can initiate chroot and try out the new system:

chroot /var/jail/chroot

If all goes well, you should have a relatively simple working chroot installation. Assuming you actually want to make the installation usable, you will need to add some other important file system necessities such as /proc and /dev. Follow the instructions in the above link for more help with this.



猜你喜欢

转载自blog.csdn.net/sinat_20184565/article/details/80236698
今日推荐