【Fedora core 7.0】给CDLinux增加包的方法

CDLinux的增加包的方式,也是非常简单的,采用这种方式,可以让只读介质能够正常维持运行系统,或者让可读写的介质实现防掉电功能;

原理:

先看下面这个实验:

#ls /tmp
orbit-root
#mount -t tmpfs /tmp /tmp

你在查看一下/tmp,会发现里面已经空空如也;

#ls /tmp
#touch /tmp/tttt
#ls /tmp
tttt
#umount /tmp
#ls /tmp/tttt
ls: 无法访问 /tmp/tttt: 没有那个文件或目录

这里我们会感到很奇怪,刚才建立的tttt文件怎么没了?其实并不奇怪,刚才建立的tttt文件是在内存中建立的,当卸载tmpfs文件系统后,内存中的东西并没有写到磁盘上,所以你查看磁盘的/tmp文件夹,当然没有 tttt文件了。

我们这里的包安装方式就是利用了这个原理,采用内存安装软件包的方式,来达到可读写介质防掉电的功能; 这里了我们就那/var/目录作为一个例子,这个目录并不能算作是一个软件,但是这个目录在你的系统起来之后,他必须是可读写的,否则 你会发现X运行不正常,甚至不能正常启动。这样的目录还有/etc, /tmp目录;这种目录就比较适合这种安装方式,因为这几个目录都有这几项共同需求:

  1. 目录所占空间并不大,压缩为tgz格式后,解压时间短;
  2. X启动后需要对这几个目录进行读写,否则运行不正常;

这两个共同的目的就让我们决定采用tgz格式的安装方式;他的安装和制作也是非常简单的,下面就拿/var目录作为例子,简单介绍一下。 首先制作var包:

#cd /
#tar -czvf var.tgz /var

添加安装脚本到/etc/rc.sysinit的set -m之后;之所以要添加到这里,是因为rc.sysinit启动脚本中的很多应用程序都要求/var可写,所以,必须要在运行这些应用程序之前就安装好/var目录;

安装脚本如下:

#mount -t tmpfs /var /var #将其置为可写;
#cd /#进入var.tgz所在目录;
#tar -zxpf var.tgz #解压安装;

之后系统就可以正常启动了,而且对var的任何操作和改变都不影响磁盘;如此对/tmp, /etc/等目录进行同样的操作之后,系统就可以达到真正的防掉电了。

 

你可能感兴趣的:(脚本,磁盘)