Fedora镜像文件的解压和提取(2)
时间:2010-09-22 来源:mydear
我们会发现我们下载的Fedora基础系统的Fedora映像文件体积太小。体积小空间就小的了。Fedora 5.0如果只安装基础系统,倒占用不了多少空间,如果再安装一个桌面环境可能会占用大一点的地方。比如安装GNOME或KDE。
我们可以自己创建一个Fedora映像文件,创建好文件系统。然后从我们下载下来的Fedora映像文件中的所有文件,也就是Fedora的基础系统,复制到我们新创建的映像中。前面已经说过创建Fedora映像文件的办法了。这个应该好办吧。
- [root@localhost ~]# dd if=/dev/zero of=fc5.img bs=2k seek=2048k count=1
- [root@localhost ~]# ls -lh fc5.img
- -rw-r--r-- 1 root root 4.1G 2006-04-13 11:22 fc5.img
- [root@localhost ~]# /sbin/mkfs.ext3 fc5.img
- mke2fs 1.38 (30-Jun-2005)
- fc5.img is not a block special device.
- Proceed anyway? (y,n) y
- [root@localhost ~]# mkdir /mnt/tmp 注:在/mnt/中创建tmp目录
- [root@localhost ~]# mkdir /mnt/fedora 注:在/mnt中创建fedora目录
- [root@localhost ~]# mount -o loop fc5.img /mnt/fedora/ 注:挂载我们新创建的fc5.img文件到 /mnt/fedora
- [root@localhost ~]# mount -o loop fedora.fc5.img /mnt/tmp/ 注:挂载我们下载下来的Fedora映像文件到/mnt/tmp
- [root@localhost ~]# cp -rp /mnt/tmp/* /mnt/fedora/ 注:复制Fedora基础系统到新的Fedora映像文件;
- [root@localhost ~]# umount /mnt/tmp 注:卸载 fedora.fc5.img ;
- [root@localhost ~]# umount /mnt/fedora 注:卸载fc5.img
然后就是改一改引导Fedora 5的配置文件,注意改一下disk:那行;要到fc5.img指定进去。要仔细看一下fc5所处的目录;这个应该好办,不多说了;
强制终止正在运行的虚拟操作系统;(重要)
在xm这个管理工具中,我们把xm destroy 单列出来,就是因为这个工具是极为重要的;有时被虚拟的系统一直退不出去,但由于启动过程中遇到问题,又不能终止。这时我们要用到这个工具强制被虚拟的系统退出。
- [root@localhost ~]# xm list
- Name ID Mem(MiB) VCPUs State Time(s)
- Domain-0 0 586 1 r----- 2236.5
- fc5 1 128 1 -b---- 13.7
- [root@localhost ~]# xm destroy 1
- 或
- [root@localhost ~]# xm destroy fc5
这时您再用xm list查看,肯定fc5这个Domain已经退出。xm destroy 这个指令还是极为有用的,所以我们单列出来。希望新手弟兄注意一下。
关于基础系统安装后,虚拟操作系统的软件补充安装;
基础系统安装好以后,下一步就是其它软件的安装。在各个系统都有软件包管理工具; 在主流发行版中,都有相应的软件包管理工具,比如Fedora有rpm 和yum 工具;Debian有 apt工具。
或者通过chroot来安装一些比较重要的软件包。总之方法太多了;总之,后续软件的补充安装并不是什么问题;
关于虚拟操作系统的桌面访问及远程访问;
被虚拟的操作系统,我们要把它看成一台独立运行的计算机。计算机与计算机之间通过什么访问来?ssh 或vnc。所以我们要在被虚拟的操作系统上安装vncserver 和sshd;如果您虚拟的是Fedora ,我们可以在Fedora中执行yum install vnc来安装vncserver ;
#yum install vnc如果您虚拟的是 Debian ,您可以用apt-get install vncserver 来安装vncserver ;#apt-get install vncserver当然客户端也要安装vncview才行,您要自己在客户端上安装vncview;关于vnc远程桌面的访问,您可以参考这篇: 《Fedora Core 5.0 用 Xen 虚拟Slackware 10.2》
另外sshd服务器,也要安装openssh 的软件包;这个也省略不说了,比较简单,再说目前大多基础系统已经提供这个软件包了。并且在被虚拟的系统在启动时,sshd也自动运行了;连接sshd服 务器的命令是;#ssh 用户名@ip 比如 #ssh [email protected]
常见问题处理;
1 不能找到root分区;表现如下症状;
- VFS: Cannot open root device "sda8" or unknown-block(2,0)
- Please append a correct "root=" boot option
- Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
引导虚拟操作系统的配置文件有问题,主要查看disk:那行和root那行是否用的是一个虚拟映射点。 比如是由于引导Fedora 的配置文件中disk行和root行如下:
- disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']
- root = "/dev/sda8 ro"
我们发现/dev/hda5被虚拟映射到/dev/sda1了。也就是说,被虚拟的操作系统引导运行,它的root应该位于/dev/sda1。而在这里定义的却是/dev/sda8。所以应该改为
- disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']
- root = "/dev/sda1 ro"
2 出现/tmp/.ICE-unix 类似的错误;
chown: changing ownership of `/tmp/.ICE-unix': Read-only file system 再比较/tmp/xxxx之类的不能写入,只读之类的,请用xm destrony 先关掉被虚拟的操作系统。然后把被虚拟的系统的分区或Fedora映像文件挂载,删除/tmp目录中的临时文件。注意.file是隐藏的。您可以通过ls -la来查看。然后再来删除;
另外如果一直出现这个错误,说明文件系统有问题了,这在ext3的文件系统中是经常发生的。您可以用/sbin/fsck.ext3 工具来修复文件系统。当然您的文件系统不能处于挂载状态。应该先umout 才能进行;
比如修复一个分区,应该类似如下的命令;[root@localhost ~]# /sbin/fsck.ext3 /dev/hda5 如果中间遇到是否修复时,按提示的就是y或yes吧;如果被虚拟的文件系统位于一个Fedora映像文件,也是用这种办法,比如: [root@localhost ~]# /sbin/fsck.ext3 fc5.img
3 Device 0 (vif) could not be connectedWarning: The nics option is deprecated. Please use an empty vif entry instead:vif = [ '' ]Error: Device 0 (vif) could not be connected. Hotplug scripts not working.如果出现上面这种错误,应该看一下配置文件中有没有 vif=['']的定义;