1. 程式人生 > >通過位於http服務器上的ks文件無人值守安裝CentOS 6.9

通過位於http服務器上的ks文件無人值守安裝CentOS 6.9

kickstart ks

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