当前位置: 首页 > 文档资料 > SliTaz 中文手册 >

Chroot 环境

优质
小牛编辑
114浏览
2023-12-01

本文档叙述如何构建一个 chrooted 环境的必要步骤, 以改变系统根目录的位置. 这样在此chroot环境上编译测试就不会有影响到宿主系统的风险. 宿主系统可以是安装在硬盘上的Slitaz也可以是其他Linux发行版,如 Debian, Fedora, PCLinuxOS 等等. 要构建一个Chroot环境,你所需要的仅仅是一个可用的Slitaz ISO镜像和一点点时间. 注意所有命令都是以管理员(root)身份执行的。

注意 以下方法适用于所有Linux发行版,Slitaz的话,有更简便的方法,可以用tazlito extract-iso 解压 slitaz ISO镜像
参考:Slitaz光盘重制基本歩骤

准备阶段 (适用于所有Linux发行版)

开始之前,我们必须把Slitaz ISO里的Live系统解压出来作为chroot环境. 可以解压到任意位置, 比如 /home/slitaz/chroot-env. 这里假设slitaz ISO就在此目录。

挂载slitaz iso文件,拷贝里面的rootfs.gz至当前目录。

 # mkdir /tmp/loop
 # mount -o loop slitaz-cooking.iso /tmp/loop
 # mkdir -p /home/slitaz/chroot-env
 # cp /tmp/loop/boot/rootfs.gz \
   /home/slitaz/chroot-env
 # umount /tmp/loop

解压此rootfs.gz文件至当前文件夹

 # cd /home/slitaz/chroot-env
 # (zcat rootfs.gz 2>/dev/null || lzma d rootfs.gz -so) | cpio -id
 # rm rootfs rootfs.gz

若解压失败,请尝试一下方法解压。。

 # unlzma rootfs.gz -S .gz 
 # cat rootfs | cpio -id

改变根目录位置chroot

要使用此解压出来的系统,必须要挂载一些虚拟硬盘及使用chroot命令。 为了便利,我们写了个自动化脚本以完成这一步。 我们解压的系统在 /home/slitaz/chroot-env 新建一个脚本 chroot_in_env.sh 放在 /home/slitaz. 在非Slitaz系统下可以取消 /dev/tmp的注释 - 注意:可以复制粘贴一下内容..

 # cat > /home/slitaz/chroot_in_env.sh << "EOF" 

#!/bin/sh
# Chroot in SliTaz to hack.
#
ROOTFS="/home/slitaz/chroot-env"

# Mount virtual Kernel file systems and chroot.
#
#mount --bind /dev $ROOTFS/dev
#mount --bind /tmp $ROOTFS/tmp
mount -t proc proc $ROOTFS/proc
mount -t sysfs sysfs $ROOTFS/sys
mount -t devpts devpts $ROOTFS/dev/pts
mount -t tmpfs shm $ROOTFS/dev/shm

echo "Chrooting into $ROOTFS... "
chroot $ROOTFS /bin/sh --login

# Unmount virtual Kernel file systems on exit.
#
umount $ROOTFS/dev/shm
umount $ROOTFS/dev/pts
umount $ROOTFS/sys
umount $ROOTFS/proc
#umount $ROOTFS/tmp
#umount $ROOTFS/dev

echo "Exiting $ROOTFS chroot environment... "

EOF

修改脚本文件属性为可执行。

 # chmod +x /home/slitaz/chroot_in_env.sh
 # sh /home/slitaz/chroot_in_env.sh

激活网络。

 # udhcpc -i eth1 

安装 安装包

若可以上网的话,就可以用tazpkg get-install这个命令从仓库安装包了。

# tazpkg recharge
 # tazpkg get-install slitaz-toolchain 

配置好后,你就可以在宿主Linux下测试Slitaz系统了.Cookbook里会有更详细的说明。

Exit the environment

要退出chroot环境,只要输入exit就OK了。。

 # exit
 #

最后更新:

类似资料

  • 标准的 Python 发行版不会与 NumPy 模块捆绑在一起。 一个轻量级的替代方法是使用流行的 Python 包安装程序 pip 来安装 NumPy。 pip install numpy 启用 NumPy 的最佳方法是使用特定于您的操作系统的可安装的二进制包。 这些二进制包含完整的 SciPy 技术栈(包括 NumPy,SciPy,matplotlib,IPython,SymPy 以及 Pyt

  • 环境 shell编程跟java、php编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。 OS 当前主流的操作系统都支持shell编程,本文档所述的shell编程是指Linux下的shell,讲的基本都是POSIX标准下的功能,所以,也适用于Unix及BSD(如Mac OS)。 Linux Linux默认安装就带了shell解释器。 Mac OS Mac OS不仅带了

  • 你的应用程序可能需要大量的软件包才能正常的工作。如果都不需要 Flask 包的话,你有可能读错了教程。当应用程序运行的时候,你的应用程序的 环境 基本上是所有一切事情的根基。我们是幸运的,因为有许多方式使得我们能够轻松地管理我们的环境。 使用 virtualenv 管理你的环境 virtualenv 是用于在所谓 虚拟环境 中隔离你的应用程序的一个工具。一个虚拟环境是包含了你的应用依赖的软件的一个

  • 在我们开始编写Perl程序之前,让我们了解如何设置Perl环境。 Perl可在各种平台上使用 - Unix(Solaris,Linux,FreeBSD,AIX,HP/UX,SunOS,IRIX等) 赢9x/NT/2000/ WinCE Macintosh(PPC,68K) Solaris(x86,SPARC) OpenVMS Alpha(7.2及更高版本) Symbian Debian GNU/k

  • 要开始使用Koa框架进行开发,您需要安装Node和npm(节点包管理器)。 如果您还没有这些,请转到Node setup以在本地系统上安装节点。 通过在终端中运行以下命令,确认已安装节点和npm。 $ node --version $ npm --version 您应该收到类似于 - 的输出 v5.0.0 3.5.2 请确保您的节点版本高于6.5.0。 现在我们已经设置了Node和npm,让我

  • 在开始使用Rexx之前,您需要确保在系统上运行Rexx的全功能版本。 本章将介绍在Windows机器上安装Rexx及其后续配置以开始使用Rexx。 在继续安装之前,请确保满足以下系统要求。 系统需求 (System Requirements) Memory 2 GB RAM(推荐) 磁盘空间 没有最低要求。 优选地,具有足够的存储空间来存储将使用Rexx创建的程序。 操作系统版本 Rexx可以安装