zoukankan      html  css  js  c++  java
  • ubuntu14.04部署kickstart

    转自:http://www.mamicode.com/info-detail-1646465.html

    kickstart用于在内网自动安装系统。

    使用pxe安装系统需要安装dhcp,tftp,http等服务(当然也可以使用其他文件共享方式比如nfs,ftp)。

    实验环境:

    1. vmware 12

    2.网段 10.0.0/8, PXE服务器IP:10.0.0.100

    一、安装dhcp服务

    可以选择安装isc-dhcp-Server 或者 dnsmasq(这个在openstack中使用较多,而且它也包含tftp服务,配置也非常方便,我因为已经安装dhcp和tftp就懒得换了)。

    我选择安装了isc-dhcp-Server:   apt-get install isc-dhcp-Server -y

    vim /etc/default/isc-dhcp-server

    INTERFACES="eth0"    # 或者你要指定的网络接口名字。

    vim /etc/dhcp/dhcpd.conf

    在文件末尾添加:

    subnet 10.0.0.0 netmask 255.0.0.0 {
      range 10.0.0.101 10.0.0.200;
      option subnet-mask 255.0.0.0;
      option routers 10.0.0.100;
      option broadcast-address 10.255.255.255;
      filename "pxelinux.0";
      next-server 10.0.0.100;
    }

    子网,掩码可以根据自己的需要设置

    filename "pxelinux.0";
    next-server 10.0.0.100;    指定pxe启动文件名和ip地址,next-server也是指tftp服务器IP。

    配置完重启服务:

    service isc-dhcp-server restart    

    二、安装tftp服务

    apt-get install tftpd-hpa -y

    安装完就OK了,使用默认的即可,记得tftp的目录是 /var/lib/tftpboot/ 哦,后面要用到!

    三、安装apache2

    apt-get install apache2 -y

    也是安装完就可以了,http根目录是 /var/www/html/ 。

    将下载好的ubuntu-14.04.5-server-amd64.iso放到某个目录。比如 ~ 目录,然后如下操作;

    cd ~

    mkdir /var/www/html/ubuntu

    mount ubuntu-14.04.5-server-amd64.iso /var/www/html/ubuntu      或者 mount ubuntu-14.04.5-server-amd64.iso /media  然后 cp -r * /media/* /var/www/html/ubuntu

    cp -r /var/www/html/ubuntu/install/netboot/*   /var/lib/tftpboot/

    cp /var/www/html/ubuntu/preseed/ubuntu-server.seed /var/www/html/

    然后 vim /var/www/html/ubuntu-server.seed

    在文件末尾添加:

    d-i live-installer/net-image string http://10.0.0.100/ubuntu/install/filesystem.squashfs

    因为在ubuntu12.10版本以后,安装一些包会依赖于预配置的文件系统,这就是导致使用kickstart方式无法成功安装的原因。

    四、安装kickstart

    kickstart需要GUI界面,我因为是安装的server,所以需要安装桌面(如果是desktop版本就不需要),如下安装;

    apt-get install ubuntu-desktop system-config-kickstart -y

    安装完之后,重启一下进入桌面,直接startx在虚拟机里卡桌面。

    kickstart界面操作很简单,实验过一遍就知道主要还是ks.cfg。如果vm的界面较小,需要远程的话,可以安装xrdp, vnc4server, 然后vim ~/.xsession 输入:xfc4-session      

    这里就不多说了,搜索一下就很多远程ubuntu的文章。

    在界面操作完之后保存ks.cfg到/var/www/html/

    ks.cfg 内容如下:

    #Generated by Kickstart Configurator
    #platform=AMD64 or Intel EM64T
    
    #System language
    lang en_US
    #Language modules to install
    langsupport en_US
    #System keyboard
    keyboard us
    #System mouse
    mouse
    #System timezone
    timezone --utc Asia/Shanghai
    #Root password
    rootpw --disabled
    #Initial user
    user trait --fullname "trait" --iscrypted --password $1$Umx1cgrj$..pRArN7AP66XBosYbU4N1
    #Reboot after installation
    reboot
    #Use text mode install
    text
    #Install OS instead of upgrade
    install
    #Use Web installation
    url --url http://10.0.0.100/ubuntu
    #System bootloader configuration
    bootloader --location=mbr 
    #Clear the Master Boot Record
    zerombr yes
    #Partition clearing information
    clearpart --all --initlabel 
    #Disk partitioning information
    part / --fstype ext4 --size 1024 --asprimary --ondisk sda 
    part swap --size 800 --ondisk sda 
    #System authorization infomation
    auth  --useshadow  --enablemd5 
    #Firewall configuration
    firewall --disabled 
    #Do not configure the X Window System
    skipx
    %packages
    openssh-server
    %post

    然后修改一下 vim /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/txt.cfg:

    default install
    label install
            menu label ^Install
            menu default
            kernel ubuntu-installer/amd64/linux
            append ks=http://10.0.0.100/ks.cfg preseed/url=http://10.0.0.100/ubuntu-server.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet 
    label cli
            menu label ^Command-line install
            kernel ubuntu-installer/amd64/linux
            append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet
    

    ok,现在可以创建一个空的虚拟机来验证安装了。

    测试结果基本成功,几个注意点:

    1. 由于我用的服务器是虚拟机,并且是桥接方式,ip:192.168.0.220, 所以测试用的服务器也要用桥接方式
    2. 修改virtualbox的默认网段10.x.x.x为桥接网络地址192.168.0.0/24,服务机和测试机都要改
    3. 怀疑我的镜像是损坏过的,安装到一半提示镜像可能出错
    4. 安装过程中提示要我写nameserver,需要修正一下配置
     
     
     
     
    centos上搞pxe+kickstart
     
     
  • 相关阅读:
    C++宏定义详解
    编写Qt Designer自定义控件 MyPlugins
    关于MFC共享DLL的模块状态切换 .
    QT 与 MFC 的区别 .
    typedef
    C++ floor函数
    C++ floor函数 截断浮点数小数部分 转
    MFC的多国语言界面的实现 转
    新工作 Day16 周五
    新工作 Day15 周四
  • 原文地址:https://www.cnblogs.com/regit/p/8021644.html
Copyright © 2011-2022 走看看