Centos7的YUM倉庫服務與PXE網絡裝機

博文目錄
1、YUM軟件倉庫
2、YUM源的類型
3、配置PXE自動批量化裝機的注意事項
4、部署PXE遠程安裝服務linux

1、YUM軟件倉庫

藉助於YUM軟件倉庫,能夠完成安裝、卸載、自動升級rpm軟件包等任務,可以自動查找並解決rpm包之間的依賴關係,而無須管理員逐個、手工地去安裝每一個rpm包,使管理員在維護大量Linux服務器時更加輕鬆自如。
要成功使用YUM機制來更新系統和軟件,須要有一個包含各類rpm安裝包文件及其依賴軟件的軟件倉庫(repository),提供軟件倉庫的服務器也稱爲「源」服務器。在客戶機中只要正確指定軟件倉庫的地址等信息,就能夠經過對應的「源」服務器來安裝或更新軟件了。
YUM軟件倉庫一般藉助於HTTP或FTP協議來進行發佈,這樣能夠面向網絡中的全部客戶機提供軟件源服務。爲了便於客戶機查詢軟件包。獲取依賴關係等信息,在軟件倉庫中須要提供倉庫數據(repodata),其中收集了目錄下全部rpm包的頭部信息。vim

一、客戶端配置軟件倉庫位置

在客戶端上 須要指定至少一個可用的軟件倉庫,而後才能使用下一節將要介紹的yum工具來下載、安裝軟件包。yum工具使用的軟件倉庫信息存放在/etc/yum.repos.d目錄下擴展名爲「.repo」的文件中。centos

[root@centos01 ]# vim /etc/yum.repos.d/local.repo 
[local]                              <!--倉庫聲明-->
name=centos                   <!--yum源的名字-->
baseurl=file:///root/benet        <!--倉庫位置-->
enabled=1                   <!--開啓yum功能-->
gpgcheck=0                    <!--不驗證軟件包的簽名-->

上述操做中,文件centos7.repo須要手動建立./etc/yum.repos.d目錄下如有其餘未用的「*.repo」文件建議將其刪除。「enabled=1」爲默認項,能夠省略;「gpgcheck」和「gpgkey」兩行配置用來檢查軟件包的完整性,若無此要求則能夠省略。緩存

2、YUM源的類型

  • 本地源:Linux操做系統光盤就是一個yum倉庫;
  • FTP源:將數據上傳到ftp用戶訪問;
  • HTTP源:須要鏈接互聯網,更新數據方便,須要高速帶寬;

一、配置本地源

[root@centos01 ]# vim /etc/yum.repos.d/local.repo 
[local]
name=centos
baseurl=file:///mnt
enabled=1
gpgcheck=0

二、配置ftp源

[root@centos01 ~]# vim /etc/yum.repos.d/local.repo 
[ftp]
name=centos
baseurl=ftp://192.168.100.10/
enabled=1
gpgcheck=0

三、配置HTTP源

[root@centos01 ~]#cd /etc/yum.repos.d/
[root@centos01 yum.repos.d]#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyum.com/repo/Centos-7.repo

四、YUM的使用

[root@centos01 ~]#yum cleam all       <!--清楚yum緩存-->
[root@centos01 ~]#yum list           <!--查詢軟件列表-->
[root@centos01 ~]#yum info dhcp     <!--查詢軟件包信息-->
[root@centos01 ~]#yum -y install dhcp     <!--安裝dhcp軟件-->
[root@centos01 ~]#yum -y remove dhcp    <!--卸載dhcp軟件-->
[root@centos01 ~]#yum search httpd      <!--查詢軟件-->

五、RPM包的來源

1)centos官方

更新系統將rpm軟件直接封裝 在IOS中bash

2)第三方組織發佈rpm包

更新新的功能;在官方的基礎上進行修改服務器

3)用戶自定義rpm包集合

開源愛好的我的修改數據包更新數據包網絡

4)用戶建立yum源

[root@centos01 ~]#createrepo -g /mnt/repodata/repomd.xml ./benet/

3、配置PXE自動批量化裝機的注意事項

PXE是由intel公司開發的網絡引導技術,工做在Client/Server模式,容許客戶機經過網絡從遠程服務器下載引導鏡像,並加載安裝文件或者整個操做系統。app

  • 客戶機的網卡支持PXE協議(集成BOOTROM芯片),且主板支持網絡引導;
  • 網絡中有一臺DHCP服務器以便爲客戶機自動分配地址、指定引導文件位置;
  • 服務器經過TFTP(簡單文件傳輸協議)提供引導鏡像文件的下載;
    其中,一個條件爲硬件要求,目前絕大多數服務器和大多數PC都可以提供此支持,只須要在BIOS設置中容許從Nerwork或LAN啓動便可。

4、部署PXE遠程安裝服務

一、配置YUM倉庫,並安裝ftp服務:

[root@centos01 ~]# mount /dev/cdrom /media
[root@centos01 ~]# cd /etc/yum.repos.d/
[root@centos01 yum.repos.d]# rm -rf *
[root@centos01 yum.repos.d]# vim a.repo

[yum]
baseurl=file:///media
gpgcheck=0

[root@centos01 yum.repos.d]# yum -y install vsftpd*

二、準備centos7安裝源並啓動ftp服務:

[root@centos01 yum.repos.d]# mkdir /var/ftp/centos7
[root@centos01 yum.repos.d]# cp -rf /media/* /var/ftp/centos7/
[root@centos01 yum.repos.d]# systemctl start vsftpd             <!--啓動ftp服務-->
[root@centos01 yum.repos.d]# systemctl enable vsftpd          <!--設置爲開機自啓-->

