第二步:创建文件系统;
我们可以创建为ext3、fat32或reiserfs等文件系统,创建文件系统,请参考:《存储设备分区操作及文件系统管理概述》
[root@localhost ~]# /sbin/mkfs.ext3 slack.img |
[root@localhost ~]# mkdir /mnt/slack |
第四步以后和物理硬盘操作基本相同,省略过去;
6、有关软件包rpm、tgz、deb等软件包提取;
发行版都有一定的软件包格式,比如 file.rpm 、file.deb或file.tgz或file.tar.gz等;rpm格式的软件包,一般基于Redhat或Fedora为基础开发的都采用RPM格式。因为chroot安装操作系统,首要的是从一个软件包中提取文件,然后复制到文件系统中,所以提取文件工具也得做一点解说;
6.1 从rpm软件包抽取文件;
操作的前提是得有rpm的管理工具,也就是说得有rpm等相关命令;
命令格式: rpm2cpio file.rpm |cpio -div
举例:
[root@localhost RPMS]# rpm2cpio gaim-1.3.0-1.fc4.i386.rpm |cpio -div |
抽取出来的文件就在当用操作目录中的 usr 和etc中;
其实这样抽到文件不如指定安装目录来安装软件来的方便;也一样可以抽出文件;
为软件包指定安装目录:要加 -relocate 参数;下面的举例是把gaim-1.3.0- 1.fc4.i386.rpm指定安装在 /opt/gaim 目录中;
[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm |
这样也能一目了然;gaim的所有文件都是安装在 /opt/gaim 中,我们只是把gaim 目录备份一下,这样其实也算提取文件的一点用法;
6.2 file.tgz、file.tar.gz和file.tar.bz2的提取;
|
6.3 file.deb的提取;
[root@localhost ~]# ar x file.deb |
file.deb通过ar x 来解包,然后再把data.tar.gz解开就看到相关的目录和文件了;
6.4 file.iso文件的提取;
这样的文件在Linux主要通过mount -o loop file.iso 挂载地址;比如 ;
[root@localhost ~]# mount -o loop slackware-10.2-install-d1.iso /mnt/cdrom/ |
6.5 提取文件相关参考;
《文件解压缩》
《RPM 的介绍和应用》
http://debian.linuxsir.org
http://slack.linuxsir.org
7、chroot 成功切入新的操作系统后的软件安装问题补充;
如果通过chroot能进入新安装的操作系统,我们就可以新操作系统的软件包管理工具来安装其它软件包了,比如 Slackware 用的是pkgtool 或installpkg工具;Fedora 用的是 rpm 等工具;大多发行版所用的工具不尽相同,以发行版为准 ;
8、关于本文;
在去年的时候就想写此文,随着时间的推移,今天想起来的事情可能明天就忘的差不多了,所以用到 chroot的时候就想写,用不到的时候就把写文档的事扔到一边。今天正好写关于Xen的文档,也恰恰用到chroot方式安装新的操作系统,所以“被迫”中写了一篇。虽然涉及chroot的功用少了点,但大体上还是把chroot说了差不多了;可能本文的名字有点不符合,我也不知道用什么命名标题不好。慢慢修正中... ...