Linux无人值守kickstart
部署PXE实现Kickstart无人值守安装
部署PXE实现Kickstart⽆⼈值守安装⼀、部署PXE远程安装服务1.PXE服务相关介绍PXE是有Intel公司开发的⽹络引导技术,⼯作在Client/Server模式(也简称CS模式),允许客户机通过⽹络从远程服务器下载引导镜像,并加载安装⽂件或整改操作系统。
2..若要搭建PXE⽹络体系,必须要满⾜⼀下⼏个前提条件客户机的⽹卡⽀持PXE协议(集成BOOTROM芯⽚),且主板⽀持⽹络引导;⽹络中有⼀台DHCP服务器以便于为客户机⾃动分配IP地址、指定引导⽂件位置;服务器通过TFTP(简单⽂件传输协议)提供引导镜像⽂件的下载3.PXE服务具备的优点规模化:同时装配多台服务器,⽆需每⼀台单独安装操作系统;⾃动化:实现服务器的⾃动安装及⾃动配置各种服务;远程实现:不需要光盘、U盘等安装介质,⽅便快捷的同时⼜可以保障服务器安全。
4.PXE服务的⼯作原理PXE(Pre-boot Execution Environment远程引导技术)是RPL (Remote Initial Program Load远程启动服务)的升级产品。
它们的不同之处为: RPL是静态路由,PXE是动态路由。
RPL 是根据⽹卡上的ID号加上其它的记录组成的⼀个帧向服务器发出请求,⽽服务器那⾥早已经有了这个ID数据,匹配成功则进⾏远程启动;PXE则是根据服务器端收到的⼯作站MAC地址(就是⽹卡号)使⽤DHCP服务给这个MAC地址指定⼀个IP地址,每次重启动可能同⼀台⼯作站有与上次启动有不同的IP,即动态分配地址以⼯作站引导过程说明PXE的原理:⼯作站开机后,PXEBootROM(⾃启动芯⽚)获得控制权之前先做⾃我测试,然后以⼴播形式发出⼀个请求FIND帧。
如果服务器收到⼯作站所送出的要求,就会送回DHCP回应,内容包括⽤户端的IP地址,预设通讯通道,及开机映像⽂件。
否则,服务器会忽略这个要求。
⼯作站收到服务器发回的相应后则会回应⼀个帧,以请求传送启动所需⽂件。
kickstart无人值守自动安装Linux系统
KickStart 无人值守批量安装Linux系统一:需求分析不适合本地安装的情况如下:(1)无软驱和光驱:如果计算机不带光驱或软驱,则无法通过本地安装。
(2)非标准的软驱和光驱:虽然笔记本电脑都会配置光驱。
但是并不一定都是标准的IDE设备,有些通过USB接口或1394接口(例如Samsung的Q10)连接。
在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装。
(3)在一些场合,如机房中有大量的计算机需要同时安装Linux。
如果通过光驱的方式逐台安装,不仅效率低,也不利于维护。
(4)光驱或安装光盘故障。
基于以上所属情况,kickstart服务就可以解决这些问题。
二:方案设计什么是PXE:所有系统的网络安装和无人职守安装都是基于PXE,PXE技术与RPL技术不同之处为RPL是静态路由,PXE是动态路由。
RPL是根据网卡上的ID 号加上其他记录组成的一个Frame(帧)向服务器发出请求。
而服务器中已有这个ID数据,匹配成功则进行远程启动。
PXE则是根据服务器端收到的工件站MAC地址,使用DHCP服务为这个MAC地址指定个IP地址。
每次启动可能同一台工作站有与上次启动有不同的IP,即动态分配地址。
下以客户端引导过程说明PXE的原理。
(1)客户端开机后,PXE BootROM(自启动芯片)获得控制权之前执行自我测试,然后以广播形式发出一个请求FIND帧。
(2)如果服务器收到客户端所送出的要求,就会送回DHCP回应,包括用户端的IP地址、预设通信通道,以及开机映像文件;否则服务器会忽略这个要求。
(3)客户端收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件,并把自己的MAC地址写到服务器端的Netnames.db文件中。
(4)将有更多的消息在客户端与服务器之间应答,用于决定启动参数。
BootROM由TFTP通信协议从服务器下载开机映像文档。
客户端使用TFTP 协议接收启动文件后,将控制权转交启动块以引导操作系统,完成远程启动。
使用kickstar搭建无人值守安装服务器
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
xconfig --defaultdesktop=GNOME --depth=8 --resolution=640x480
# Disk partitioning information
part /boot --asprimary --bytes-per-inode=4096 --fstype="ext3" --size=200
host=$(($RANDOM%195+60))
hostname=""
ip=10.1.1.$host
echo "IPADDR=$ip" >> ./ifcfg-$iface
echo "NETMASK=255.255.255.0" >> ./ifcfg-$iface
echo "GATEWAY=10.1.1.1" >> ./ifcfg-$iface
CustomLog logs/-access_log common
Alias /forum/ /wwwroot/bbs/
<Location /forum >
Order deny,allow
deny from all
@text-internet
@editors
%post
学习笔记-Kickstart
Kickstart的主要用途是实现自动化无人值守安装一台或多台Linux操作系统的工具。
使用kickstart文件ks.cfg可以在多台计算机上安装后定制要安装的linux系统,节省人力成本和时间资源。
可以实现硬盘安装、U盘安装和网络安装,在客户机没有光驱的情况下,方面用户安装。
要使用kickstart ,你必须:1) 创建kickstart 设置文件。
2) 部署kickstart设置文件,即将kickstart设置文件放置到安装服务器上,并在安装程式的kernel参数中指定kickstart设置文件的位置。
kickstart 设置文件是个简单的文本文件,包含一个安装项目列表。
每个项目对应于一个安装选择,都用关键字标明。
Kickstart的设置文件--ks.cfg,在你安装完如Fedora后,在/root下会有anaconda-ks.cfg文件,它就记录了你安装系统时的配置信息。
当要安装其他一台或多台系统时,就可以把此文件作为引导文件进行安装。
Kickstart文件也可以自己创建,需要安装kickstart配置程序,机器能联网,用yum安装即可,yum install kickstart,若不能联网则下载其安装包,进行安装。
下面主要介绍网络安装方式。
所需设备1.客户机,用于安装Fedora操作系统,也可以是其它Linux操作系统,不过要保证能从网络启动。
2.一台存放系统安装文件的服务器,如NFS、HTTP 或FTP 服务器。
3.KickStart所生成的ks.cfg配置文件关于服务器的DHCP相关配置,续。
于2011.3.1 客户端要网络启动安装系统,客户端机器必须要设置从网络启动,网卡支持PXE启动,可以在BIOS下进行查看和设置,设置好网络启动后,服务器端必须开启DHCP服务,进行DHCP 的设置,给客户端分配IP地址。
1.服务器端DHCP配置要安装DHCP 可以下载安装包进行安装,也可以通过yum install dhcp 安装,安装过程中,可能会涉及到依赖包的情况,这是需要删除有冲突的依赖包,然后再安装,这个过程可能会依各自电脑配置二不同,总之最后一定会安装好。
CentOS 6.4下PXE+Kickstart无人值守安装操作系统
一、简介1.1 什么是PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP (trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
严格来说,PXE 并不是一种安装方式,而是一种引导方式。
进行PXE 安装的必要条件是在要安装的计算机中必须包含一个PXE 支持的网卡(NIC),即网卡中必须要有PXE Client。
PXE 协议可以使计算机通过网络启动。
此协议分为Client端和Server 端,而PXE Client则在网卡的ROM 中。
当计算机引导时,BIOS 把PXE Client 调入内存中执行,然后由PXE Client 将放置在远端的文件通过网络下载到本地运行。
运行PXE 协议需要设置DHCP 服务器和TFTP 服务器。
DHCP 服务器会给PXE Client(将要安装系统的主机)分配一个IP 地址,由于是给PXE Client 分配IP 地址,所以在配置DHCP 服务器时需要增加相应的PXE 设置。
此外,在PXE Client 的ROM 中,已经存在了TFTP Client,那么它就可以通过TFTP 协议到TFTP Server 上下载所需的文件了。
PXE的工作过程:1. PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;2. DHCP 服务器返回分配给客户机的IP 以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上) ;3. PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件;4. PXE Client 取得pxelinux.0 文件后之执行该文件;5. 根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统;6. 进入安装画面, 此时可以通过选择HTTP、FTP、NFS 方式之一进行安装;详细工作流程,请参考下面这幅图:1.2 什么是KickstartKickstart是一种无人值守的安装方式。
rhelkickstart无人值守安装
r h e l k i c k s t a r t无人值守安装公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]Unattended _deloyprinciple使用企kickstart 来完成批量部署linux系统,可以在部署的时候实现软件的定制,以及环境的定制.use at (dhcp+ vsftp + tftp + kickstart)Let's beginshow of the IP and systemversion[root@instructor ~]# ifconfig eth0 | awk /Mask/inet addr: Bcast: Mask:[root@instructor ~]# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release (Santiago)yum[root@instructor ~]# cat /etc/[yum]baseurl=gpgcheck=0the packages in need[root@instructor ~]# yum -y install dhcp tftp tftp-server syslinux system-config-kickstartdhcp service and start it[root@instructor ~]# cp /usr/share/doc/dhcp-4.1.1/ /etc/dhcp/ cp: overwrite `/etc/dhcp/' yes[root@instructor ~]# vim /etc/dhcp/subnet netmask {option routers ;range dynamic-bootp ;filename "";next-server ;}[root@instructor ~]# service dhcpd restartStarting dhcpd: [ OK ][root@instructor ~]# chkconfig --level 35 dhcpd onPXE[root@instructor ~]# mkdir /tftpboot[root@instructor ~]# vim /etc/tftpservice tftp{socket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/server_args = -s /tftpbootdisable = noper_source = 11cps = 100 2flags = IPv4}[root@instructor ~]# cp /media/isolinux/* /tftpboot/[root@instructor ~]# cd /tftpboot/[root@instructor tftpboot]# mkdir[root@instructor tftpboot]# cp default[root@instructor ]# chmod 664 default[root@instructor ]# chkconfig tftp on[root@instructor ]# service xinetd restartStopping xinetd:[FAILED]Starting xinetd:[ OK ][root@instructor ]# vim defaulttimeout 5 # 这里的时间如果为0 那么安装需要手动选择label linuxmenu label ^Install or upgrade an existing systemmenu defaultkernel vmlinuzappend initrd= ks=nfs::/ks/ #这个文件是用kickstart生成nfs service[root@instructor ~]# vim /etc/exports/media *(rw)/ks *(rw)[root@instructor ~]# service nfs restart[root@instructor ~]# mkdir /kskickstart in desktop[root@instructor ~]# system-config-kickstart[root@instructor ~]# chmod 757 /ks/[root@instructor ~]# cat /ks/ | gawk "NF>0" | grep -v "^#"firewall --disabledinstallnfs --server= --dir=/mediarootpw --iscrypted $1$tQb5ejy4$zdVAuOfSH82zdaObOg2a00 network --bootproto=dhcp --device=eth0 --onboot=onauth --useshadow --passalgo=md5textkeyboard uslang en_USselinux --enforcingskipxlogging --level=infotimezone Africa/Abidjanbootloader --location=mbrzerombrclearpart --all --initlabelpart / --fstype="ext4" --size=5000part /boot --fstype="ext4" --size=512part /home --fstype="ext4" --size=1024part swap --fstype="swap" --size=1024%packages@basic-desktop%endall of the services and test[root@instructor ~]# service dhcpd restart [root@instructor ~]# service nfs restart [root@instructor ~]# service xinetd restart ps:[root@instructor tftpboot]# iptables -F [root@instructor tftpboot]# setenforce 0。
centos6.5 Linux+ftp+kickstart无人值守安装
centos6.5 Linux+ftp+kickstart无人值守安装大概原理:待安装主机通过PXE技术向服务器发起请求;首先请求IP,服务器通过dhcp向安装端分配IP地址,请求到了IP后接着下载default文件,该文件是定义安装信息,也就是安装系统的初始界面,接着,读取default里的ks.cfg文件路径,并下载到安装端,安装接着安装定义好的ks.cfg 开始自动安装系统,大概就这么个过程。
1.DHCP 服务器2.TFTP 服务器3.KickStart所生成的ks.cfg配置文件4.一台存放系统安装文件的服务器,如NFS、HTTP 或FTP 服务器5.带有一个PXE 支持网卡的将安装的主机把系统安装光盘mount到主机上最好虚拟机桥接并且联网1、搭建Yum源(本地光盘镜像)# mount /dev/cdrom /media/cdrom# vim /etc/yum.repos.d/base.repo[base]name=base repobaseurl=file:///media/cdromenabled=1gpgcheck=0安装所需要的服务yum -y install dhcp* tftp* vsftpd* syslinux配置TFTP,制定可供下载文件的目录。
vim /etc/xinetd.d/tftp1、编辑TFTP配置文件# default: off# description: The tftp server serves files using the trivial file transfer \# protocol. The tftp protocol is often used to boot diskless \# workstations, download configuration files to network-aware printers, \# and to start the installation process for some operating systems.service tftp{disable = no #找到disable,将yes修改为nosocket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /tftpboot #此处为TFTP提供下载的位置,默认为:/var/lib/tftpboot/per_source = 11cps = 100 2flags = IPv4}. ps:/tftpboot目录是要手动建立的,该目录用于存放系统安装的引导文件2,TFTP目录建立与设置#mkdir /tftpboot#cp /usr/share/syslinux/pxelinux.0 /tftpboot/ #注意这里用红色标注的地方因系统版本的不一样可能会出现不一样的路径。
Kickstart无人值守安装CentOS5
Kickstart无人值守安装CrntOS5原理和概念:什么是PXE预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)是让计算机通过网卡独立地使用数据设备(如硬盘)或者安装操作系统。
什么是KickStartKickstart是红帽创建的一种安装方法,使用kickstart,系统管理员可以创建一个文件,这个文件包含了在典型的安装过程中所遇到的问题的答案。
实现网络安装的过程是这样的:客户机PXE网络启动------>通过网际协议(IP)、用户数据报协议(UDP)、动态主机设定协定(DHCP)------->客户机获得IP------>通过小型文件传输协议(TFTP) 从TFTP Server上下载PEX引导文件------>启动引导程序进入安装界面------>根据default文件,通过超文本传送协议(HTTP)去HTTP Server下载ks.cfg文件----->根据ks.cf文件去HTTP Server下载RPM包并自动安装系统------>完成安装。
本次实验环境介绍:虚拟机:VMware Workstation 9.02 for windows服务端centOS5.8 ,IP 192.168.1.200,虚拟机网卡设置为桥接模式。
执行 PXE + KickStart安装要求:• DHCP 服务用来给客户机分配IP;• TFTP 服务用来存放PXE的相关文件,比如:系统引导文件;• HTTP 服务用来存放系统安装文件;• KickStart用来生成ks.cfg配置文件;• 带有一个 PXE 支持网卡的将安装的主机;安装步骤1.构建本地yum源[可选==如果VM不能连接到internet][root@localhost ~]# mount /dev/cdrom /media[root@localhost ~]# mv /etc/yum.repos.d/ ~[root@localhost ~]# vim /etc/yum.repos.d/local-source.repo[rhel-source]name=RHEL 6.2 Local Sourcebaseurl=file:///mediaenabled=1gpgcheck=02.安装相关软件包[root@localhost ~]# yum -y install dhcp httpd tftp-server system-config-kickstart3.创建安装源目录[root@localhost ~]# mkdir /var/www/html/centos54.挂载安装ISO安装源[root@localhost ~]# echo "/dev/cdrom /var/www/html/centos5 iso9660 \ defaults 0 0" >> /etc/fstab[root@localhost ~]# mount -a5.创建pxelinux.cfg目录[root@localhost ~]# mkdir /tftpboot/pxelinux.cfg6.拷贝PXE启动相关文件[root@localhost ~]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/[root@localhost ~]# cp /var/www/html/centos5/isolinux/isolinux.cfg \/tftpboot/pxelinux.cfg/default[root@localhost ~]# cp /var/www/html/centos5/isolinux/* /tftpboot/7.生成KS文件(图形界面下)[root@localhost ~]# system-config-kickstart[root@localhost ~]# cp ks.cfg /var/www/html/7.1.一个KS示例文件-CentOS5.8[root@localhost ~]# cat /var/www/html/ks.cfg#platform=x86, AMD64, Intel EM64T# System authorization informationauth --useshadow --enablemd5# System bootloader configuration#key --skip #如果是RHEL需要添加这行bootloader --location=mbr# Clear the Master Boot Recordzerombr# Partition clearing informationclearpart --all --initlabel# Use text mode installtext# Firewall configurationfirewall --enabled --ssh --trust=eth0,eth1# Run the Setup Agent on first bootfirstboot --disable# System keyboardkeyboard us# System languagelang en_US# Installation logging levellogging --level=info# Use network installationurl --url=http://192.168.1.200/centos5# Network informationnetwork --bootproto=dhcp --device=eth0 --onboot=onnetwork --bootproto=dhcp --device=eth1 --onboot=on#Root passwordrootpw --iscrypted $1$TrBGQ8pS$H3SgzJS1uofc0UXlq0h.4.# SELinux configurationselinux --permissive# System timezonetimezone --isUtc America/New_York# Install OS instead of upgradeinstall# X Window System configuration informationxconfig --defaultdesktop=GNOME --depth=24 --resolution=1280x800 # Disk partitioning informationpart /boot --bytes-per-inode=4096 --fstype="ext3" --size=500 part swap --bytes-per-inode=4096 --fstype="swap" --size=16000 part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1%packages@admin-tools@base#root默认密码:1234%^&*8.指定KS文件,编辑/tftpboot/pxelinux.cfg/default 添加:append initrd=initrd.img ks=http://192.168.1.200/ks.cfg修改完成后需要:wq!强制保持退出8.1.一个default示例文件:[root@localhost ~]# cat /tftpboot/pxelinux.cfg/defaultdefault linuxprompt 1timeout 60display boot.msgF1 boot.msgF2 options.msgF3 general.msgF4 param.msgF5 rescue.msglabel linuxkernel vmlinuzappend initrd=initrd.img ks=http://192.168.1.200/ks.cfglabel textkernel vmlinuzappend initrd=initrd.img textlabel kskernel vmlinuzappend ks initrd=initrd.imglabel locallocalboot 1label memtest86kernel memtestappend -9.创建并修改DHCP配置文件[root@localhost ~]# \cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample \ /etc/dhcpd.conf9.1.一个DHCP示例文件[root@localhost ~]# cat /etc/dhcpd.confddns-update-style interim;ignore client-updates;#添加下面两行next-server 192.168.1.200; #此处为PXE服务IPfilename "pxelinux.0";subnet 192.168.1.0 netmask 255.255.255.0 {# --- default gatewayoption routers 192.168.1.1;option subnet-mask 255.255.255.0;option nis-domain "";option domain-name "";option domain-name-servers 8.8.8.8;option time-offset -18000; # Eastern Standard Time# option ntp-servers 192.168.1.1;# option netbios-name-servers 192.168.1.1;# --- Selects point-to-point node (default is hybrid). Don't change this unless# -- you understand Netbios very well# option netbios-node-type 2;#DHCP地址池:从192.168.1.130到192.168.1.253.range dynamic-bootp 192.168.1.130 192.168.1.253;default-lease-time 21600;max-lease-time 43200;}10.关闭SELinux、防火墙[root@localhost ~]# setenforce 0[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' \ /etc/selinux/config[root@localhost ~]# service iptables stop[root@localhost ~]# chkconfig iptables off11.启动相关服务,设置开机自启动[root@localhost ~]# service httpd restart[root@localhost ~]# service dhcpd restart[root@localhost ~]# service xinetd restart[root@localhost ~]# chkconfig tftp on[root@localhost ~]# chkconfig httpd on[root@localhost ~]# chkconfig dhcpd on[root@localhost ~]# chkconfig xinetd on[root@localhost ~]# sed -i 's/disable = yes/disable = no/' \/etc/xinetd.d/tftp======配置完成-----配置完成后用网线接入交换机,客户机设置网络启动即可实现批量自动安装。
Linux无人值守安装(光盘)步骤
Linux无人值守安装(光盘)步骤一:准备安装系统的iso镜像,作者在此以rhel6系统为例。
[root@localhost /]#mkdir -p /opt/rhel6[root@localhost /]#mount /dev/cdrom /media[root@localhost /]#cp -arf /media/. /opt/rhel6 //参数-a表示权限不变制作ks.cfg文件,也就是kickstart生产的配置文件。
1.在命令行中输入system-config-kickstart即可打开kickstart的配置向导。
也可修改之前安装好的anaconda-ks.cfg文件,路径:/root[root@localhost /]#system-config-kickstart注意:前提是已近安装好system-config-kickstart,没有则执行yum -y install system-config-kickstart进行安装。
注意:安装方法选项,需要选择cdrom,而不是ftp或其他,/boot分区至少200M。
以下配置是根据已经安装好的anaconda-ks.cfg文件修改,因为新建无法进行软件包选择三、拷贝ks.cfg文件到系统镜像目录,并修改isolinux.cfg 配置文件。
[root@localhost /]#cp /root/ks.cfg /opt/rhel6/isolinux/[root@localhost /]#vim /opt/rhel6/isolinux/isolinux.cfg四、重新封装iso镜像文件(win下操作)1、打开原版iso镜像文件(删除自动的isolinux.cfg文件,然后把我们重新编辑过的文件添加进去)2、添加我们制作的ks.cfg文件到光盘根目录下,然后进行iso文件生成即可五、安装系统。
上述的四步操作已经将一个一键安装rhel6的iso镜像配置完成了,现在需要测试此iso镜像文件是否可用,我们可以使用虚拟机进行测试,新建虚拟机,使用rhel6.iso进行安装,出现安装界面后,需要等待60s左右就开始自动安装了,不需要其他操作将自动安装。
Linux系统全自动部署--kickstat详解(可编辑)
Linux系统全自动部署--kickstat详解Linux系统全自动部署--kickstart作者:大头肖近来在网上看到很多关于kickstart的技术文章,看来看去,发现都写的不是很完全,所以这次结合我做的一个完整的,全自动的linux系统安装部署的任务,把所有的详尽的步骤,以及一些细节的知识点,在这里一一列出来。
1:什么是kickstartKickstart 其实是Linux系统自动部署的一个脚本,用来定制你的系统的。
Kickstart的行为是由一个配置文件来控制的,它一般叫做ks.cfg。
这个文件的格式直观易懂。
如果您偏爱可视化,那么Red Hat Enterprise Linux带有一个方便的GUI工具,叫做redhat-config- kickstart或者system-config-kickstart,它能让您通过点击的方式配置ks.cfg。
然而在实际的工作或者学习环境里,我们一般把linux系统的自动部署,统称为kickstart。
其实真正的要完成自动部署,不光光是一个Kickstart的事情,它需要结合若干的工具或者服务一起来完成,下面我们介绍有哪些方法,或者方式来实现2:实现linux的方法一般在linux系统下做系统自动部署的方式,无外乎这几种:TFTP+NFS+DHCP+KickstartTFTP+HTTP+DHCP+KickstartTFTP+FTP+DHCP+Kickstart3:实现的原理大致的原理是这样的,客户机通过网卡启动,广播找到dhcp服务器,在dhcp服务的配置里面一般都指定了tftp的IP,然后客户端通过tftp的配置文件,会下载2个内核文件,用来做系统前期安装的引导(也就是我们平时安装系统时,看到那些……),配置文件还有另外一个重要的任务,就是通过指定ks.cfgkickstart文件文件,让客户端读到ks.cfg文件,剩下的就是ks.cfg的事情,在这个配置文件里有你定制的系统的信息,当然还有指向安装源,以及通过何种方式挂载安装源。
Kickstart 无人值守安装RHEL 5系统
K i c k s t a r t无人值守安装R H E L5系统一、理论部分什么是PXEPXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。
协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。
PXE协议的成功运行需要解决以下两个问题:1. 既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置;可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client 分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。
2. 通过什么协议下载Linux内核和根文件系统在PXE client所在的ROM中,已经存在了TFTP Client。
PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。
PXE协议的工作过程。
在上图中,PXE client是需要安装Linux的计算机,TFTP Server和DHCP Server运行在另外一台Linux Server上。
Bootstrap文件、配置文件、Linux内核以及Linux根文件系统都放置在Linux Server上TFTP服务器的根目录下。
PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。
Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。
linux无人值守
1. 方案介绍这种方案需要首先设置一个启动服务器和一个安装服务器(可以配置在同一台物理机上),然后通过网络启动存放在启动服务器上的安装程序。
安装程序会自动访问存放在安装服务器上的安装配置文件和安装介质来完成安装。
涉及到的技术该方案主要应用了三种技术:1)在PC上从网络启动Red Hat Linux安装程序的PXE协议2) Red Hat Linux安装程序提供的网络安装功能(即指通过网络访问安装介质)3) Red Hat Linux 安装程序提供的无人值守安装功能(Red Hat称为kickstart)技术1)和2)在参考资料1和2里已有部分介绍。
本文将重点描述参考资料中未涉及部分和无人值守安装功能。
软硬件需求要按本文介绍的方法完成自动化安装,你需要如下软硬件资源:一台PC机器作为启动和安装服务器(其它架构机器也可以)一台待安装的PC机器,它的网卡必须带有PXE支持一个建好的局域网,上述两台机器已经连接入同一子网待安装的Red Hat Linux安装介质该方案的实现步骤1)配置启动服务器2)配置安装服务器3)从网络启动机器以完成安装步骤1)和2)只需做一次即可。
对每一台需安装Red Hat Linux的机器,都需要在启动服务器和安装服务器中部署相应的数据,并执行一次步骤3)。
下面将带领您逐一执行这些步骤。
为了简单,我将用示例来说明如何在一台安装了 Red Hat Enterprise Linux AS 3 Update 5 的 PC 机上设置启动服务器和安装服务器,并在一台PC上安装 Red Hat Enterprise Linux AS 4 Update 2.2. 步骤1:配置启动服务器启动服务器的目的是帮助在待安装机器上启动Red Hat Linux 安装程序。
启动服务器上需要搭建一个DHCP 服务器和一个TFTP 服务器。
前者是为了给待安装机器分配IP地址,后者则是提供了一个让待安装机器下载启动镜像的途径。
linux自动化安装 kickstart配置文件详解
kickstart配置文件详解kickstart是什么许多系统管理员宁愿使用自动化的安装方法来安装红帽企业Linux.为了满足这种需要,红帽创建了kickstart安装方法.使用kickstart,系统管理员可以创建一个文件,这个文件包含了在典型的安装过程中所遇到的问题的答案.Kickstart文件可以存放于单一的服务器上,在安装过程中被独立的机器所读取.这个安装方法可以支持使用单一kickstart文件在多台机器上安装红帽企业Linux,这对于网络和系统管理员来说是个理想的选择.Kickstart给用户提供了一种自动化安装红帽企业Linux的方法.如何执行kickstart安装kickstart 安装可以使用本地光盘,本地硬盘驱动器,或通过NFS,FTP,HTTP 来执行.要使用kickstart,必须:1.创建一个kickstart文件.2.创建有kickstart文件的引导介质或者使这个文件在网络上可用.3.筹备安装树.4.开始kickstart安装.创建kickstart文件kickstart文件是一个简单的文本文件,它包含了一个项目列表,每个项目由一个关键字来识别.可以用「Kickstart 配置」应用程序创建它或是自己从头编写.红帽企业Linux安装程序也根据在安装过程中的选择创建一个简单的kickstart文件,这个文件被写入到/root/anaconda-ks.cfg.可以用任何能够把文件保存为ASCII文本的文本编辑器或字处理器来编辑它.首先,在创建kickstart文件时留意下列问题:1.每节必须按顺序指定.除非特别申明,每节内的项目则不必按序排列.小节的顺序为:命令部分,这里应该包括必需的选项.%packages部分,这部分选择需要安装的软件包.%pre和%post部分,这两个部分可以按任何顺序排列而且不是必需的.2.不必需的项目可以被省略.3.如果忽略任何必需的项目,安装程序会提示用户输入相关的项目的选择,就象用户在典型的安装过程中所遇到的一样.一旦用户进行了选择,安装会以非交互的方式(unattended)继续(除非找到另外一个没有指定的项目).4.以井号("#")开头的行被当作注释行并被忽略.对于kickstart 升级,下列项目是必需的:1.语言2.安装方法3.设备规格(如果这个设备是在安装过程中所需要的)4.键盘设置5.upgrade 关键字6.引导装载程序配置7.如果任何其他的项目被指定为upgrade,这些项目将被忽略(注意这包括了软件包选择).kickstart命令选项下面的选项可以放入kickstart文件.如果喜欢使用图形化的界面来创建kickstart文件,可以使用"Kickstart 配置"应用程序.(注:如果某选项后面跟随了一个等号(=),它后面就必须指定一个值.在示例命令中,括号([])中的选项是命令的可选参数.)autopart(可选)自动创建分区,大于1GB的根分区(/),交换分区和适合于不同体系结构的引导分区.一个或多个缺省分区的大小可以用part指令重新定义.ignoredisk(可选)导致安装程序忽略指定的磁盘.如果使用自动分区并希望忽略某些磁盘的话,这就很有用.例如,没有ignoredisk,如要试图在SAN-cluster系统里部署,kickstart就会失败,因为安装程序检测到SAN不返回分区表的被动路径(passive path).如果有磁盘的多个路径时,ignoredisk选项也有用处.语法是:ignoredisk --drives=drive1,drive2,...这里driveN是sda,sdb... hda等等中的一个.autostep(可选)和interactive相似,除了它进入下一屏幕,它通常用于调试.--autoscreenshot,安装过程中的每一步都截屏并在安装完成后把图片复制到/root/anaconda-screenshots.这对于制作文档很有用.auth或authconfig(必需)为系统设置验证选项.这和在安装后运行的authconfig命令相似.在缺省情况下,密码通常被加密但不使用影子文件(shadowed).--enablemd5,每个用户口令都使用md5加密.--enablenis,启用NIS支持.在缺省情况下,--enablenis使用在网络上找到的域.域应该总是用--nisdomain=选项手工设置.--nisdomain=,用在NIS服务的NIS域名.--nisserver=,用来提供NIS服务的服务器(默认通过广播).--useshadow或--enableshadow,使用屏蔽口令.--enableldap,在/etc/nsswitch.conf启用LDAP支持,允许系统从LDAP目录获取用户的信息(UIDs,主目录,shell 等等).要使用这个选项,必须安装nss_ldap软件包.也必须用--ldapserver=和--ldapbasedn=指定服务器和base DN(distinguished name).--enableldapauth,把LDAP作为一个验证方法使用.这启用了用于验证和更改密码的使用LDAP目录的pam_ldap模块.要使用这个选项,必须安装nss_ldap软件包.也必须用--ldapserver=和--ldapbasedn=指定服务器和base DN.--ldapserver=,如果指定了--enableldap或--enableldapauth,使用这个选项来指定所使用的LDAP服务器的名字.这个选项在/etc/ldap.conf文件里设定.--ldapbasedn=,如果指定了--enableldap或--enableldapauth,使用这个选项来指定用户信息存放的LDAP目录树里的DN.这个选项在/etc/ldap.conf文件里设置.--enableldaptls,使用TLS(传输层安全)查寻.该选项允许LDAP在验证前向LDAP服务器发送加密的用户名和口令.--enablekrb5,使用Kerberos 5验证用户.Kerberos自己不知道主目录,UID或shell.如果启用了Kerberos,必须启用LDAP,NIS,Hesiod或者使用/usr/sbin/useradd命令来使这个工作站获知用户的帐号.如果使用这个选项,必须安装pam_krb5软件包.--krb5realm=,工作站所属的Kerberos 5领域.--krb5kdc=,为领域请求提供服务的KDC.如果的领域内有多个KDC,使用逗号(,)来分隔它们.--krb5adminserver=,领域内还运行kadmind的KDC.该服务器处理改变口令以及其它管理请求.如果有不止一个KDC,该服务器必须是主KDC.--enablehesiod,启用Hesiod支持来查找用户主目录,UID 和shell.在网络中设置和使用Hesiod 的更多信息,可以在glibc 软件包里包括的/usr/share/doc/glibc-2.x.x/README.hesiod里找到.Hesiod是使用DNS记录来存储用户,组和其他信息的DNS 的扩展.--hesiodlhs,Hesiod LHS("left-hand side")选项在/etc/hesiod.conf里设置.Hesiod 库使用这个选项来决定查找信息时搜索DNS的名字,类似于LDAP对base DN的使用.--hesiodrhs,Hesiod RHS("right-hand side")选项在/etc/hesiod.conf里设置.Hesiod 库使用这个选项来决定查找信息时搜索DNS的名字,类似于LDAP对base DN的使用.--enablesmbauth,启用对SMB服务器(典型的是Samba或Windows服务器)的用户验证.SMB验证支持不知道主目录,UID 或shell.如果启用SMB,必须通过启用LDAP,NIS,Hesiod或者用/usr/sbin/useradd命令来使用户帐号为工作站所知.要使用这个选项,必须安装pam_smb软件包.--smbservers=,用来做SMB验证的服务器名称.要指定不止一个服务器,用逗号(,)来分隔它们.--smbworkgroup=,SMB服务器的工作组名称.--enablecache,启用nscd服务.nscd服务缓存用户,组和其他类型的信息.如果选择在网络上用NIS,LDAP或hesiod分发用户和组的信息,缓存就尤其有用.bootloader(必需)指定引导装载程序怎样被安装.对于安装和升级,这个选项都是必需的.--append=,指定内核参数.要指定多个参数,使用空格分隔它们.例如:bootloader --location=mbr --append="hdd=ide-scsi ide=nodma"--driveorder,指定在BIOS引导顺序中居首的驱动器.例如:bootloader --driveorder=sda,hda--location=,指定引导记录被写入的位置.有效的值如下:mbr(缺省),partition(在包含内核的分区的第一个扇区安装引导装载程序)或none(不安装引导装载程序).--password=,如果使用GRUB,把GRUB引导装载程序的密码设置到这个选项指定的位置.这应该被用来限制对可以传入任意内核参数的GRUB shell的访问.--md5pass=,如果使用GRUB,这和--password=类似,只是密码已经被加密.--upgrade,升级现存的引导装载程序配置,保留其中原有的项目.该选项仅可用于升级.clearpart(可选)在创建新分区之前,从系统上删除分区.默认不会删除任何分区.注:如果使用了clearpart命令,--onpart命令就不能够用在逻辑分区上.--all,删除系统上所有分区.--drives=,指定从哪个驱动器上清除分区.例如,下面的命令清除了主IDE控制器上的前两个驱动器上所有分区clearpart --drives=hda,hdb --all--initlabel,根据不同体系结构把磁盘标签初始化为缺省设置(例如,msdos用于x86而gpt用于Itanium).当安装到一个崭新的硬盘时,这很有用,安装程序不会询问是否应该初始化磁盘标签.--linux,删除所有Linux分区.--none(缺省),不要删除任何分区.cmdline(可选)在完全的非交互式的命令行模式下进行安装.任何交互式的提示都会终止安装.这个模式对于有x3270控制台的IBM System z系统很有用.device(可选)在多数的PCI系统里,安装程序会正确地自动探测以太网卡和SCSI卡.然而,在老的系统和某些PCI系统里,kickstart需要提示来找到正确的设备.device命令用来告诉安装程序安装额外的模块,它有着这样的格式:device <type><moduleName> --opts=<options><type>,用scsi或eth代替<moduleName>,使用应该被安装的内核模块的名称来替换.--opts=,传递给内核模块的选项.注意,如果把选项放在引号里,可以传递多个选项.例如:--opts="aic152x=0x340 io=11"driverdisk(可选)可以在kickstart安装过程中使用驱动软盘.必须把驱动软盘的内容复制到系统的硬盘分区的根目录下.然后必须使用driverdisk 命令来告诉安装程序到哪去寻找驱动磁盘.driverdisk <partition> [--type=<fstype>]另外,也可以为驱动程序盘指定一个网络位置:driverdisk --source=ftp://path/to/dd.imgdriverdisk --source=http://path/to/dd.imgdriverdisk --source=nfs:host:/path/to/img<partition>,包含驱动程序盘的分区.--type=,文件系统类型(如:vfat,ext2,ext3).firewall(可选)这个选项对应安装程序里的「防火墙配置」屏幕:firewall --enabled|--disabled [--trust=] <device> [--port=]--enabled或者--enable,拒绝不是答复输出请求如DNS答复或DHCP请求的进入连接.如果需要使用在这个机器上运行的服务,可以选择允许指定的服务穿过防火墙.--disabled或--disable,不要配置任何iptables规则.--trust=,在此列出设备,如eth0,这允许所有经由这个设备的数据包通过防火墙.如果需要列出多个设备,使用--trust eth0 --trust eth1.不要使用以逗号分隔的格式,如--trust eth0, eth1.<incoming>,使用以下服务中的一个或多个来替换,从而允许指定的服务穿过防火墙.--ssh--telnet--smtp--http--ftp--port=,可以用端口:协议(port:protocal)格式指定允许通过防火墙的端口.例如,如果想允许IMAP通过的防火墙,可以指定imap:tcp.还可以具体指定端口号码,要允许UDP分组在端口1234通过防火墙,输入1234:udp.要指定多个端口,用逗号将它们隔开.firstboot(可选)决定是否在系统第一次引导时启动"设置代理".如果启用,firstboot软件包必须被安装.如果不指定,这个选项是缺省为禁用的.--enable或--enabled,系统第一次引导时,启动"设置代理".--disable或--disabled,系统第一次引导时,不启动"设置代理".--reconfig,在系统引导时在重配置(reconfiguration)模式下启用"设置代理".这个模式启用了语言,鼠标,键盘,根密码,安全级别,时区和缺省网络配置之外的选项.halt(可选)在成功地完成安装后关闭系统.这和手工安装相似,手工安装的anaconda会显示一条信息并等待用户按任意键来重启系统.在kickstart安装过程中,如果没有指定完成方法(completion method),将缺省使用reboot选项.halt选项基本和shutdown -h命令相同.关于其他的完成方法,请参考kickstart的poweroff,reboot和shutdown选项.graphical(可选)在图形模式下执行kickstart安装.kickstart安装默认在图形模式下安装.install(可选)告诉系统来安装全新的系统而不是在现有系统上升级.这是缺省的模式.必须指定安装的类型,如cdrom,harddrive,nfs或url(FTP 或HTTP安装).install命令和安装方法命令必须处于不同的行上.cdrom从系统上的第一个光盘驱动器中安装.harddrive从本地驱动器的vfat或ext2格式的红帽安装树来安装.--biospart=,从BIOS分区来安装(如82).--partition=,从分区安装(如sdb2).--dir=,包含安装树的variant目录的目录.例如:harddrive --partition=hdb2 --dir=/tmp/install-treenfs从指定的NFS服务器安装.--server=,要从中安装的服务器(主机名或IP).--dir=,包含安装树的variant目录的目录.--opts=,用于挂载NFS输出的Mount选项(可选).例如:nfs --server= --dir=/tmp/install-treeurl通过FTP或HTTP从远程服务器上的安装树中安装.例如:url --url http://<server>/<dir>或:url --url ftp://<username>:<password>@<server>/<dir>ignore disk(可选)用来指定在分区,格式化和清除时anaconda不应该访问的磁盘.这个命令有一个必需的参数,就是用逗号隔开的需要忽略的驱动器列表.例如:ignoredisk --drives=[disk1,disk2,...]interactive(可选)在安装过程中使用kickstart文件里提供的信息,但允许检查和修改给定的值.将遇到安装程序的每个屏幕以及kickstart文件里给出的值.通过点击"下一步"接受给定的值或是改变值后点击"下一步"继续.请参考autostep命令.iscsi(可选)issci --ipaddr= [options].--target--port=--user=--password=iscsiname(可选)key(可选)指定安装密钥,它在软件包选择和获取支持时设别系统的时候是必需的.这个命令是红帽企业Linux-specific,它对Fedora来说没有意义并且会被忽略.--skip,跳过输入密钥.通常,如果没有key命令,anaconda将暂停并提示输入密钥.如果没有密钥或不想提供它,这个选项允许继续自动化安装.keyboard(必需)设置系统键盘类型.这里是i386,Itanium,和Alpha 机器上可用键盘的列表:be-latin1, bg, br-abnt2, cf, cz-lat2, cz-us-qwertz, de, de-latin1,de-latin1-nodeadkeys, dk, dk-latin1, dvorak, es, et, fi, fi-latin1,fr, fr-latin0, fr-latin1, fr-pc, fr_CH, fr_CH-latin1, gr, hu, hu101,is-latin1, it, it-ibm, it2, jp106, la-latin1, mk-utf, no, no-latin1,pl, pt-latin1, ro_win, ru, ru-cp1251, ru-ms, ru1, ru2, ru_win,se-latin1, sg, sg-latin1, sk-qwerty, slovene, speakup, speakup-lt,sv-latin1, sg, sg-latin1, sk-querty, slovene, trq, ua, uk, us, us-acentos文件/usr/lib/python2.2/site-packages/rhpl/keyboard_models.py 也包含这个列表而且是rhpl 软件包的一部分.lang(必需)设置在安装过程中使用的语言以及系统的缺省语言.例如,要把语言设置为英语,kickstart文件应该包含下面的一行:lang en_US文件/usr/share/system-config-language/locale-list里每一行的第一个字段提供了一个有效语言代码的列表,它是system-config-language软件包的一部分.文本模式的安装过程不支持某些语言(主要是中文,日语,韩文和印度的语言).如果用lang命令指定这些语言中的一种,安装过程仍然会使用英语,但是系统会缺省使用指定的语言.langsupport(不赞成)langsupport关键字已经被取消而且使用它将导致屏幕出现错误信息及终止安装.作为代替,应该在kickstart文件里的%packages 部分列出所支持的语言的支持软件包组.例如,要支持法语,应该把下面的语句加入到%packages:@french-supportlogvol(可选)使用以下语法来为逻辑卷管理(LVM)创建逻辑卷:logvol <mntpoint> --vgname=<name> --size=<size> --name=<name><options>这些选项如下所示:--noformat,使用一个现存的逻辑卷,不进行格式化.--useexisting,使用一个现存的逻辑卷,重新格式化它.--fstype=,为逻辑卷设置文件系统类型.合法值有:ext2,ext3,swap和vfat.--fsoptions=,为逻辑卷设置文件系统类型.合法值有:ext2,ext3,swap和vfat.--bytes-per-inode=,指定在逻辑卷上创建的文件系统的节点的大小.因为并不是所有的文件系统都支持这个选项,所以在其他情况下它都被忽略.--grow=,告诉逻辑卷使用所有可用空间(若有),或使用设置的最大值.--maxsize=,当逻辑卷被设置为可扩充时,以MB为单位的分区最大值.在这里指定一个整数值,不要在数字后加MB.--recommended=,自动决定逻辑卷的大小.--percent=,用卷组里可用空间的百分比来指定逻辑卷的大小.首先创建分区,然后创建逻辑卷组,再创建逻辑卷.例如:part pv.01 --size 3000volgroup myvg pv.01logvol / --vgname=myvg --size=2000 --name=rootvollogging(可选)这个命令控制安装过程中anaconda的错误日志.它对安装好的系统没有影响.--host=,发送日志信息到给定的远程主机,这个主机必须运行配置为可接受远程日志的syslogd进程.--port=,如果远程的syslogd进程没有使用缺省端口,这个选项必须被指定.--level=,debug,info,warning,error或critical中的一个.指定tty3上显示的信息的最小级别.然而,无论这个级别怎么设置,所有的信息仍将发送到日志文件.mediacheck(可选)如果指定的话,anaconda将在安装介质上运行mediacheck.这个命令只适用于交互式的安装,所以缺省是禁用的.monitor(可选)如果monitor命令没有指定,anaconda将使用X来自动检测的显示器设置.请在手工配置显示器之前尝试这个命令.--hsync=,指定显示器的水平频率.--vsync=,指定显示器的垂直频率.--monitor=,使用指定的显示器;显示器的名字应该在hwdata软件包里的/usr/share/hwdata/MonitorsDB列表上.这个显示器的列表也可以在Kickstart Configurator的X 配置屏幕上找到.如果提供了--hsync或--vsync,它将被忽略.如果没有提供显示器信息,安装程序将自动探测显示器.--noprobe=,不要试图探测显示器.mouse(已取消)mouse 关键字已经被取消,使用它将导致屏幕出现错误信息并终止安装.network(可选)为系统配置网络信息.如果kickstart安装不要求联网(换句话说,不从NFS,HTTP或FTP安装),就不需要为系统配置网络.如果安装要求联网而kickstart文件里没有提供网络信息,安装程序会假定从eth0通过动态IP地址(BOOTP/DHCP)来安装,并配置安装完的系统动态决定IP地址.network选项为通过网络的kickstart安装以及所安装的系统配置联网信息.--bootproto=,dhcp,bootp或static中的一种,缺省值是dhcp.bootp和dhcp被认为是相同的.static方法要求在kickstart文件里输入所有的网络信息.顾名思义,这些信息是静态的且在安装过程中和安装后所有.静态网络的设置行更为复杂,因为必须包括所有的网络配置信息.必须指定IP地址,网络,网关和命名服务器.例如("\"表示连续的行):network --bootproto=static --ip=10.0.2.15 --netmask=255.255.255.0 \--gateway=10.0.2.254 --nameserver=10.0.2.1如果使用静态方法,请注意以下两个限制:所有静态联网配置信息都必须在一行上指定,不能使用反斜线来换行.在这里只能够指定一个命名服务器.然而,如果需要的话,可以使用kickstart文件的%post段落来添加更多的命名服务器.--device=,用来选择用于安装的特定的以太设备.注意,除非kickstart文件是一个本地文件(如ks=floppy),否则--device=的使用是无效的.这是因为安装程序会配置网络来寻找kickstart文件.例如: network --bootproto=dhcp --device=eth0--ip=,要安装的机器的IP地址.--gateway=,IP地址格式的默认网关.--nameserver=,主名称服务器,IP地址格式.--nodns,不要配置任何DNS 服务器.--netmask=,安装的系统的子网掩码.--hostname=,安装的系统的主机名.--ethtool=,指定传给ethtool程序的网络设备的其他底层设置.--essid=,无线网络的网络ID.--wepkey=,无线网络的加密密钥.--onboot=,是否在引导时启用该设备.--class=,DHCP类型.--mtu=,该设备的MTU.--noipv4=,禁用此设备的IPv4.--noipv6=,禁用此设备的IPv6.multipath(可选)multipath --name= --device= --rule=part或partition(对于安装是必需的,升级可忽略).在系统上创建分区.如果不同分区里有多个红帽企业Linux系统,安装程序会提示用户升级哪个系统.警告:作为安装过程的一部分,所有被创建的分区都会被格式化,除非使用了--noformat和--onpart.<mntpoint>,<mntpoint>是分区的挂载点,它必须是下列形式中的一种:/<path>,例如,/,/usr,/homeswap,该分区被用作交换空间,要自动决定交换分区的大小,使用--recommended选项.swap --recommended自动生成的交换分区的最小值大于系统内存的数量,但小于系统内存的两倍.raid.<id>,该分区用于software RAID(参考raid).pv.<id>,该分区用于LVM(参考logvol).--size=,以MB为单位的分区最小值.在此处指定一个整数值,如500.不要在数字后面加MB.--grow,告诉分区使用所有可用空间(若有),或使用设置的最大值.--maxsize=,当分区被设置为可扩充时,以MB为单位的分区最大值.在这里指定一个整数值,不要在数字后加MB.--noformat,用--onpart命令来告诉安装程序不要格式化分区.--onpart=或--usepart=,把分区放在已存在的设备上.例如:partition /home --onpart=hda1,把/home置于必须已经存在的/dev/hda1上.--ondisk=或--ondrive=,强迫分区在指定磁盘上创建.例如:--ondisk=sdb把分区置于系统的第二个SCSI磁盘上.--asprimary,强迫把分区分配为主分区,否则提示分区失败.--type=(用fstype代替),这个选项不再可用了.应该使用fstype.--fstype=,为分区设置文件系统类型.有效的类型为ext2,ext3,swap和vfat.--start=,指定分区的起始柱面,它要求用--ondisk=或ondrive=指定驱动器.它也要求用--end=指定结束柱面或用--size=指定分区大小.--end=,指定分区的结束柱面.它要求用--start=指定起始柱面.--bytes-per-inode=,指定此分区上创建的文件系统的节点大小.不是所有的文件系统都支持这个选项,所以在其他情况下它都被忽略.--recommended,自动决定分区的大小.--onbiosdisk,强迫在BIOS 找到的特定磁盘上创建分区.注:如果因为某种原因分区失败了,虚拟终端3上会显示诊断信息.poweroff(可选)在安装成功后关闭系统并断电.通常,在手工安装过程中,anaconda会显示一条信息并等待用户按任意键来重新启动系统.在kickstart的安装过程中,如果没有指定完成方法,将使用缺省的reboot选项.raid(可选)组成软件RAID设备.该命令的格式是:raid <mntpoint> --level=<level> --device=<mddevice><partitions*><mntpoint>,RAID文件系统被挂载的位置.如果是/,除非已经有引导分区存在(/boot),RAID级别必须是1.如果已经有引导分区,/boot分区必须是级别1且根分区(/)可以是任何可用的类型.<partitions*>(这表示可以有多个分区)列出了加入到RAID阵列的RAID 标识符.--level=,要使用的RAID级别(0,1,或5).--device=,要使用的RAID设备的名称(如md0或md1).RAID设备的范围从md0直到md7,每个设备只能被使用一次.--bytes-per-inode=,指定RAID设备上创建的文件系统的节点大小.不是所有的文件系统都支持这个选项,所以对于那些文件系统它都会被忽略.--spares=,指定RAID阵列应该被指派N个备用驱动器.备用驱动器可以被用来在驱动器失败时重建阵列.--fstype=,为RAID阵列设置文件系统类型.合法值有:ext2,ext3,swap和vfat.--fsoptions=,指定当挂载文件系统时使用的free form字符串.这个字符串将被复制到系统的/etc/fstab文件里且应该用引号括起来.--noformat,使用现存的RAID设备,不要格式化RAID阵列.--useexisting,使用现存的RAID设备,重新格式化它.reboot(可选)在成功完成安装(没有参数)后重新启动.通常,kickstart会显示信息并等待用户按任意键来重新启动系统.repo(可选)配置用于软件包安装来源的额外的yum库.可以指定多个repo行.repo --name=<repoid> [--baseline=<url>| --mirrorlist=<url>]--name=,repo id.这个选项是必需的.--baseurl=,库的URL.这里不支持yum repo配置文件里使用的变量.可以使用它或者--mirrorlist,亦或两者都不使用.--mirrorlist=,指向库镜像的列表的URL.这里不支持yum repo配置文件里可能使用的变量.可以使用它或者--baseurl,亦或两者都不使用.rootpw(必需)把系统的根口令设置为<password>参数.rootpw [--iscrypted] <password>--iscrypted,如果该选项存在,口令就会假定已被加密.selinux(可选)在系统里设置SELinux状态.在anaconda里,SELinux缺省为enforcing.selinux [--disabled|--enforcing|--permissive]--enforcing,启用SELinux,实施缺省的targeted policy.注:如果kickstart文件里没有selinux选项,SELinux将被启用并缺省设置为--enforcing.--permissive,输出基于SELinux策略的警告,但实际上不执行这个策略.--disabled,在系统里完全地禁用SELinux.services(可选)修改运行在缺省运行级别下的缺省的服务集.在disabled列表里列出的服务将在enabled列表里的服务启用之前被禁用.--disabled,禁用用逗号隔开的列表里的服务.--enabled,启用用逗号隔开的列表里的服务.shutdown(可选)在成功完成安装后关闭系统.在kickstart安装过程中,如果没有指定完成方法,将使用缺省的reboot选项.skipx(可选)如果存在,安装的系统上就不会配置X.text(可选)在文本模式下执行kickstart安装. kickstart安装默认在图形模式下安装.timezone(可选)把系统时区设置为<timezone>,它可以是timeconfig列出的任何时区.timezone [--utc] <timezone>--utc,如果存在,系统就会假定硬件时钟被设置为UTC(格林威治标准)时间.upgrade(可选)告诉系统升级现有的系统而不是安装一个全新的系统.必须指定cdrom,harddrive,nfs或url(对于FTP和HTTP而言)中的一个作为安装树的位置.详情请参考install.user(可选)在系统上创建新用户.user --name=<username> [--groups=<list>] [--homedir=<homedir>] [--password=<password>] [--iscrypted] [--shell=<shell>] [--uid=<uid>]--name=,提供用户的名字.这个选项是必需的.--groups=,除了缺省的组以外,用户应该属于的用逗号隔开的组的列表.--homedir=,用户的主目录.如果没有指定,缺省为/home/<username>.--password=,新用户的密码.如果没有指定,这个帐号将缺省被锁住.--iscrypted=,所提供的密码是否已经加密?--shell=,用户的登录shell.如果不提供,缺省为系统的缺省设置.--uid=,用户的UID.如果未提供,缺省为下一个可用的非系统UID.vnc(可选)允许通过VNC远程地查看图形化的安装.文本模式的安装通常更喜欢使用这个方法,因为在文本模式下有某些大小和语言的限制.如果为no,这个命令将启动不需要密码的VNC服务器并打印出需要用来连接远程机器的命令.vnc [--host=<hostname>] [--port=<port>] [--password=<password>]。
linux无人值守
/var/lib/tftpboot/pxelinux.cfg/default
在label linux更改为
append ks=http://192.168.1.108/ks.cfg initrd=initrd.img
vi /etc/www/html/ks.cfg
filename "pxelinux.0";
range dynamic-bootp 192.168.1.150 192.168.1.160;
}
service dhcpd restart
yum install system-config-kickstart
system-config-kickstart
cd /var/www/html/Packages/
cp vesamenu.c32 /var/lib/tftpboot/
rpm -ivh dhcp-4.1.1-25.P1.el6.i686.rpm
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
@ b install httpd*
mount /dev/cdrom /mnt
cp -rf * /var/www/html/
rpm -ivh tftp-server-0.49-7.el6.i686.rpm
yum install tftp-server
vi /etc/xinetd.d/tftp
cp /var/www/html/images/pxeboot/vmlinuz /var/lib/tftpboot
LUKS-linux kickstart网络无人值守安装
[root@localhost ~]# chown root /root/123
[root@localhost ~]# chmod 600 /root/123
[root@localhost ~]# cryptsetup luksAddKey /dev/sdb8 /root/123is will overwrite data on /dev/sdb8 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase: 123
Verify passphrase: 123
3.输入正确的密码解密,会将加密的分区解锁到 /dev/mapper/
[root@localhost ~]# cryptsetup luksOpen /dev/sdb8 secret
Enter passphrase for /dev/sdb8: 123
[root@localhost ~]# ls /dev/mapper/secret
First data block=1
Maximum filesystem blocks=67371008
14 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
[root@localhost ~]# mkdir /secret
linux_无人值守kickstart
Linux Kickstart无人值守安装在我们的网络维护生涯中,有不少朋友,感觉到自己在机械的做一件事情,在无聊、无趣和无奈中工作。
尤其一些简单重复的操作更容易让大家感到工作的无趣。
今天将给大家介绍如何大规模的部署RedHat Linux操作系统,避免了手工安装的繁琐。
当然本方法也使用于一些特殊场合,譬如没有光驱或光驱坏掉的计算机、手中没有安装光盘等情况。
在安装RedHat Linux企业版的过程中,我们都知道它允许通过NFS、HTTP或FTP协议来进行网络安装。
但是在一般情况下我们需要有一个安装引导介质(引导光盘、引导软盘、U盘等),有没有一种方法不通过引导光盘方式来安装呢,而直接通过网络来进行安装?答案是有,即通过PXE技术实现。
一、基本原理那么PXE到底是什么呢?PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。
协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。
既然是通过网络传输,就需要IP地址;也就是说在其启动过程中,客户端请求服务器分配IP地址,之后PXE Client使用TFTP Client 通过TFTP(Trivial File Transfer Protocol)协议下载启动安装程序所需的文件。
简单地说PXE网络安装,客户机通过支持PXE的网卡向网络中发送请求DHCP信息的广播请求IP地址等信息,DHCP服务器给客户端提供IP地址和其它信息(TFTP服务器、启动文件等),之后请求并下载安装需要的文件。
在这个过程中需要一台服务器来提供启动文件、安装文件、以及安装过程中的自动应答文件等。
下图中介绍了Linux中自动安装系统的详细工作过程:/第一步:PXE Client向DHCP发送请求首先,将支持PXE的网络接口卡(NIC)的客户端的BIOS设置成为网络启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向网络中的DHCP服务器索取IP地址等信息。
RedHat无人值守自动部署系统
RedHat无人值守自动部署系统前言我们都知道RedHat中的Kickstart可实现RedHat光盘启动后的自动安装,如果把ks.cfg及RPM 安装文件考到一台HTTP或NFS服务器上,就可以实现网络自动安装,但还是需要RedHat的启动盘来启动机器,加上DHCP、TFTP和PXElinux及支持PXE的网卡,就可以实现远程启动。
也就是说,有了上面的条件,你只要给一台支持PXE的客户机上电,同时C/S主机间正常请求IP地址就可以安装好一台RedHat机器工作原理PXE网卡启动--DHCP服务器--获得IP地址--从TFTP服务器上下载pxelinux.0、vmlinuz、initrd--启动系统--通过PXElinux去HTTP下载ks.cfg文件--根据ks.cfg文件中配置的系统文件存放路径下载RPM包安装系统--安装结束详细说明陈述如下:1、网卡得先和DHCP Server 沟通,然后DHCP Server告诉PXE Client 到哪里(TFTP Server 的位置)去下载pxelinux.0 ,pxelinux.0是Linux的boot loader , 就是开机程式2、接着利用TFTP 取得pxelinux.0 文件及Kickstart 自动安裝配置文件所在位置,把pxelinux.0 載入内存,此時巳如同將Linux kernel 内存中3、接着kernel 根据DHCP Sserver 所告知的Kickstart 位置,取得Kicstart 的配置文件,然后根据Kickstart 文件的内容来自动安装Linux基础服务由于Redhat系统中的Kickstart技术涉及到知识面比较广,对初次接触LINUX系统人员需求很高,因此在搭建Kickstart服务前,得先掌握DHCP、TFTP、DNS、HTTP基础服务,以便更好理解Kickstart 工作原理及掌握关键技术点详细操作步骤:1、yum服务器在Redhat系统中基于rpm方式安装软件包时容易出现由于rpm安装包依赖关系的问题,而导致安装失败,通过yum服务器可自动解决rpm包的依赖关系,从而方便安装和管理rpm软件包。
无人值守安装 linux客户端
*选择的安装方式是通过NFS网络文件系统安装;
*选择的分区方法是不管客户机磁盘多大,都分三个必须分区,并指定分区的大小,剩余空间备用;
*选择的数据包不能包含图形界面开发工具或者开发工具,否则安装过程中会报错
后面手动添加的一行:filename "/pxelinux.0";
完成之后启动服务:
# service dhcpd restart
在客户端启动之后通过查看文件/var/lib/dhcp/dhcpd.leases可以得知客户端是否正常获得IP地
址
2.配置DNS服务:
按照刚才DHCP配置文件中的内容去配置DNS即可,这个步骤不是必须;
[root@server1 RPMS]# rpm -ihv system-config-kickstart-2.5.16-2.noarch.rpm --aid
warning: system-config-kickstart-2.5.16-2.noarch.rpm: V3 DSA signature: NOKEY, key ID
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
之后重启TFTP服务:/etc/rc.d/init.d/xinetd restart或者干脆chkconfig tftp on即可
4.配置NFS服务:
# vi /etc/exports
添加安装树的路径:
/installing/var/ftp/pub 192.1681.0/24(ro,async)
使用PXE+Kickstart无人值守安装服务
第十九章使用PXE+Kickstart无人值守安装服务如果我们是公司的运维,一次性来了100台服务器,你还是一台台安装,那就等死了,我们可以使用PXE + TFTP + FTP + DHCP + Kickstart等服务程序,搭建一套自动话安装的系统,进行批量安装。
无人值守系统第1章讲解了使用光盘镜像来安装Linux系统的方法,坦白讲,该方法适用于只安装少量Linux系统的情况。
如果生产环境中有数百台服务器都需要安装系统,这种方式就不合时宜了。
这时,我们就需要使用PXE + TFTP +FTP + DHCP + Kickstart服务搭建出一个无人值守安装系统。
这种无人值守安装系统可以自动地为数十台服务器安装系统,这一方面将运维人员从重复性的工作中解救出来,也大大提升了系统安装的效率。
PXE(Preboot eXecute Environment,预启动执行环境)是由Intel公司开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技术),主要用于在无人值守安装系统中引导客户端主机安装Linux操作系统。
Kickstart是一种无人值守的安装方式,其工作原理是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中需要填写参数时则自动匹配Kickstart生成的文件。
所以只要Kickstart文件包含了安装过程中需要人工填写的所有参数,那么从理论上来讲完全不需要运维人员的干预,就可以自动完成安装工作。
TFTP、FTP以及DHCP服务程序的配置与部署已经在第11章和第14章进行了详细讲解,这里不再赘述。
由于当前的客户端主机并没有完整的操作系统,也就不能完成FTP协议的验证了,所以需要使用TFTP协议帮助客户端获取引导及驱动文件。
vsftpd服务程序用于将完整的系统安装镜像通过网络传输给客户端。
当然,只要能将系统安装镜像成功传输给客户端即可,因此也可以使用httpd来替代vsftpd服务程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux Kickstart无人值守安装Linux Kickstart无人值守安装在我们的网络维护生涯中,有不少朋友,感觉到自己在机械的做一件事情,在无聊、无趣和无奈中工作。
尤其一些简单重复的操作更容易让大家感到工作的无趣。
今天将给大家介绍如何大规模的部署RedHat Linux操作系统,避免了手工安装的繁琐。
当然本方法也使用于一些特殊场合,譬如没有光驱或光驱坏掉的计算机、手中没有安装光盘等情况。
在安装RedHat Linux企业版的过程中,我们都知道它允许通过NFS、HTTP或FTP协议来进行网络安装。
但是在一般情况下我们需要有一个安装引导介质(引导光盘、引导软盘、U盘等),有没有一种方法不通过引导光盘方式来安装呢,而直接通过网络来进行安装?答案是有,即通过PXE技术实现。
一、基本原理那么PXE到底是什么呢?PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。
协议分为client和server两端,PXE client 在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。
既然是通过网络传输,就需要IP地址;也就是说在其启动过程中,客户端请求服务器分配IP地址,之后PXE Client使用TFTP Client 通过TFTP(Trivial File Transfer Protocol)协议下载启动安装程序所需的文件。
简单地说PXE网络安装,客户机通过支持PXE的网卡向网络中发送请求DHCP信息的广播请求IP地址等信息,DHCP服务器给客户端提供IP地址和其它信息(TFTP服务器、启动文件等),之后请求并下载安装需要的文件。
在这个过程中需要一台服务器来提供启动文件、安装文件、以及安装过程中的自动应答文件等。
下图中介绍了Linux中自动安装系统的详细工作过程:第一步:PXE Client向DHCP发送请求首先,将支持PXE的网络接口卡(NIC)的客户端的BIOS设置成为网络启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向网络中的DHCP服务器索取IP 地址等信息。
第二步:DHCP服务器提供信息DHCP服务器收到客户端的请求,验证是否来至合法的PXE Client 的请求,验证通过它将给客户端一个“提供”响应,这个“提供”响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。
第三步:PXE客户端请求下载启动文件客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。
这些启动文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。
第四步:Boot Server响应客户端请求并传送文件当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启动参数。
BootROM 由 TFTP通讯协议从Boot Server下载启动安装程序所必须的文件(pxelinux. 0、pxelinux.cfg/default)。
default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。
第五步:请求下载自动应答文件客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。
或许你会说,刚才PXE不是已经获取过IP地址了吗?为什么现在还需要一次?这是由于PXE获取的是安装用的内核以及安装程序等,而安装程序要获取的是安装系统所需的二进制包以及配置文件。
由于它们需要的内容不同造成PXE模块和安装程序是相对独立的,PXE的网络配置并不能传递给安装程序。
从而进行两次获取IP地址过程。
接着会读取该文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。
第六步:客户端安装操作系统将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。
OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。
安装完成后,将提示重新引导计算机。
这个时候注意,在重新引导的过程中一定要将BIOS修改回从硬盘启动,不然的话又会重复的自动安装操作系统。
在上面介绍中PXE client是需要安装Linux的计算机,TFTP Serve r、DHCP Server和NFS Server运行在另外一台Linux Server上。
Boots trap文件、配置文件、Linux内核都放置在Linux Server上TFTP服务器的根目录下。
而Linux根文件系统存放于NFS Server的共享目录中。
PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。
Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。
二、配置过程配置PXE安装,要进行如下步骤:①配置DHCP,用于给客户端提供IP地址及其它信息②配置TFTP服务器,用于提供客户端PXE引导所必须的文件③配置NFS服务器,用于存放安装树④配置Kickstart,用于自动应答安装⑤使用PXE功能引导客户机1、DHCP的安装与配置在PXE引导安装过程中,PXE客户端通过DHCP获取PXE服务器地址,PXE引导文件名称;然后客户机在使用TFTP协议从TFTP服务器下载引导文件并执行,从而启动计算机安装程序。
引导文件执行后,接着下载安装程序启动安装。
RedHat Linux使用了ISC的dhcpd软件,完成它的安装与配置。
1)安装DHCP软件包[root@qiuri Server]# rpm -ivh dhcp-3.0.5-13.el5.i386.rpmPreparing... ######################################### ## [100%]1:dhcp ######################################## ### [100%][root@qiuri Server]#2)配置DHCP安装完成后,复制DHCPD配置文件模版替换原配置文件/etc/dhcp d.conf。
接下来我们需要配置相关信息。
为了满足我们的安装需求,假设P XE服务器、DHCP服务器、TFTP服务器全部安装在一台为192.168.1.1的计算机上。
我们需要进行如下操作:(1)修改 /etc/dhcpd.conf 文件,指定 IP 地址等信息。
(2)在 '''/etc/dhcpd.conf''' 中增加 tftp-server 需要推送给客户端的启动文件(bootstrap):filename "pxelinux.0";因为 tftp 的默认目录是 /tftpboot,所以文件的绝对路径就是: /tftpboot/pxelinux.0";当然也可以指定为其它的路径。
另外需要指定 next-server 参数,告诉客户端在获取到 pxelinux.0 文件之后去哪里获取其余的启动文件: next-server 192.168.1.1;最终的配置文件结果如下所示:配置完成后,重启DHCP服务,并将它设为开机自启动。
2、安装配置TFTP服务器在PXE安装过程中,客户机在使用TFTP协议从TFTP服务器下载引导文件并执行。
我们主要通过配置TFTP服务器和PXE的引导配置完成这个过程。
1)安装配置TFTP服务器首先,安装TFTP服务器软件包,RedHat提供了如下两个软件包:●∙tftp-server:服务端程序● tftp :客户端程序配置tftp服务tftp 服务由xinetd服务管理。
编辑 '''/etc/xinetd.d/tftp''' 文件,将 '''disable = yes''' 改为:disable = no。
从这里看出,默认选择/tftpboot为TFTP服务器的根目录位置,配置完成后重启xinetd服务,使TFTP服务器生效。
[2)PXE引导配置(bootstrap)PXE启动映像文件由syslinux软件包提供,RedHat Enterprise Linux 光盘中已提供,如果没有此软件包可以到syslinux 主页:http://syslinu /下载rpm来安装。
我们只要安装了syslinux,就会生成一个pxelinux.0,将 pxelinux.0 这个文件复制到 '''/tftpboot''' 目录即可:3)用于网络启动的内核文件将 RedHat 安装光盘目录中的 '''images/pxeboot/{vmlinuz,i nitrd.img}''' 启动文件复制到某个安装目录,比如:'''/tftpboot/ ''':由于多个客户端可以从一个PXE服务器引导,PXE引导映像使用了一个复杂的配置文件搜索方式来查找针对客户机的配置文件。
如果客户机的网卡的MAC地址为'''88:99:AA:BB:CC:DD''',对应的IP 地址为192.168.1.195,那么客户机首先尝试以MAC地址为文件名匹配的配置文件,如果不存在就以IP地址来查找。
根据上述环境针对这台主机要查找的以一个配置文件就是 /tftpboot/pxelinux.cf g/01-88-99-aa-bb-cc-dd。
如果该文件不存在,就会根据IP地址来查找配置文件了,这个算法更复杂些,PXE映像查找会根据IP地址16进制命名的客户机配置文件。
例如:192.168.1.195对应的16进制的形式为C0A801C3。
(可以通过syslinux软件包提供的gethostip命令将10进制的IP转换为16进制)如果C0A801C3文件不存在,就尝试查找C0A801C文件,如果C0A801C也不存在,那么就尝试C0A801文件,依次类推,直到查找C文件,如果C也不存在的话,那么最后尝试default文件。