三、安裝並啓動TFTP服務:

[root@centos01 yum.repos.d]# yum -y install tftp-server
[root@centos01 yum.repos.d]# vim /etc/xinetd.d/tftp             <!--編輯TFTP配置文件-->

                                     ...............................
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no               <!--將此處默認的yes改成no便可-->
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

[root@centos01 yum.repos.d]# systemctl start tftp                <!--啓動TFTP服務-->
[root@centos01 yum.repos.d]# systemctl enable tftp      <!--設置開機自動啓動-->

四、準備Linux內核、初始化鏡像文件(在系統盤中):

[root@centos01 ~]# cd /media/images/pxeboot/
[root@centos01 pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/

五、準備PXE引導程序:

[root@centos01 pxeboot]# yum -y install syslinux    <!--安裝引導程序-->
[root@centos01 pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

六、配置啓動菜單(典型的和無人值守安裝的啓動菜單根據實際需求二選一配置便可):

[root@centos01 pxeboot]# mkdir /var/lib/tftpboot/pxelinux.cfgdom

1)典型的啓動菜單,沒法實現無人值守安裝:

[root@centos01 pxeboot]# vim /var/lib/tftpboot/pxelinux.cfg/default            

default auto
prompt 1
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.100.10/centos7
label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://192.168.100.10/centos7
label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.100.10/centos7

2)無人值守安裝的啓動菜單:

[root@centos01 pxeboot]# vim /var/lib/tftpboot/pxelinux.cfg/default 

default auto
prompt 0
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.100.10/centos7 
                ks=ftp://192.168.100.10/ks.cfg

在上面兩種啓動菜單,我這裏配置的是無人值守安裝,若選擇典型的啓動菜單,那麼接下來的操做有不少就是沒必要要的了,只要安裝上DHCP服務器便可部署系統了。socket

七、安裝並啓用DHCP服務器:

[root@centos01 pxeboot]# yum -y install dhcp
[root@centos01 pxeboot]# vim /etc/dhcp/dhcpd.conf
                              ...........................

subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.100 192.168.100.200;
  option domain-name-servers 8.8.8.8;
  option domain-name "internal.example.org";
  option routers 192.168.100.254;
  option broadcast-address 192.168.100.255;
  default-lease-time 21600;
  max-lease-time 43200;
  next-server 192.168.100.10;                 <!--指定TFTP服務器的地址-->
  filename "pxelinux.0";                     <!--指定PXE引導程序的文件名-->
}

[root@centos01 pxeboot]# systemctl start dhcpd        <!--啓動dhcp服務-->
[root@centos01 pxeboot]# systemctl enable dhcpd      <!--設置開機自動啓動-->

八、準備安裝應答文件:

在centos 7 系統中若是安裝了system-config-kickstart工具後,可經過圖形化嚮導工具來配置安裝應答文件:

[root@centos01 pxeboot]# yum -y install system-config-kickstart &lt;!--安裝所需工具--&gt;

1)打開圖形化程序:

Centos7的YUM倉庫服務與PXE網絡裝機

2)配置安裝應答參數:

Centos7的YUM倉庫服務與PXE網絡裝機

3)因爲ftp服務默認容許匿名訪問,因此不用指定用戶名和密碼:

Centos7的YUM倉庫服務與PXE網絡裝機

4)引導裝載程序:

Centos7的YUM倉庫服務與PXE網絡裝機

5)分區信息(根據實際需求選擇合適的硬盤分區方案):

Centos7的YUM倉庫服務與PXE網絡裝機

6)網絡配置及防火牆:

Centos7的YUM倉庫服務與PXE網絡裝機
Centos7的YUM倉庫服務與PXE網絡裝機

7)編寫安裝後腳本,保存到文檔目錄裏:

Centos7的YUM倉庫服務與PXE網絡裝機

保存後的應答文件:

[root@centos01 ~]# vim ks.cfg              <!--最後生成的應答文件以下-->
(可直接複製此文件即可省略圖形化配置的那些步驟,結合實際需求進行修改後使用便可):

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$bauETRq3$WOpze2jeKD9q3qgKK50xj0
# Use network installation
url --url="ftp://ftp:192.168.100.10/centos7"
# System language
lang zh_CN
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled

# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=ens32
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype="xfs" --size=500
part /home --fstype="xfs" --size=4096
part swap --fstype="swap" --size=2048
part / --fstype="xfs" --grow --size=1

%post --interpreter=/bin/bash
cd /etc/yum.repos.d
rm -rf *
echo -e "[base]" > aa.repo
echo -e "baseurl=ftp://192.168.100.10/centos7" >> aa.repo
echo -e "gpgcheck=0" >> aa.repo
%end

不過上面的配置文件還差點東西,須要在配置文件末尾繼續寫入三行,以此來選擇最小安裝:

%packages
@^minimal
%end

寫好後,保存退出便可。

九、將自動應答文件複製到指定目錄(在以前的引導菜單指定的「ks=」項的路徑):

[root@centos01 ~]# cp /root/ks.cfg /var/ftp/

十、OK,客戶機開機,驗證效果(耐心等待完成便可):

Centos7的YUM倉庫服務與PXE網絡裝機

安裝成功:

Centos7的YUM倉庫服務與PXE網絡裝機

—————— 本文至此結束,感謝閱讀 ——————

相關文章
相關標籤/搜索