博文目录
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/
—————— 本文至此结束,感谢阅读 ——————