当前位置:  技术问答>linux和unix

如何挂载一个压缩的映像文件?

    来源: 互联网  发布时间:2016-09-25

    本文导语:  我打算弄一个100MB以内的linux,使用的是slitaz linux为原版进行修改。。。 其grub引导为: kernel (hd0,0)/boot/bzImage  initrd (hd0,0)/boot/rootfs.gz 整个系统压缩成rootfs.gz,大小就30MB 我们都知道,这些微型linux 例如puppy等linux...

我打算弄一个100MB以内的linux,使用的是slitaz linux为原版进行修改。。。
其grub引导为:
kernel (hd0,0)/boot/bzImage 
initrd (hd0,0)/boot/rootfs.gz

整个系统压缩成rootfs.gz,大小就30MB


我们都知道,这些微型linux 例如puppy等linux,都是通过initrd模式启动的。。。他吧整个系统都弄成一个镜像(rootfs.gz),然后通过initrd启动。。这样子不单可以节约空间(镜像可以是压缩的),而且,启动解压是存放在内存里面。。。。可以说是一个内存上运行的系统。。

问题出现了,在这些内存运行上的系统里面,你所修改的文件,编写的文件,修改过后的etc里面的配置文件,一旦重启,你所修改的东西会无效,因为,重启,依然会解压rootf.gz。。。。

/////////////////////这样子是不行的///////////////////////////////
当然,我们可以讲这个系统完全解压到一个硬盘分区来运行。。不通过initrd,直接启动内核就可以了。。
也就是直接kernel (hd0,0)/boot/bzImage rw root=/dev/hda1 就可以启动了。。
而且,一切的修改,都基于硬盘,也得以保存。。
但是,这样子的系统,却用上了300MB以上的空间。。非常大!!比起原来的30MB大得多了。。。
//////////////////////////////////////
所以,只能继续采用压缩的方式但是,又要解决文件保存。

为了解决自己修改后的文件,或者自己编写的文件得以保存。我修改过rootf.gz里面的etc里面的fstab,把/home。挂载到硬盘上的某个分区里面,那么,当运行这个rootfs.gz系统,在普通用户目录下的文件得以保存,因为是记录在硬盘的分区,,同理,其他一些目录一样可以挂载到其他分区。。。
这个倒是实现了。。。也很简单。。虽然,可以解决普通用户的文件得到保存,其实,同理,root用户也可以。。但是,那些etc目录就应该不能这样子了。。

对于rootfs.gz。。。里面,就/usr这个目录占用了95%的空间,ok

下面我打算采取如下的思路:
除/usr目录采用压缩方式外,其他的目录直接存放在硬盘上:::这样子用的空间很少的。。。。不到10MB,而压缩的/usr也就25MB

接着,由于/usr目录很大,讲之压缩成一个镜像文件。空间不用30MB。。。这样子,整一个系统不到50MB 比300MB的少多了。
然后,系统启动的时候,mount这个镜像文件 
这样子,就方案来说应该可以的。。但是,可行性是一个问题。。。

我试着将/usr目录弄成压缩的镜像,通过initrd启动,但是失败了(个人认为,这个方法应该可以,也许是我弄少某些地方)(ps:我看别人的xpud Linux通过这种方式成功挂载opt目录,但是,具体的实现方式找不到。。。)

为了测试可行性,我不弄成一个压缩文件 ,先弄成一个iso镜像文件
在机器启动的时候,自动mount这个iso镜像。。。可是,提示error while loading share library :file too short

如果我不让之mount这个iso镜像的话,可就提示can 't not find ***file 

自动mount这个iso镜像后,就提示files too short 

我在想,是不是iso不能写的缘故呢??上网找了资料,好像也不管用。

ps:我个人认为,mount这种方式应该可行的。。

因为,我将mount命令是添加在initial里面的,也就是,内核加载完后,就读取这个ini了。。那么,我这个mount是添加第一行。一开始就直接mount了。所以,当系统需要调用/usr里面的文件的时候,不会提示找不到文件的。。。上面的iso加载实践也应该说明这一点。

但是,弄到现在,我的问题还在起步。好像没什么进展。。。郁闷。

|
lz的需求是既要压缩,又要可读写

还不如从减少文件体统本身的体积做起
你这300M迟早都要占地方的,要么占内存,要么占硬盘,最后总是要占好大一片空间的

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • mount命令(linux操作系统)挂载卸载文件系统(cifs,光驱,nfs等)方法介绍
  • 两块硬盘能不能同时挂载在同一个挂载点!!!
  • 系统启动到挂载根档案的时候出现错误,无法挂载根档案。高手进!!!在线等。
  • 在rc.local里mount /dev/sda5 /media/d 增加挂载windows磁盘的命令。开机后挂载成功了,在桌面上出现了一个硬盘图标。
  • 关于linux分区挂载的问题
  • linux的u盘挂载问题
  • 挂载,关于fstab的格式问题
  • 挂载光驱的问题
  • 挂载文件系统后无法正常打印信息
  • hi 在Linux下 挂载u盘
  • SOLARIS 如何把新的硬盘如何挂载
  • 为什么挂载的分区重启后就卸载呢????
  • 关于usb挂载的问题!
  • 问一个关于挂载u盘的问题?
  • 挂载文件系统的问题
  • 利用 mount 函数 如何 挂载 ntfs 分区,如何调用(不是命令,是 MOUNT 函数)
  • 还是关于挂载的!在问问
  • linux挂载硬盘
  • 挂载新分区
  • 分区挂载问题!
  • 利用 mount 函数 如何 挂载 USB 设备 ntfs 分区?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3