博文目錄
1、YUM軟件倉庫
2、YUM源的類型
3、配置PXE自動批量化裝機的注意事項
4、部署PXE遠程安裝服務linux
藉助於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」兩行配置用來檢查軟件包的完整性,若無此要求則能夠省略。緩存
- 本地源:Linux操做系統光盤就是一個yum倉庫;
- FTP源:將數據上傳到ftp用戶訪問;
- HTTP源:須要鏈接互聯網,更新數據方便,須要高速帶寬;
[root@centos01 ]# vim /etc/yum.repos.d/local.repo [local] name=centos baseurl=file:///mnt enabled=1 gpgcheck=0
[root@centos01 ~]# vim /etc/yum.repos.d/local.repo [ftp] name=centos baseurl=ftp://192.168.100.10/ enabled=1 gpgcheck=0
[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
[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軟件直接封裝 在IOS中bash
更新新的功能;在官方的基礎上進行修改服務器
開源愛好的我的修改數據包更新數據包網絡
[root@centos01 ~]#createrepo -g /mnt/repodata/repomd.xml ./benet/
PXE是由intel公司開發的網絡引導技術,工做在Client/Server模式,容許客戶機經過網絡從遠程服務器下載引導鏡像,並加載安裝文件或者整個操做系統。app
[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*
[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 <!--設置爲開機自啓-->
[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 <!--設置開機自動啓動-->
[root@centos01 ~]# cd /media/images/pxeboot/ [root@centos01 pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/
[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.cfg
dom
[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
[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
[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 <!--安裝所需工具-->
[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
寫好後,保存退出便可。
[root@centos01 ~]# cp /root/ks.cfg /var/ftp/
—————— 本文至此結束,感謝閱讀 ——————