linux系统管理之无人值守网络安装linux操作系统
一.一,网络安装的相关准备
需要准备的服务
Tftp(TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了)
Dhcp(动态分配ip服务)
Nfs(文件共享服务,这里将系统iso镜像共享,以及安装过程的设置产生的配置文件ks.cfg)
重要文件的作用(mnt为系统iso的挂载点)
Tftp的主目录/var/lib/tftpboot
引导文件(引导系统)/mnt/isolinux下的所有文件
(引导网卡) /usr/share/syslinux/pxelinux.0
这里介绍一下default(注意:default是将/mnt/isolinux/isolinux.cfg移动到/var/lib/tftpboot/pxelinux.cfg/default中)
文件default里的文件和安装linux操作系统的开始选择界面相关
注意:网卡引导文件需要添加到dhcp服务的配置文件中,同时也需要将安装服务器的ip地址添加到其中
上面的只是符合网络安装而已,
如果按装包system-config-kickstart,并且做相应的设置,就可以实现无人值守的系统安装了
打开system-config-kickstart的图形化界面,然后一步步的进行设置,最后保存,就会产生一个ks.cfg的文件,这个文件就是安装系统过程中需要进行的一系列的选择(如分区,选择时区,安装的服务等等),其实就相当于刚才所打开的图形化界面里的选择和设置就是按照linux系统过程中的那些选择和设置了
那么如果我们将ks.cfg作为共享文件,加入到引导文件中去,就可以避免在安装linux系统的过程中再进行那些操作了。即实现无人值守安装了
语言的解释有时候是苍白的,不清楚的,所以还是通过实验来更仔细的解释吧。
二.二,网络安装系统的配置过程
注意:这里所有的操作都是在服务器上进行的(可能是dhcp,安装系统的服务器,这里是将dhcp和安装系统的服务器合二为一)
第一步:安装需要的服务,这里就把dhcp服务,tftp-server服务安装了(这里用yum安装,所以首先要搭仓库哦),并且要启动服务哟!
第二步:进入这些服务的配置文件进行设置
1)tfpt的配置
-
1.这里首先进入到tftp的主目录吧,也就是/var/lib/tftpboot
-
2.将挂载到/mnt下的系统iso文件中的isolinux下的所有文件都转移到/var/lib/tftpboot下面,isolinux下的所有文件均为linux系统的引导文件。
-
3.安装syslinux包,然后就可以看到/usr/share/syslinux下的pxelinux.0这个文件了,接着也将pxelinux.0这个文件转移到tftpboot下,pxelinux.0是作为boot引导网卡启动所必须的,没有它,就无法通过网卡来通过dhcp服务来获取ip地址了(讲到这,顺便透露一下,待会dhcp的配置文件里得将pxelinux.0添加进去,具体情况一会详谈吧,呵呵!)
-
4在系统镜像里有一个文件isolinux.cfg,这个文件就是安装操作系统开始时的几项选择,喏,下面就是了,不过这里不能直接在isoliux.cfg里更改,需要在tftpboot下创建目录文件pxelinux.cfg,然后再pxeliux.cfg目录下创建文件default,最后将isolinux.cfg里的内容都转移到default文件中,然后在default里更改下图的内容
三.三,开始实验
1.配仓库
2.安装tfpt包并进行配置
Tftp-server,dhcp,tftp后,会在/var/lib/tftpboot这个文件,这个文件是作为linux安装的引导文件,将/mnt/isolinux下的文件都复制到tftpboot下
除了上面的外,还需要安装syslinux包,然后就可以在/usr/share/syslinux/pxelinux.0这个文件,要将其放入tftpboot下,并将其复制到pxelinux.cfg文件下
在tftpboot下创建目录文件pxelinux.cfg
然后将isolinux.cfg放到pxelinux.cfg目录文件下的default中
打开default文件
如果需要改变,我们可以将需要改变的选项复制,下图就是了
下面就是引导文件了,其中pxelinux.cfg是自己创建的目录文件,isolinux.cfg是需要放入到其下的文件default中的
下面就是pxelinux.cfg下的default文件了
3.dhcp的配置
下面就需要进入dhcp的配置文件了,值得注意的是,下面的dhcp.conf虽然是dhcp
的主配置文件,但是里面却没有配置信息,配置信息在
/usr/share/doc/dhcp*/dhcpd.conf.sample里面,所以可以将其导入到dhcpd.conf中就可以了
这里就细细解释一下了,上面的第一行写的是安装服务器的网段和子网掩码,第二行则是分配的动态ip的范围
下面的第一行是用于网卡启动的引导文件名
下面的第二行是安装linux系统的服务器ip地址(这里dhcp服务和安装系统的在同一台服务器上)
4.NFS的配置
这个作用是将系统镜像共享,配置最为简单
进入/etc/exports中,添加下面一条就可以了
然后重启nfs服务即可
到这一步,其实网络安装linux系统的配置已经完成了,接下来只需要进入计算机的bios中,将boot下的network boot 作为第一启动项就可以了
无人值守安装
呵呵,注意,上面讲的只是将系统以网络安装的形式进行而已,如果在实际生产环境中肯定是还不够的,那就是见安装操作系统过程中的一些设置避免掉,进行无人值守安装,那就完美了
如此,这里就涉及到一个文件ks.cfg,里面的内容都是按照linux系统过程中的一些设置信息。
将到这,我就力图将这里说的清楚点
其实吧,我们在安装操作系统的过程中,是会跳出一些选项,需要我们分区啊,装服务啊,选择键盘及安装语言等等,其实吧,在这些选择的过程中,系统还没有真正的安装,而在选择那些的过程中,每一个选择后,进行下一步时,这些选择就以文字的形式写入到ks.cfg中,当一切选择都做玩后,系统才会安装,而ks.cfg文件也会被保存下来。
其实可以在安装服务器上就将这个文件配置完成,那么在安装系统的过程中,就将这个文件读取了,于是就没有那些手动安装过程了
那么文件ks.cfg如何去完成呢?
其实我们可以按照软件system-config-kickstart就可以了
接下来就看看这些设置吧,第一个基本配置就不用多说了
下面的就是安装的方式,这里选择的是nfs共享安装的
下面的rhgb quiet是内核所需要的,可以加上
可以在这里进行分区
选择网络
这里是验证,可以不用写
这里是防火墙的开关选择
显示配置,不用管
这里是选择需要安装的软件包,可以装了系统后再看情况安装
这里一般不用
这里是系统可以执行的脚本,可以根据情况来写
这里举例
保存后就可以在root的家下看到文件ks.cfg了,这里的ks.cfg和anaconda-ks.cfg内容一样,里面的都是安装linux系统过程中的一些设置选择,当安装系统时那些设置都会以文本的形式存放在这里
这里将文件ks.cfg放入到/PXEfile文件中,将/PXEfile共享,以便安装系统时可以读取,来实现自动安装
然后重启nfs
还需要在tftpboot下的pxelinux.cfg/default中加入下面的一行
最后安装,就可以自行了,下面的是安装的引导界面,这个界面就是default里配置的信息
至此实验结束!!!
附件列表
转载于:https://blog.51cto.com/endmoon/1679363