http://my.oschina.net/taohong/blog/14530
对于 虚拟化,我们希望 共享虚拟光盘上的系统,每个虚拟机的 个性配置和数据在各自的虚拟硬盘上!这样我们只需维护 一个共享的系统和 各自的数据,这样虽然系统只读,不会感染病毒,但光盘不能更新,容易被攻击!进而我们想到用共享的只读虚拟硬盘存放系统。
而linux的系统结构要求etc、bin、sbin、lib必须在同一个分区(/),usr、var、home、boot等系统目录及自定义目录可以放在其他分区。这就要求我们必须从etc目录中分离出跟本机有关的文件或目录,或只保留能引导到挂载其他分区的一小部分,要动etc,必须精研初始化!
ubuntu的初始化一直在变,确实启动越来越快,但文档没能跟得上!辩证地看,对于字符界面的服务器来说,BSD风格的init脚本,更利于管理员跟踪!网上很多资料,太老了,基本没有参考价值!10.04的初始化用的是基于事件的upstart。
开始动手:
1、/etc复制到另一个分区/TaoHong/etc
2、精简/etc,经过两天实验,缺一个文件都启动不了,/etc只保留:
#ls -p /etc
default/ fstab group gshadow init/ mtab passwd shadow
3、修改fstab
/dev/sda1 / ext4 ro 0 1 # /根只读
/dev/sdb1 /TaoHong ext4 defaults 0 2
/TaoHong/etc /etc none bind # 增加此行,替换原/etc,相当于mount --bind /TaoHong/etc /etc
4、删除/etc/init/hostname.conf #实践证明,用下面第5步来 定义主机名
5、修改/etc/rc.local 增加一行 hostname -b -F /etc/hostname
6、把/etc/mtab变成软链接: ln -sf /proc/mounts mtab
经过以上精简,原/etc只剩下:2个目录,55个文件。
分析如下:
1、/etc/init/是 upstart的若干 作业定义文件,也就是网上说的 /etc/event.d(ubuntu10.04根本没有这个目录)。
2、当只保留fstab init/ mtab,重启后提示,缺少/etc/default/下的某个文件,添加它, /etc/default/都是默认 变量定义文件。
3、重启后提示,缺少组和用户数据库,添加group gshadow passwd shadow 。
4、这时已经用个性化的/etc,开始继续初始化,成功启动!
5、为了节省内存,可以删除原/etc/init/下的tty3--tty6,作为服务器,tty1和tty2足够了,当然tty7是自动的,你可以去看!
6、由于是事件驱动的init,/etc/init/下的若干 作业定义文件,除了mountall.conf总是第一个执行,其他执行的次序是变化的!这是我用了一天的时间,为每一个文件加了”签到“指令,实验出来的!
7、修改后,主机名是localhost,开始我分析是,upstart基于事件并发运行,mountall事件触发挂载fstab中的各个分区的动做还没有执行完, hostname.conf事件触发定义主机名 的动作并发运行,因此不能获得新/etc/hostname,于是我在/etc/init/hostname.conf文件中定义主机名之前加了延时,试验失败!好在办法总比问题多!无奈使用rc.local实现!
我把2.4内核+busybox做的防火墙,精简到软盘上,由于系统很小,文件很少,认真分析每一个文件,豁然开朗!
多编译几遍内核、busybox,LFS几遍,gentoo几遍,谁都能做发行版,再难的事成功做过一万次,对于你,还是难事吗?
分享到:
相关推荐
ubuntu10.04界面汉化安装包,deb格式。由于包的相互依赖,需用如下命令安装: #dpkg -i language-pack-zh-hans_1%3a10.04+20100421_all.deb language-pack-zh-hans-base_1%3a10.04+20100421_all.deb language-pack-...
VM7安装Ubuntu 10.04系统 VM7安装Ubuntu 10.04系统
Ubuntu 10.04完全版入门教程 包含Ubuntu安装,配置过程,以及shell编程等内容。 分两部分: Ubuntu 10.04完全版first part Ubuntu 10.04完全版second part
ubuntu10.04 安装 opencv2.2.0
官方的chrome 只支持12.04以上的版本,由于所需的库不同 ubuntu 10.04 只能用之前的版本
最近开始学习Linux操作系统,遇到了很多问题,走了不少弯路。 Linux的却比windows强大很多,但像我这样刚入门的,用起来却不那么顺手。就拿上网来说吧,我在网上查了...此方法只适用于Ubuntu10.04,低版本我没试过。
4月29日最新发布的Ubuntu10.04正式版,是有一个LTS长期支持的版本。
介绍最新版本Ubuntu10.04的安装,配置,shell编程等内容,快速入门提高的资料。 分两卷: Ubuntu10.04入门教程01 Ubuntu10.04入门教程02
安装Ubuntu10.04全过程(图解)
ubuntu10.04安装配置指南.docx
主要介绍了关于嵌入式开发的环境配置 开发环境是Ubuntu 10.04LTS
家里的老笔记本装了诸多新版Ubuntu均不稳定,最终还是装回了10.04,结果安装最新版的方式得到的最新版本已经不能兼容10.04了。于是上网找了Chrome稳定版本的历史版本,然后本地下载各种版本尝试安装,得到了最新可...
UBuntu 10.04 smb.conf UBuntu 10.04 smb.conf UBuntu 10.04 smb.conf UBuntu 10.04 smb.conf
一步一步教你如何子啊VM下安-ubuntu10.04的详细图文教程
ubuntu10.04能用的NFS离线安装包:nfs-kernel-server 1.2.0;nfs-commn1.2.0;portmap 6.0
ubuntu10.04北京交通大学的更新源,我这能飙到450K/s
少点分,这个是在别人的基础上得来的。只好弄少点分了。欢迎大家下载
一本很难得的自学书籍,自己看吧,很难得,不看后悔
介绍最新版本Ubuntu10.04的安装,配置,即shell编程等内容,快速入门提高的资料。 分两卷: Ubuntu10.04入门教程01 Ubuntu10.04入门教程02
Ubuntu10.04LTS图形安装教程、网络设置、软件源、硬盘安装参考.pdf