自己定制OpenVZ的操作系统模版

简介: Creating a CentOS 5.0 Template Install a system (virtual or physical) with the default CentOS installation that you wish to package.

Creating a CentOS 5.0 Template

  1. Install a system (virtual or physical) with the default CentOS installation that you wish to package. This could be a minimal distro or the default distro or even something custom.
    1. It's generally quicker to bootstrap a CentOS system on another yum/rpm-based, or Debian based system by following the instructions in [1]
  2. Once the OS has been installed, you need to tar the contents of the OS.
    1. First, create a file called /tmp/exclude and add the following lines to it:
    .bash_history
    lost+found
    /dev/*
    /mnt/*
    /tmp/*
    /proc/*
    /sys/*
    /usr/src/*
    1. Now, tar the OS file up by typing: tar --numeric-owner –czvf /tmp/centos-5.0- - -image.tar.gz –X /tmp/exclude / where ARCH> represents the system architecture (i386 or
    x86_64) and DISTRO> represents the distribution (default, minimal, etc.).
    1. Now transfer the file over to the OpenVZ server into /vz/template/cache folder.
  3. On the OpenVZ server create a “dummy” container by creating a folder called /vz/private/50
    and copying the /etc/vz/conf/ve-vps.basic.conf-sample to /etc/vz/conf/50.conf.
    NOTE: 50 is the CTID for the container. You can choose any unused CTID on the OpenVZ server.
  4. Now create a new folder called /vz/template/centos/5/ /config again where
    ARCH> represents the system architecture.
  5. Create a file in the folder called rpm and add the following line:
    43
  6. Create a file called yum.conf in the folder and add the following lines:
    [main]

    cachedir=/vz/template/centos/5/ /yum-cache/

    reposdir=/dev/null

    installonlypkgs=

    [centos5-base]
    name=CentOS 5 - - Base

    baseurl= http://mirror.centos.org/centos/5/os/ /

    enabled=1

    gpgcheck=1

    [centos5-updates-released]

    name=CentOS 5 - - Released Updates

    baseurl= http://mirror.centos.org/centos/5/updates/ /

    enabled=1

    gpgcheck=1
  7. Copy /etc/vz/dists/centos-4.conf to /etc/vz/dists/centos-5.conf.
  8. Copy /vz/template/centos/4/i386/config/minimal.list to /vz/template/centos/5/i386/config/minimal.list.
  9. Change to the /vz/private/50 folder and then run the command gunzip –dc /vz/template/cache/centos-5- - -image.tar.gz | tar –xvf – to unpack the base image to the folder.
  10. Make sure you are in the /vz/private/50 folder.
  11. Edit etc/shadow and remove the replace the root password with !! instead of the hashed value.
  12. Edit the etc/inittab file and comment out the lines that respawn /sbin/mingetty on tty1 through tty6. Just put a # at the beginning of the line.
  13. Remove the etc/mtab file and then create a symbolic link by typing ln -s /proc/mounts etc/mtab.
  14. Remove all of the lines from etc/fstab except for the line that mounts /dev/pts.
  15. Edit etc/rc.d/rc.sysinit and comment out the line that starts /sbin/start_udev by placing a # at the beginning of the line.
  16. Now create device nodes by typing:
    mknod dev/ptmx c 5 2
    mkdir dev/pts
    /sbin/MAKEDEV –d /vz/private/50/dev ttyp ptyp
    mknod dev/null c 1 3
    mknod -m 644 dev/random c 1 8
    mknod dev/urandom c 1 9
  17. Create the var/lock/rpm folder.
  18. If you wish to disable IPv6, do the following:
    1. Edit etc/sysconfig/network and set NETWORKING_IPV6 to no.
    2. Add the following lines to etc/modprobe.d/blacklist:
    blacklist ipv6
    blacklist net-pf-10
  19. Disable any physical NICs by modifying the etc/sysconfig/network-scripts/ifcfg-ethX files (where X is the interface number starting from 0) and setting ONBOOT to no.
  20. Now you’re ready to start the template. Type vzctl start 50 and wait for it to start.
  21. You can install additional packages into the container by typing vzyum 50 install at the prompt where package> represents the name of the software package you wish to install.
  22. Finally, you should turn off unnecessary services.
    1. Enter the container by typing vzctl enter 50.
    2. View the services that are set to run at startup by typing chkconfig --list | grep 5:on.
    3. Disable any unwanted service by typing chkconfig --levels 2345 off where service> represents the service to disable.
    Services that you can (and should) turn off without harm are acpid, apmd, kudzu, and microcode_ctl.
  23. Exit the container by typing exit at the prompt.
  24. Stop the container by typing vzctl stop 50.
  25. Make sure you are in the /vz/private/50 folder.
  26. Finally, package up the new template by typing tar –czvf /vz/template/cache/centos-5- - .tar.gz ./ .
  27. The template is ready for use.
文章来自于这篇文档,http://wiki.openvz.org/Creating_a_CentOS_5.0_Template
下一步就是亲自试一下,然后加入注释和自己的注解,请大家稍等。。。。。。
相关文章
|
存储 缓存 Unix
第九章 操作系统接口【操作系统】2
第九章 操作系统接口【操作系统】2
186 1
|
3月前
|
存储 运维 安全
深入理解操作系统:设计与实现的全面指南
【10月更文挑战第2天】 本文旨在为读者提供关于操作系统设计原理及其实现的深入理解。操作系统作为计算机系统的核心,其设计直接影响着整个系统的性能和稳定性。本文将详细介绍操作系统的基本概念、主要功能以及设计过程中需要考虑的关键因素。通过阅读本文,读者将能够获得对操作系统工作原理的清晰认识,并了解如何设计一个高效、可靠的操作系统。
|
5月前
|
前端开发 Ubuntu 安全
部署在什么操作系统上比较好
【8月更文挑战第25天】部署在什么操作系统上比较好
90 3
|
6月前
操作系统的主要功能
操作系统的主要功能
|
6月前
|
Linux 调度
部署03---Linux操作系统的诞生,Linux操作系统由系统的内核和系统的操作系统所组成
部署03---Linux操作系统的诞生,Linux操作系统由系统的内核和系统的操作系统所组成
|
8月前
|
Shell Linux iOS开发
操作系统:一款纯正的“管理”软件
操作系统:一款纯正的“管理”软件
|
人工智能 JavaScript 前端开发
「操作系统」1. 基础
「操作系统」1. 基础
|
8月前
|
存储 编译器 Linux
操作系统相关问题——应用程序和操作系统怎么配合
应用程序和操作系统都是软件, CPU会将它们一视同仁,甚至CPU不知道自己在执行的程序是操作系统还是一般应用软件。CPU只知道去cs:ip寄存器中指向的内存取出指令并执行,它不知道什么是操作系统。
|
Unix Java Linux
构建嵌入式Linux操作系统 Linux操作系统的介绍
构建嵌入式Linux操作系统 Linux操作系统的介绍
|
消息中间件 存储 算法
考研操作系统【1.3 操作系统运行环境】
考研操作系统【1.3 操作系统运行环境】
496 0
考研操作系统【1.3 操作系统运行环境】