zoukankan      html  css  js  c++  java
  • kickstart ---无人值守安装

                  kickstart 实战

    http://man.linuxde.net/download/CentOS_6_9镜像

    安装:

    关闭防火墙

    且在编辑虚拟网络的vnet8中要取消使用本地dhcp项

    1.yum -y install dhcp

    [root@centos6 ~ ]#vim /etc/dhcp/dhcpd.conf 

    #

    # DHCP Server Configuration file.

    #   see /usr/share/doc/dhcp*/dhcpd.conf.sample

    #   see 'man 5 dhcpd.conf'

    #

    subnet 192.168.5.0 netmask 255.255.255.0 {

            range 192.168.5.100 192.168.5.120;

            option routers 192.168.5.1;

            option subnet-mask 255.255.255.0;

            default-lease-time 21600;

            max-lease-time 43200;

            next-server 192.168.5.103;

            filename "/pxelinux.0";

    }

    [root@centos6 ~ ]#vim /etc/sysconfig/dhcpd

    # Command line options here

    DHCPDARGS=eth0

    [root@centos6 ~ ]#/etc/init.d/dhcpd start 

    2.[root@centos6 ~ ]#yum -y install tftp-server 

    [root@centos6 ~ ]#cat -n /etc/xinetd.d/tftp   

    14          disable                 = yes

    只改第14行的yes为no

    [root@centos6 ~ ]#sed -i '14s%yes%no%' /etc/xinetd.d/tftp

    [root@centos6 ~ ]#/etc/init.d/xinetd restart 

    Stopping xinetd:                                           [FAILED]

    Starting xinetd:                                           [  OK

    3.[root@centos6 ~ ]#yum install httpd -y

    [root@centos6 ~ ]#grep -n ServerName /etc/httpd/conf/httpd.conf 

    265:# ServerName gives the name and port that the server uses to identify itself.

    276:#ServerName www.example.com:80

    283:# ServerName directive.

    1006:#    ServerName dummy-host.example.com

    在277行插入一条如下

    [root@centos6 ~ ]#sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf

    [root@centos6 ~ ]#/etc/init.d/httpd start 

    [root@centos6 ~ ]#netstat -tunlp|grep 80  

    tcp   0   0 :::80     :::*               LISTEN      9474/nginx

    看上面是80端口的里程起不来,那看一下进程号,原来是被nginx占用了,直接杀掉该进程号

    [root@centos6 ~ ]#kill 9474 

    [root@centos6 ~ ]#mkdir /var/www/html/CentOS-6.9

    [root@centos6 ~ ]#mount /dev/cdrom /var/www/html/CentOS-6.9   

     在浏览器输入ip/并刚才挂载的目录名,效果如下图

      

    4.安装启动引导程序/及pxe引导配置

    [root@centos6 ~ ]#yum -y install syslinux

    [root@centos6 ~ ]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/(tftp根目

    把菜单(启动相关的程序)复制过去

    [root@centos6 ~ ]#cp -a /var/www/html/CentOS-6.9/isolinux/* /var/lib/tftpboot/

    新建pxelinux.cfg目录,存放客户端配置文件

    [root@centos6 ~ ]#mkdir -p /var/lib/tftpboot/pxelinux.cfg

    [root@centos6 ~ ]#cp /var/www/html/CentOS-6.9/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

    如果你想用网络安装方式,那么此时就可以安装了(不要挂载镜像)

    5.pxe配置文件default解析

     

    6.创建自动应答文件ks.cfg

    [root@centos6 ~ ]# grub-crypt

    Password:181818

    Retype password:181818

    $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/

      [root@centos6 ~ ]#mkdir /var/www/html/ks_config  

    # Kickstart Configurator for CentOS 6.7 by yao zhang

    [root@centos6 ~ ]#vim /var/www/html/ks_config/CentOS-6.9-ks.cfg  

    install

    url --url="http://192.168.5.103/CentOS-6.9/"

    text

    lang en_US.UTF-8

    keyboard us

    zerombr

    bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb qui

    et"

    network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS

    6

    timezone --utc Asia/Shanghai

    authconfig --enableshadow --passalgo=sha512

    rootpw  --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoC

    w/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/

    clearpart --all --initlabel

    part /boot --fstype=ext4 --asprimary --size=200

    part swap --size=1024

    part / --fstype=ext4 --grow --asprimary --size=200

    firstboot --disable

    selinux --disabled

    firewall --disabled

    logging --level=info

    reboot

    %packages

    @base

    @compat-libraries

    @debugging

    @development

    tree

    nmap

    sysstat

    lrzsz

    dos2unix

    telnet

    %post

    wget -O /tmp/optimization.sh http://192.168.5.103/ks_config/optimization.sh &>

    /dev/null

    /bin/sh /tmp/optimization.sh

    %end

    7.开机优化脚本

    [root@centos6 ~ ]#vim /var/www/html/ks_config/optimization.sh   

      

    #!/bin/bash

    ##############################################################

    # File Name: /var/www/html/ks_config/optimization.sh

    # Version: V1.0

    # Author: yao zhang

    # Organization: www.zyops.com

    # Created Time : 2015-12-03 15:23:08

    # Description: Linux system initialization

    ##############################################################

    ./etc/init.d/functions

    Ip=192.168.5.103

    Port=80

    ConfigDir=ks_config

    # Judge Http server is ok?

    # Defined result function

    function Msg(){

            if [ $? -eq 0 ];then

              action "$1" /bin/true

            else

              action "$1" /bin/false

            fi

    }

    # Defined IP function

    function ConfigIP(){

            Suffix=`ifconfig eth0 |awk -F"[ .]+" 'NR==2 {print $6}'`

            cat >/etc/sysconfig/network-scripts/ifcfg-eth0 <<-END

            DEVICE=eth0

            TYPE=Ethernet

            ONBOOT=yes

            NM_CONTROLLED=yes

            BOOTPROTO=none

            IPADDR=10.0.0.$Suffix

            PREFIX=24

            GATEWAY=10.0.0.2

            DNS1=10.0.0.2

            DEFROUTE=yes

            IPV4_FAILURE_FATAL=yes

            IPV6INIT=no

            NAME="System eth0"

            END

            Msg "config eth0"

    }

    # Defined Yum source Functions

            Msg "YUM source"

    #Defined add Ordinary users Functions

    function AddUser(){

            useradd hua &> /dev/null &&

            echo "181818"|passwd --stdin hua &> /dev/null &&

            sed -i '98a hua ALL=(ALL) NOPASSWD:all' /etc/sudoers &&

            visudo -c &> /dev/null

            Msg "AddUser hua"

    }

            [ -f "/etc/issue" ] && >/etc/issue

            Msg "Hide issue"

            [ -f "/etc/issue.net" ] && > /etc/issue.net

            Msg "Hide issue.net"

    }

    # Defined OPEN FILES Functions

    function openfiles(){

            [ -f "/etc/security/limits.conf" ] && {

            echo '*  -  nofile  65535' >> /etc/security/limits.conf

            Msg "open files"

            }

    }

    # Defined Kernel parameters Functions

    function kernel(){

            KernelDir=/etc

            [ -f "$KernelDir/sysctl.conf" ] && /bin/mv $KernelDir/sysctl.conf{,.or

    i}

            wget -O $KernelDir/sysctl.conf http://$Ip:$Port/$ConfigDir/sysctl.conf

     &>/dev/null

            Msg "Kernel config"

    }

    # Defined System Startup Services Functions

    function boot(){

            for oldboy in `chkconfig --list|grep "3:on"|awk '{print $1}'|grep -vE 

    "crond|network|rsyslog|sshd|sysstat"`

              do

               chkconfig $oldboy off

            done

            Msg "BOOT config"

    }

    # Defined Time Synchronization Functions

    function Time(){

            echo "#time sync by zhangyao at $(date +%F)" >>/var/spool/cron/root

            echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov &>/dev/null' >>/var/

    spool/cron/root

            Msg "Time Synchronization"

    }

    # Defined main Functions

    function main(){

            ConfigIP

            yum

            HideVersion

            openfiles

            kernel

            boot

            Time

    }

    main

    8.整合编辑default配置文件

    [root@centos6 ~ ]#vim /var/lib/tftpboot/pxelinux.cfg/default  

    default ks

    prompt 0

    label ks

      kernel vmlinuz

      append initrd=initrd.img ks=http://192.168.5.103/ks_config/CentOS-6.9-ks.cfg

     ksdevice=eth0

    [root@centos6 ~ ]#curl http://192.168.5.103/ks_config/CentOS-6.9-ks.cfg 测试下刚才文件有没有对,如果出来的结果是/var/www/html/ks_config/CentOS-6.9-ks.cfg  的内容说明ok

    至此一切准备工作就做完了

    [root@centos6 ~ ]#netstat -ntulp|egrep '80|67|69'

    确认有没有80端口,67,69端口

     

    9 无人值守自动安装

    此时启动空白的无人机就行了

    [root@centos6 ~ ]#tailf /var/log/messages 可以观看日志过程

  • 相关阅读:
    windows下安装rabbitmq
    selectors
    修改Docker默认镜像和容器的存储位置
    eclipse配置jdk的src.zip源代码步骤
    Zookeeper WINDOWS 安装配置
    zookeeper windows 入门安装和测试
    zookeeper集群搭建(windows环境下)
    ant使用指南详细入门教程
    linux查看系统版本和系统位数
    suse linux 命令
  • 原文地址:https://www.cnblogs.com/dbslinux/p/9459700.html
Copyright © 2011-2022 走看看