通过位于http服务器上的ks文件无人值守安装CentOS 6.9

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过位于http服务器上的ks文件无人值守安装CentOS 6.9相关的知识,希望对你有一定的参考价值。

CentOS 6.x创建kickstart文件的方式:

  • 依据某模板直接手动编辑:可根据系统安装完成后生成的/root/anaconda-ks.cfg配置文件进行修改

  • 依据某模板通过system-config-kickstart命令创建(需要图形界面支持)

配置Xmanager使用图形界面:

  • 安装gnome桌面环境:# yum -y install xdm gdm

  • 修改配置文件:# vim /etc/gdm/custom.conf

        [security]设置段下添加:

        AllowRemoteRoot=true

        [xdmcp]设置段下添加:

        Enable=1

        Port=177

  • 配置系统为图形模式:# vim /etc/inittab --> id:5:initdefault:

  • 重启CentOS服务器:# reboot

  • Windows中打开XmanagerXbrowser,在地址栏里输入CentOS服务器IP回车即可进行连接。

        # yum -y install system-config-kickstart

        # system-config-kickstart &  //&表示后台运行

技术分享

 

文件-->打开文件-->找到anaconda-ks.cfg-->打开-->导入anaconda-ks.cfg后,按需进行编辑-->文件-->另存为ks.cfg

技术分享

 

kickstart文件的语法检查命令:# yum-y install pykickstart  # ksvalidator/root/ks.cfg

 

kickstart文件的格式:

命令段:指明各种安装前配置,如键盘类型等,包括必备命令和可选命令

程序包段:指明要安装的程序包组或程序包,或者不需要安装的程序包等,可以使用*进行通配

%packages          //开始

@group_name    //需要安装的包组,每个条目一行

package              //需要安装的软件包

-package            //不需要安装的软件包

%end                 //结束

脚本段:

%pre:安装前脚本

运行环境:运行于安装介质上的微型Linux环境

%post:安装后脚本

运行环境:安装完成的系统

#号开头的行为注释行

 

kickstart示例配置文件ks.cfg

# 指明此次是全新安装系统

install

# 将本地的光驱作为系统安装源

cdrom

# 设置系统安装过程中使用的语言及系统的缺省语言,建议选择英语,如果选择中文,则为zh_CN.UTF-8

lang en_US.UTF-8

# 设置键盘类型

keyboard us

# 设置系统网络接口,包括是否在系统启动时自动激活网卡、激活并进行系统安装的网卡设备名称、IP地址的获取方式、IP地址、掩码NETMASK、网关GATEWAYDNS、安装后的主机名称、是否启用该设备的IPv6功能,所有参数选项的值必须写在一行中

network --onboot=yes --device=eth0 --bootproto=static--ip=192.168.199.18 --netmask=255.255.255.0 --gateway=192.168.199.1--nameserver=114.114.114.114 --hostname=centos6.9 --noipv6

# 设置系统root管理员的加密密码,此处源密码为123456

rootpw --iscrypted $1$.ul2D7pG$h7nbx475YjlrswZRYAgOf/

# 禁用系统防火墙

firewall --disabled

# 设置系统的认证方式,使用隐藏密码,且使用SHA-512哈希算法

authconfig --enableshadow --passalgo=sha512

# 禁用系统selinux

selinux --disabled

# 设置系统时区

timezone Asia/Shanghai

# 设置bootloader的安装选项,包括:引导记录的写入位置、Bios中的设备开机启动顺序、需要传递给内核的参数选项,会追加至grub配置文件/etc/grub.conf中对应titlekernel关键字所在行的行尾

bootloader --location=mbr --driveorder=sda --append="crashkernel=autorhgb quiet"

# 清除mbr信息,同时清空系统上原有的分区表,否则系统会提示是否要清除磁盘上的数据

zerombr

# 在建立新分区前清空系统上原有的分区表、并初始化磁盘卷标为系统架构的默认卷标

clearpart --all --initlabel

# 创建磁盘分区,此处的磁盘分区方式为:/bootext4 2Gswap2G/ LVM 剩余所有可用容量

part /boot --fstype=ext4 --size=2048

part swap --size=2048

part pv.008003 --grow --size=1

volgroup vg_centos6.9 --pesize=4096 pv.008003

logvol / --fstype=ext4 --name=lv_root --vgname=vg_centos6.9 --grow--size=1

# 系统安装完成后创建普通用户

user --name=marion --password=$1$.ul2D7pG$h7nbx475YjlrswZRYAgOf/--iscrypted

# 设置系统启动后禁用的服务

services --disabled NetworkManager,iptables

# 系统安装完成后自动重启系统,并在重启系统之前弹出光盘

reboot --eject

# 安装程序包组和程序包,@程序包组名称,具体名称可以查看安装光盘中repodata目录下的以-comps.xml结尾的文件,其中id标签内的名称即为程序包组名称

%packages

@base

@chinese-support

@core

@desktop-platform

@development

@server-platform

@server-platform-devel

@server-policy

@workstation-policy

@x11

cronie

lftp

ntpdate

screen

tree

vim-enhanced

wget

%end

%post

# 不受NetworkManager脚本控制,CentOS 6.x建议设置NM_CONTROLLED的值为no

sed -i ‘s#NM_CONTROLLED="yes"#NM_CONTROLLED="no"#g‘/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/init.d/network restart &> /dev/null

# ssh服务优化,包括:禁止使用DNS解析、禁止root用户远程登录、禁止空密码登录

sed -i ‘s/#UseDNS yes/UseDNS no/g‘ /etc/ssh/sshd_config

sed -i ‘s/#PermitRootLogin yes/PermitRootLogin no/g‘ /etc/ssh/sshd_config

sed -i ‘s/#PermitEmptyPasswords no/PermitEmptyPasswords no/g‘/etc/ssh/sshd_config

/etc/init.d/sshd restart &> /dev/null

# 设置selinuxdisabled

sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g‘ /etc/selinux/config

# 设置系统启动后禁用iptables

/sbin/chkconfig iptables off

# 设置系统yum源,将默认yum源修改为aliyun源,并新增epel

find /etc/yum.repos.d/ -name "CentOS-*.repo" -exec mv {}{}.bak \;

wget -qO /etc/yum.repos.d/aliyun.repohttp://mirrors.aliyun.com/repo/Centos-6.repo

wget -qO /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

wget -qP /etc/yum.repos.d/http://mirrors.aliyun.com/repo/epel-testing.repo

sed -i ‘s#\[base\]#\[aliyun\]#g‘ /etc/yum.repos.d/aliyun.repo

yum clean all &> /dev/null

yum makecache &> /dev/null

yum repolist &> /dev/null

# 导入aliyunGPG密钥

rpm --import http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

# 调整文件描述符大小

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

%end


ks文件放至http服务器上

新建虚拟机-->容量1000G(大小不固定,按照实际情况选择)-->放入原版ISO系统安装光盘-->开启虚拟机-->引导顺序首选光驱-->进入安装菜单界面-->Esc键,进入boot提示符

技术分享

 

无需人工干预,自动安装系统:

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享


安装完成后,自动重启:

技术分享


本文出自 “天道酬勤” 博客,请务必保留此出处http://qiuyue.blog.51cto.com/1246073/1939320

以上是关于通过位于http服务器上的ks文件无人值守安装CentOS 6.9的主要内容,如果未能解决你的问题,请参考以下文章

部署PXE远程安装服务实现Kickstart无人值守安装

DHCP+TFTP+HTTP+KS无人值守安装

PXE+Kickstart无人值守安装系统

kvm无人值守安装centos 7虚拟机

无人值守自动装机

无人值守安装服务