需求和发展:源代码编译的方式安装程序在灵活性,可定制性方面具有无可比拟的优势,正因为这种例外特性给管理员带来了额外的维护开销,需要在大规模的服务器群应用是存在一定的局限性。实现基本网络的软件包安装,更新,卸载的规范化管理。还学习基于PXE技术的网络装机方法。

部署YUM软件仓库

        yum的好处:借助YUM软件仓库,可以完成安装,卸载,自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关机,而不需要管理员逐个,手工去安装每一个rpm包,使管理员维护大量linux服务器更加轻松自如。特别是拥有大量linux主机的本地网络,构建一台源服务器可以缓解软件安装,升级等对lnternet的依赖

        YUM的前身是YUP(软件更新器),最初由TSS公司使用Python语音开放而成,后来有杜克大学的linux开发队伍改进,命名为YUM。要成功使用YUM机制来更新系统和软件,需要有一个包含各自rpm安装包文件的软件仓库,提供软件仓库的服务器也称为源服务器,而客户机中只要正确指定软件仓库的地址等信息,就可以通过对应的源服务器来安装或更新软件

     准备网络安装源(服务器端)

            YUM软件仓库通常借助于HTTP或FTP协议来进行发布,这样可以面向网络中的所有客户机提供软件源服务。便于客户机查询软件包,获取依赖关系等信息,在仓库中需要提供仓库数据,其中手机了目录下所有rpm包的头部信息。

          准备软件仓库目录

                    已针对软件目录Packages建好repodata数据,只要简单地将整个光盘中的内容通过HTTP或FTP进行发布,就可以作为软件仓库。可以创建/var/ftp/rhel6目录,并确保有足够的可用空间。

            对于用户搜集的非RHEL光盘自带的更多其他软件包,除了应准备相应的目录之外,还需要手动创建repodata数据文件,这就要用到createrepo工具。

                    安装并启用vsftpd服务

                        rpm -ivh /media/cdrom/Packages/vsftpd-2.2.2-11.e16_4.1.x86_64.rpm

                        chkconfig vsftpd on

                        service vsftpd start

    配置软件仓库位置(客户机端)

            客户机上需要指定至少一个可用的软件仓库。yum工具使用的软件仓库信息存放在/etc/yum.repo.d目录下扩展名为“.repo”的文件中

                vim /etc/yum.repo.s/rhel6.repo

                [base]        仓库类别

                name=tanhong    仓库名称

                baserul=ftp://10.0.0.1/rhel7    URL访问路径

                enabled=1        启用此软件仓库

                gpgcheck=1            验证软件包的签名

                gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release    GPG公钥文件位置

                [other]

                name=tanhong

                baseurl=ftp://10.0.0.1/other

                enabled=1

                gpgcheck=0            不验证软件包签名

             文件rhel7.repo需要手动创建,/etc/yum.repo.d目录下若有其他未用的“*.repo”文件建议删除,配置“enabled=1”为默认向,可以省略;gpgcheck和gpgkey两行配置用来检查软件包是否为red hat发布。

使用yum工具管理软件包

        yum工具是最常用的YUM客户端工具,由默认安装的yum-3.2.29-40.e16.noarch软件包提供

            查询软件包

                常见的查询操作包括查询软件包列表,查询软件包的描述信息,查询指定的软件包,可以结合子命令list,info,search实现

                yum list-查询软件包列表

                    直接执行yum list命令可以获得系统中的软件包安装情况,也可以查询软件仓库可用的软件包列表,其中的子命令list表示查看

                若执行yum list installed命令表示列出系统中已安装的软件包

                      yum list available指列出软件仓库可用(尚未安装)的软件包

                      yum list updates只列出可以升级版本的软件包

                yum info-查询软件包的描述信息

                    当需要查看某个软件包的描述信息是,yum info,子命令info表示获取信息,

                        yum info httpd:查看软件包httpd的信息

                yum search-查询指定的软件包

                    默认仅根据软件包名称和描述信息进行搜索。

                            yum search all可以扩大搜索范围。

                            yum search all httpd:将搜索软件仓库并列出与httpd相关的软件包

                    通过执行查询操作yum grouplist,yum groupinfo分组名称可以获得YUM仓库中的软件分组信息。yum groupinfo Desktop:将列出软件分组Desktop所包括的软件包等信息

                   安装,升级,卸载软件包

                        使用yum工具安装,升级软件包,分别通过子命令install,update来完成,操作对象为指定的软件包名,执行操作是会自动解决软件包之间的依赖关系,期间会提示用户按Y键确认安装或升级操作,若希望自动确定,可以在yum命令后添加-y选项。

                        yum -y install net-snmp:将从软件仓库下载并安装net-snmp软件包,并自动解决依赖关系。

            yum -y remove autofs:将卸载autafs软件包,并解决其依赖关系。

                    使用yum工具管理软件包时,结合子命令groupinstall,groupupdate,groupremove可以针对软件分组进行安装,升级,卸载操作。若执行yum -y groupremove Desktop命令,则将会删除整个Desktop分组所包含的软件包。

