系统共享、个性分离!

debian sid 版本测试成功,并优化了几十次,关键是伟大的 aufs!文档请参见我的另一篇日志  ubuntu10.04的初始化
  • 编辑/etc/initramfs-tools/initramfs.conf  dep模式
  • 编辑/etc/initramfs-tools/modules 包含aufs
  • 新建 /etc/initramfs-tools/scripts/local-bottom/share
    #!/bin/sh
    #为了几十个虚拟机共享一个母根文件系统,更新母机,几十个虚拟机自动更新! 
    if [ -b /dev/vdb ]; then
      BASE=/fsprotect
      [ -d $BASE ] || ( mkdir -m 700 $BASE || mkdir $BASE )
      [ -d $BASE/system ] || mkdir $BASE/system
      [ -d $BASE/tmp ] || mkdir $BASE/tmp
      [ -d $BASE/aufs ] || mkdir $BASE/aufs
      mount -n -t ext4 /dev/vdb $BASE/tmp ||exit
      echo -n Mounting aufs filesystem ...
      mount -n -o bind ${rootmnt} $BASE/system # 挂载共享的根文件系统
      mount -n -t aufs -o dirs=$BASE/tmp=rw:$BASE/system=ro none $BASE/aufs	#创建aufs
      umount ${rootmnt}	# 当掉共享的根文件系统         
      mount -n -o move $BASE/aufs ${rootmnt}	#使aufs成为根
      mount -n -o move $BASE/system ${rootmnt}$BASE/system	#移动到新根
      mount -n -o move $BASE/tmp ${rootmnt}$BASE/tmp
      echo done.
    fi
  • 使命令可执行:xhmod +x /etc/initramfs-tools/scripts/local-bottom/share
  • 执行 update-initramfs -u

  • 家目录新建th-setup 主机名 域名【一定注意带两个参数】
    #!/bin/bash
    #格式化用户盘、定义主机名、域名、正确获得网卡、初始化日志
    initlog()
    {
    	cd ${1}
    	:>${1}auth.log
    	:>${1}daemon.log
    	:>${1}debug
    	:>${1}lastlog
    	:>${1}messages
    	:>${1}syslog
    	:>${1}user.log
    	:>${1}wtmp
    
    	:>${1}fsck/checkfs
    	:>${1}fsck/checkroot
    }
    mkfs.ext4 -m 0 /dev/vdb #格式化用户盘 
    mount -t ext4 /dev/vdb /mnt
    cd /mnt
    mkdir -p etc/udev/rules.d var/log/fsck
    cd etc
    :>udev/rules.d/70-persistent-net.rules #正确获得网卡
    echo $1>hostname #主机名
    cat <<EOF >hosts #主机名 域名
    127.0.0.1 localhost
    127.0.1.1 $1.$2 $1
    
    # The following lines are desirable for IPv6 capable hosts
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    EOF
    initlog /mnt/var/log/ #初始化日志
    :>/mnt/root/.bash_history
    reboot

  • 使命令可执行:xhmod +x th-setup
  • 执行 ./th-setup

你可能感兴趣的:(系统共享、个性分离!)