zoukankan      html  css  js  c++  java
  • Oz 创建Ubuntu镜像

    参考链接:

    http://blog.csdn.net/gcogle/article/details/52767135
    http://tlinux.blog.51cto.com/7288656/1749749/
    http://blog.csdn.net/coolper/article/details/51279328
    https://github.com/dl528888/oz_create_openstack_image_templates
    http://lm3810.blog.51cto.com/846925/1860546/
    http://www.linuxidc.com/Linux/2017-10/147477.htm

    <template>
        <name>qemu-ubuntu1204</name>
        <os>
            <name>Ubuntu</name>
            <version>12.04</version>
            <arch>x86_64</arch>
            <install type='iso'>
                <iso>file:///data/md0/iso/ubuntu-12.04.5-server-amd64.iso</iso>
            </install>
            <rootpw>123123</rootpw>
        </os>
        <disk>
          <size>20</size>
        </disk>
        <description>Ubuntu 12.04 x86_64</description>
        <commands>
            <command name='install_qga'>
    cd /root
    tar xf qga.20171124.tar.gz
    cd qga
    bash -x ./install_qga_local.sh
            </command>
            
            <command name='console'>
    sed -i 's/splash//g' /etc/default/grub
    sed -i 's/quiet/console=ttyS0/g' /etc/default/grub
    /usr/sbin/update-grub
            </command>
            
            <command name='packages'>
    rm -rf /etc/apt/sources.list
    mv /root/sources.list /etc/apt/
    rm -rf /var/lib/apt/lists/*
    apt-get clean
    apt-get update
    apt-get -y upgrade
    apt-get -y install acpid
    apt-get -y install landscape-common
    apt-get -y install update-notifier-common
    apt-get -y install sysv-rc-conf
    apt-get -y install network-manager
    apt-get -y install cloud-init-*
    apt-get -y install cloud-utils-growpart
            </command>
            
            <command name='modify'>
    echo -n > /etc/udev/rules.d/70-persistent-net.rules
    echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules
    sed -i '/exit 0/d' /etc/rc.local
    echo "/usr/local/bin/nic_set_mq.sh > /tmp/nic_set_mq.log 2&gt;&amp;1" >> /etc/rc.local
    echo "exit 0">>/etc/rc.local
    echo 'blacklist intel_rapl' >> /etc/modprobe.d/modprobe.conf
    chmod +x /var/lib/cloud/scripts/per-boot/resetroot
    chmod +x /usr/local/bin/nic_set_mq.sh
    chmod +x /var/lib/cloud/scripts/per-instance/ssh.sh
    chmod +x /etc/rc.local
    rm -rf /etc/cloud/cloud.cfg
    rm -rf /etc/cloud/cloud.cfg.d/90_dpkg.cfg
    mv /root/cloud.cfg /etc/cloud/
    mv /root/90_dpkg.cfg /etc/cloud/cloud.cfg.d/
    cat >> /usr/local/bin/instance_init.sh &lt;&lt; EOF
    if [ ! -d /root/.ssh ]; then
      mkdir -p /root/.ssh
      chmod 700 /root/.ssh
    fi
            </command>
            
            <command name='services'>
    apt-get -y upgrade
    sysv-rc-conf acpid on
    sysv-rc-conf ufw off
    sysv-rc-conf network-manager on
    sysv-rc-conf cloud-init on
    sysv-rc-conf cloud-config on
    sysv-rc-conf cloud-final on
    sysv-rc-conf cloud-init-local on
    sysv-rc-conf qemu-guest-agent on
            </command>
            
            <command name='clear-logs'>
    rm -rf /root/*
    rm -rf /var/log/alternatives.log
    rm -rf /var/log/auth.log
    rm -rf /var/log/dpkg.log
    rm -rf /var/log/fontconfig.log
    rm -rf /var/log/boot.log
    rm -rf /var/log/syslog
    rm -rf /var/log/kern.log
    rm -rf /var/log/cloud-init.log
    rm -rf /var/log/cloud-init-output.log
    rm -rf /var/log/btmp
    rm -rf /var/log/wtmp
    rm -rf /var/log/yum.log
    rm -rf /var/log/lastlog
    rm -rf /var/log/installer/
    rm -rf /var/log/apt/
    rm -rf /var/lib/apt/lists/*
            </command>
        </commands>
    
        <files>
            <file name="/root/qga.20171124.tar.gz" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/qga.20171124.tar.gz
            </file>
            <file name="/var/lib/cloud/scripts/per-boot/resetroot" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/resetroot
            </file>
            <file name="/root/cloud.cfg" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/cloud.cfg_u1204
            </file>
            <file name="/usr/local/bin/nic_set_mq.sh" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/nic_set_mq.sh
            </file>
            <file name="/var/lib/cloud/scripts/per-instance/ssh.sh" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/ssh-ubuntu1204.sh
            </file>
            <file name="/root/sources.list" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/sources.cn.ubuntu.p.list
            </file>
            <file name="/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/99-disable-network-config.cfg
            </file>
            <file name="/root/90_dpkg.cfg" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/90_dpkg.cfg_u1204
            </file>
            <file name="/etc/default/grub" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/grub_ubuntu
            </file>
        </files>
    </template>
    ubuntu1204.tdl
    <template>
        <name>qemu-ubuntu1404</name>
        <os>
            <name>Ubuntu</name>
            <version>14.04</version>
            <arch>x86_64</arch>
            <install type='iso'>
                <iso>file:///data/md0/iso/ubuntu-14.04.5-server-amd64.iso</iso>
            </install>
            <rootpw>123123</rootpw>
        </os>
        <disk>
          <size>20</size>
        </disk>
        <description>Ubuntu 14.04 x86_64</description>
        <commands>
            <command name='install_qga'>
    cd /root
    tar xf qga.20171124.tar.gz
    cd qga
    bash -x ./install_qga_local.sh
            </command>
            
            <command name='console'>
    sed -i 's/splash//g' /etc/default/grub
    sed -i 's/quiet/console=ttyS0/g' /etc/default/grub
    /usr/sbin/update-grub
            </command>
            
            <command name='packages'>
    rm -rf /etc/apt/sources.list
    mv /root/sources.list /etc/apt/
    rm -rf /var/lib/apt/lists/*
    apt-get clean
    apt-get update
    apt-get -y upgrade
    apt-get -y install landscape-common
    apt-get -y install update-notifier-common
    apt-get -y install acpid
    apt-get -y install sysv-rc-conf
    apt-get -y install network-manager
    apt-get -y install cloud-init-*
    apt-get -y install cloud-utils-growpart
            </command>
            
            <command name='modify'>
    echo -n > /etc/udev/rules.d/70-persistent-net.rules
    echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules
    sed -i '/exit 0/d' /etc/rc.local
    echo "/usr/local/bin/nic_set_mq.sh > /tmp/nic_set_mq.log 2&gt;&amp;1" >> /etc/rc.local
    echo "exit 0">>/etc/rc.local
    echo 'blacklist intel_rapl' >> /etc/modprobe.d/modprobe.conf
    chmod +x /var/lib/cloud/scripts/per-boot/resetroot
    chmod +x /usr/local/bin/nic_set_mq.sh
    chmod +x /var/lib/cloud/scripts/per-instance/ssh.sh
    chmod +x /etc/rc.local
    rm -rf /etc/cloud/cloud.cfg
    rm -rf /etc/cloud/cloud.cfg.d/90_dpkg.cfg
    mv /root/cloud.cfg /etc/cloud/
    mv /root/90_dpkg.cfg /etc/cloud/cloud.cfg.d/
    cat >> /usr/local/bin/instance_init.sh &lt;&lt; EOF
    if [ ! -d /root/.ssh ]; then
      mkdir -p /root/.ssh
      chmod 700 /root/.ssh
    fi
            </command>
            
            <command name='services'>
    apt-get -y upgrade
    sysv-rc-conf acpid on
    sysv-rc-conf ufw off
    sysv-rc-conf qemu-guest-agent on
    sysv-rc-conf network-manager on
    sysv-rc-conf cloud-init on
    sysv-rc-conf cloud-config on
    sysv-rc-conf cloud-final on
    sysv-rc-conf cloud-init-local on
            </command>
            
            <command name='clear-logs'>
    rm -rf /root/*
    rm -rf /var/log/alternatives.log
    rm -rf /var/log/auth.log
    rm -rf /var/log/dpkg.log
    rm -rf /var/log/fontconfig.log
    rm -rf /var/log/boot.log
    rm -rf /var/log/syslog
    rm -rf /var/log/kern.log
    rm -rf /var/log/cloud-init.log
    rm -rf /var/log/cloud-init-output.log
    rm -rf /var/log/btmp
    rm -rf /var/log/wtmp
    rm -rf /var/log/yum.log
    rm -rf /var/log/lastlog
    rm -rf /var/log/installer/
    rm -rf /var/log/apt/
    rm -rf /var/lib/apt/lists/*
            </command>
        </commands>
    
        <files>
            <file name="/root/qga.20171124.tar.gz" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/qga.20171124.tar.gz
            </file>
            <file name="/var/lib/cloud/scripts/per-boot/resetroot" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/resetroot
            </file>
            <file name="/root/cloud.cfg" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/cloud.cfg_u1404
            </file>
            <file name="/usr/local/bin/nic_set_mq.sh" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/nic_set_mq.sh
            </file>
            <file name="/var/lib/cloud/scripts/per-instance/ssh.sh" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/ssh-ubuntu1404.sh
            </file>
            <file name="/root/sources.list" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/sources.cn.ubuntu.t.list
            </file>
            <file name="/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/99-disable-network-config.cfg
            </file>
            <file name="/root/90_dpkg.cfg" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/90_dpkg.cfg_u1404
            </file>
            <file name="/etc/default/grub" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/grub_ubuntu
            </file>
        </files>
    </template>
    ubuntu1404.tdl
    <template>
        <name>qemu-ubuntu1604</name>
        <os>
            <name>Ubuntu</name>
            <version>16.04</version>
            <arch>x86_64</arch>
            <install type='iso'>
                <iso>file:///data/md0/iso/ubuntu-16.04.3-server-amd64.iso</iso>
            </install>
            <rootpw>123123</rootpw>
        </os>
        <disk>
          <size>20</size>
        </disk>
        <description>Ubuntu 16.04 x86_64</description>
        <commands>
            <command name='install_qga'>
    cd /root
    tar xf qga.20171124.tar.gz
    cd qga
    bash -x ./install_qga_local.sh
            </command>
            
            <command name='console'>
    sed -i 's/splash//g' /etc/default/grub
    sed -i 's/quiet/console=ttyS0/g' /etc/default/grub
    /usr/sbin/update-grub
            </command>
            
            <command name='packages'>
    rm -rf /etc/apt/sources.list
    mv /root/sources.list /etc/apt/
    rm -rf /var/lib/apt/lists/*
    apt-get clean
    apt-get update
    apt-get -y upgrade
    apt-get -y install landscape-common
    apt-get -y install update-notifier-common
    apt-get -y install sysv-rc-conf
    apt-get -y install acpid
    apt-get -y install network-manager
    apt-get -y install cloud-init-*
    apt-get -y install cloud-utils-growpart
            </command>
            
            <command name='modify'>
    echo -n > /etc/udev/rules.d/70-persistent-net.rules        
    echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules
    sed -i '/exit 0/d' /etc/rc.local
    echo "/usr/local/bin/nic_set_mq.sh > /tmp/nic_set_mq.log 2&gt;&amp;1" >> /etc/rc.local
    echo "exit 0">>/etc/rc.local
    echo 'blacklist intel_rapl' >> /etc/modprobe.d/modprobe.conf
    chmod +x /var/lib/cloud/scripts/per-boot/resetroot
    chmod +x /usr/local/bin/nic_set_mq.sh
    chmod +x /var/lib/cloud/scripts/per-instance/ssh.sh
    chmod +x /etc/rc.local
    rm -rf /etc/cloud/cloud.cfg
    rm -rf /etc/cloud/cloud.cfg.d/90_dpkg.cfg
    mv /root/cloud.cfg /etc/cloud/
    mv /root/90_dpkg.cfg /etc/cloud/cloud.cfg.d/
    touch /var/lib/cloud/instance/warnings/.skip
    cat >> /usr/local/bin/instance_init.sh &lt;&lt; EOF
    if [ ! -d /root/.ssh ]; then
      mkdir -p /root/.ssh
      chmod 700 /root/.ssh
    fi
            </command>
            
            <command name='services'>
    apt-get -y upgrade
    update-rc.d ufw disable
    update-rc.d qemu-guest-agent defaults
    update-rc.d network-manager defaults
    systemctl enable acpid
    systemctl enable cloud-init
    systemctl enable cloud-config
    systemctl enable cloud-final
    systemctl enable cloud-init-local
            </command>
            
            <command name='clear-logs'>
    rm -rf /root/*
    rm -rf /var/log/alternatives.log
    rm -rf /var/log/auth.log
    rm -rf /var/log/dpkg.log
    rm -rf /var/log/fontconfig.log
    rm -rf /var/log/boot.log
    rm -rf /var/log/syslog
    rm -rf /var/log/kern.log
    rm -rf /var/log/cloud-init.log
    rm -rf /var/log/cloud-init-output.log
    rm -rf /var/log/btmp
    rm -rf /var/log/wtmp
    rm -rf /var/log/yum.log
    rm -rf /var/log/lastlog
    rm -rf /var/log/installer/
    rm -rf /var/log/apt/
    rm -rf /var/lib/apt/lists/*
            </command>
        </commands>
    
        <files>
            <file name="/root/qga.20171124.tar.gz" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/qga.20171124.tar.gz
            </file>
            <file name="/var/lib/cloud/scripts/per-boot/resetroot" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/resetroot
            </file>
            <file name="/root/cloud.cfg" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/cloud.cfg_u1604
            </file>
            <file name="/usr/local/bin/nic_set_mq.sh" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/nic_set_mq.sh
            </file>
            <file name="/var/lib/cloud/scripts/per-instance/ssh.sh" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/ssh-ubuntu1604.sh
            </file>
            <file name="/root/sources.list" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/sources.cn.ubuntu.x.list
            </file>
            <file name="/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/99-disable-network-config.cfg
            </file>
            <file name="/root/90_dpkg.cfg" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/90_dpkg.cfg_u1604
            </file>
            <file name="/etc/default/grub" type="url">
                file:///data/nvme0n1/OZ-build-image/scripts/grub_ubuntu
            </file>
        </files>
    </template>
    ubuntu1604.tdl
    d-i debian-installer/locale string en_US
    d-i console-setup/ask_detect boolean false
    d-i console-setup/layoutcode string us
     
    d-i netcfg/choose_interface select auto
    d-i netcfg/get_hostname string unassigned-hostname
    d-i netcfg/get_domain string unassigned-domain
    d-i netcfg/wireless_wep string
     
    d-i clock-setup/utc boolean true
    d-i time/zone string Asia/Shanghai
     
    d-i partman-auto/disk string /dev/vda
    d-i partman-auto/method string regular
    d-i partman-auto/expert_recipe string root :: 2048 50 1000000 ext4 
            $primary{ } $bootable{ } method{ format } 
            format{ } use_filesystem{ } filesystem{ ext4 } 
            mountpoint{ / } 
        .
    d-i partman-auto/choose_recipe select root
    d-i partman-auto/confirm boolean true
    d-i partman-partitioning/confirm_write_new_label boolean true
    d-i partman/choose_partition select Finish partitioning and write changes to disk
    d-i partman/confirm boolean true
    d-i partman/confirm_nooverwrite boolean true
    d-i partman-basicfilesystems/no_swap boolean false
    d-i partman-partitioning/default_label select msdos
     
    d-i passwd/root-login boolean true
    d-i passwd/make-user boolean false
    d-i passwd/root-password password Ct@2017Yun!@$%.CN
    d-i passwd/root-password-again password Ct@2017Yun!@$%.CN
     
    tasksel tasksel/first multiselect standard
    d-i pkgsel/include/install-recommends boolean true
    d-i pkgsel/include string openssh-server curl
     
    d-i grub-installer/only_debian boolean true
    d-i grub-installer/with_other_os boolean true
     
    d-i apt-setup/security_host string
    base-config apt-setup/security-updates boolean false
     
    ubiquity ubiquity/summary note
    ubiquity ubiquity/reboot boolean true
     
    d-i finish-install/reboot_in_progress note
    ubuntu.ks
  • 相关阅读:
    查询避免Unknown column ‘xxx’ in ‘where clause’
    mybatis判断集合长度
    springbootjpa的dao层也会出现找不到javabean的操作
    Kotlin小测试
    java8特性表达式
    layui的入门使用
    tomcat去除项目访问路径限制
    XShell上传文件到Linux服务器上
    git添加新工程
    天气预报
  • 原文地址:https://www.cnblogs.com/gushiren/p/9512350.html
Copyright © 2011-2022 走看看