部署PXE远程安装服务

                    PXE由intel公司开发的网络引导技术,工作在client/server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。

                一个PXE网络体系,必须满足一下几个前提条件

                    客户机的网卡支持PXE协议,且主板支持网络引导

                    网络中有一台DHCP服务器为客户机自动分配地址,指定引导文件位置

                    服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载

                    第一个条件只需要在BLOS设置中允许从Network或LAN启动即可。

          PXE远程安装服务器集成了RHEL6的安装源,TFTP服务,DHCP服务,能够向客户机裸机发送PXE引导程序,linux内核,启动菜单等数据

                REHL6的网络安装源一般通过HTTP,FTP协议发布,另外也支持NFS(网络文件系统)协议。

            若采用FTP协议安装源,可以在服务器上部署一个YUM软件仓库

                mkdir /var/ftp/rhel6

                cp -rf /media/cdrom/* /var/ftp/rehl6

                service vsftpd start

            安装并启用TFTP服务

                TFTP服务由tftp-server软件包提供,默认由xinetd超级服务进行管理,因此配置文件位于/etc/xinetd.d/tftp、配置时只要将“disable=yes"改为“disable=no”,然后启动xinetd服务即可

                yum -y install tftp-server

                vim /etc/xinetd.d/tftp

                service tftp

                {

                    ....

                    protocal    = udp        tftp采用UDP传输协议

                    server    =  /usr/sbin/in.tftpd

                    server_args    =    -s /var/lib/tftpboot    指定TFTP

根目录

                    disable    =    no

                    ....

                 }

                service xinetd start

            准备linux内核,初始化镜像文件

                    用于PXE网络安装的linux内核,初始化镜像文件可以从RHEL6系统光盘获得,分别为vmlinuz和initrd.img,位于文件p_w_picpaths/pxeboot下

            准备PXE引导程序,启动菜单文件

                    用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好的软件包syslnux,然后将文件pxelinux.0也复制到tftp服务的根目录下

                    yum -y install syslinux

                    cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

                启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为default,应放置在tftp根目录的pxelinux.cfg子目录下

                    mkdir /var/lib/tftpboot/pxelinux.cfg

                    vim /var/lib/tftpboot/pexlinux.cfg/default

                    default auto

                    pormpt 1

                    label auto

                        kernel vmlinuz

                        apppend initrd=initrd.img devfs=nomount ramdisk_size=8192

                    label linux test

                        kernel vmlinuz

                        append text initrd=initrd.img devfs=nomount ramdisk_size=8192

                    label linux rescue

                        kernel vmlinuz

                        append rescue initrd=initrd.img devfs=nomount remdisk_size=8192

                        配置记录中定义了三个引导入口,分别为图形安装,文本安装,救援模式,其中,prompt用来设置是否等待用户选择;label用来定义并分隔启动项;kernel和append用来定义引导参数。引导入口的个数即内容根据需要自行定义

                安装并启用DHCP服务

                        由于PXE客户机通常是尚未装系统的裸机,因此为了与服务器取得联系并正确下载相关引导文件,需要预先配置好DHCP服务来自动分配地址并告知引导文件位置。

                        yum -y install dhcp

                        vim /etc/dhcp/dhcpd.conf

                        subnet DHCP地址池 netmask 255.0.0.0 {

                            option routes PXE服务器地址;

                            option subnet-mask 255.0.0.0;

                            option domain-name "tanhong.com"

                            option domain-name-servers 

                            default-lease-time 21600;

                            max-lease-time 43200;

                            range DHCP地址池;

                            next-server TFTP服务器的地址;

                            filename "pxelinux.0";

                        service dhcpd start

                    上述过程可以看出与一般的DHCP服务不同的是配置文件中增加了next-server和filename这两行记录,分别用来指定TFTP服务器的地址和PXE引导程序的文件名。

                        搭建好PXE远程安装服务器以后,在服务器配置正确,网络连接。PXE支持等都没有问题。然后客户机从THTP服务器中获取引导程序pxelinux.0,并根据引导菜单配置提示用户指定启动入口。

kickstart无人值守安装

            PXE几岁远程安装rhel6系统的方法,安装介质不再受限与光盘,移动硬盘等设备,大大提高了系统安装的灵活性。安装期间仍需要手动选择语音,键盘类型,执行安装源等一列下交互操作。

            准备安装应答文件

                rhel6系统中安装system-config-kickstart工具之后,即可通过图形化向导来配置安装应答文件。如果用户对自动应答文件的配置比较熟悉,也可以直接辩解rhel6安装后自动创建应答文件,根据需要适当修订后使用

                配置安装应答文件

                    通过桌面菜单应用程序-系统工具-kickstart即可打开kickstart配置程序窗口。可以针对基本配置,安装方法,引导装载程序选项,分区信息,网络配置等各种安装设置进行指定。