一、 準備工作
- anaconda程序的運行配置文件 kickstart 文件,root用戶家目錄下的anaconda.cfg即ks.cfg文件。
- CentOS6與CentOS7系統鏡像文件
- 軟件/工具:httpd 、tftp-server 、dhcp 、syslinux 包
二、 安裝軟件包/工具,啓用
- yum install Packages { httpd , tftp-server , dhcp , syslinux }
- 配置dhcpd.conf文件,示範文件地址:/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
- 如果在自己實驗,網卡選擇主機模式,並且關閉DHCP服務
```
subnet 192.168.163.0 netmask 255.255.255.0 {
range 192.168.163.40 192.168.163.60;#dhcp服務的ip地址範圍
option routers 192.168.163.1;#網關
filename"pxelinux.0";#文件名寫死,固定在tftp空間尋找這一個文件
next-server 192.168.163.20;#系統文件提供機器的地址
#詳細dhcp配置請自行了解
}
```
- httpd服務使用
- httpd服務目錄地址 /ver/www/html/
mkdir -pv centos/{6,7} ksdir #kickstart 文件放到 ksdir目錄下,方便尋找;
- 將系統鏡像文件分別掛載到 centos/6和7的目錄下
mount /dev/sr0 /var/www/html/centos/6 #掛載7同法 #導入的系統鏡像文件,掛載加 -o loop 比較通用
- 將所有共享出去的文件權限修改爲 644 權限;不然無法獲取到安裝文件
- httpd服務目錄地址 /ver/www/html/
-
啓動服務
- 關閉SElinux 修改/etc/selinux/config文件 SELINUX=disabled
- 關閉防火牆
service iptables stop chkconfig iptables off #開機不啓動 #centos6方法 systemctl stop firewalld systemctl disable firewalld #centos7方法
- 啓動服務
systemctl enable httpd #開機自動啓動http dhcp tftp 服務 systemctl enable dhcpd systemctl enable tftp.socket
三、 文件配置
- kickstart 創建
- 安裝包 system-config-kickstart ,命令system-config-kickstart 打開軟件,可以根據自己的需求直接創建kickstart文件。
- 使用root家目錄中的 anaconda.cfg文件修改
- kickstart文件格式
簡單說明,詳情請自行了解
#version=DEVEL
auth --enableshadow --passalgo=sha512 #密碼加密方式
url --url=http://192.168.163.20/centos/7 #使用什麼方式去引導啓動
install #安裝
text #命令模式安裝 可以選擇
reboot #安裝完,自動重啓
selinux --disabled #關閉SElinux
firewall --disabled #關閉防火牆
firstboot --enable #初始化開啓
ignoredisk --only-use=sda #選擇磁盤 sda
keyboard --vckeymap=us --xlayouts='us' #語言和鍵盤選擇
lang en_US.UTF-8 #文字選擇
network --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --activ
ate #網卡設置
network --hostname=localhost.localdomain #主機名設置
rootpw --iscrypted xxxxxxx #設置密碼 爲加密文本
services --disabled="chronyd"
timezone Asia/Shanghai --isUtc --nontp #時區選擇
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda #分區引導
zerombr #清除分區
clearpart --all --initlabel #清空磁盤
#磁盤分區
part pv.198 --fstype="lvmpv" --ondisk=sda --size=10240
part /boot --fstype="xfs" --ondisk=sda --size=1024
volgroup centos --pesize=4096 pv.198
logvol / --fstype="xfs" --size=5120 --name=root --vgname=centos
logvol swap --fstype="swap" --size=2048 --name=swap --vgname=centos
logvol /app --fstype="xfs" --size=2048 --name=app --vgname=centos
eula --agreed #同意選項 centos7中必備
%packages #安裝的包
@^minimal
@core
kexec-tools
vim-enhanced
%end
%post #安裝後運行腳本
rm -f /etc/yum.repos.d/*
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=basemage
baseurl=http://192.168.163.141/centos/6
gpgcheck=0
EOF
useradd arno
echo 123456 |passwd --stdin arno &> /dev/null
%end
- httpd哪些文件
-
配置tftp中的文件
- tftp爲輕量級共享文件方式,網卡自帶集成tftp的客戶端
- 共享目錄爲:/var/lib/tftpboot
- 安裝syslinux包後,我們要用到/usr/share/syslinux目錄下兩個的文件
- 文件全部完成後,注意權限需要 644
cd /var/lib/tftpboot
cp /usr/share/syslinux/{pxelinux.0,menu.c32} .
#將兩個文件拷貝過來
#menu.c32是簡單的啓動菜單文件 ,啓動頁面比較簡陋
mkdir {6,7}
#創建系統區分目錄,將兩個系統的啓動文件拷入 vmlinuz initrd.img
cp /var/www/html/centos/6/isolinux/{vmlinuz,initrd.img} .
#拷貝進tfpboot目錄
mkdir pxelinux.cfg
#創建目錄,放置菜單的佈局配置文件
cp /var/www/html/centos/6/isolinux/isolinux.cfg pxelinux.cfg/default
#拷貝進isolinux.cfg目錄下,並改名爲default
-
tftp-server哪些文件?
- 鏡像裏的 isolinux.cfg 文件格式
default menu.c32 #菜單樣式文件
timeout 60 #倒計時6s後自動選擇默認選項
menu title PXE CentOS 7 #菜單標題
label desktop
menu label ^Install MIni CentOS 7 # 選項 ; '^'表示首字母快捷鍵選擇
kernel 7/vmlinuz #內核文件路徑
append initrd=7/initrd.img ks=http://192.168.163.20/ksdir/ks7-mini.cfg
#initrd.img文件路徑,和kickstart文件路徑
label mini
menu label Install ^mini CentOS 6
menu default #默認選項;進入菜單,光標自動選擇該選項
kernel 6/vmlinuz
append initrd=6/initrd.img ks=http://192.168.163.20/ksdir/ks6-mini.cfg
label centos6mini
menu label Install Desktop ^CentOS 6
kernel 6/vmlinuz
ppend initrd=6/initrd.img ks=http://192.168.163.20/ksdir/ks6-desktop.cf
g
label local
#磁盤啓動 ;不安裝系統時,該項設置成默認選項,不然重複安裝系統
menu label Boot from ^local drive
localboot 0xffff
menu end
四、 打開需要安裝系統的電腦,在一個局域網內,且沒有其他DHCP服務器的環境;選擇網卡啓動------------------>成功