YUM仓库服务与PXE网络装机无人值守

YUM概述

1.YUM,Yellow dog Updater Modified
基于RPM包构建的软件更新机制
可以自动解决依赖关系
所有软件包由集中的YUM软件仓库提供
2.软件仓库的提供方式
FTP服务:ftp://…【常用】
HTTP服务:http://…
本地目录:file:///…

3.RPM软件包的来源
Red Hat发布的RPM包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合

构建CentOS 7 软件仓库

RPM包来自CentOS 7 DVD光盘
通过FTP、HTTP或本地目录提供给客户机

[root@localhost ~]# yum install -y httpd vsftpd

[root@localhost ~]# mkdir /var/ftp/centos

[root@localhost ~]# cp -r /media/cdrom/* /var/ftp/centos&
*包括存在依赖关系的所有RPM包
*使用createrepo工具建立仓库数据文件

mkdir /var/www/html/other

----上传系统光盘中没有的rpm包到此目录

which createrepo

yum install -y createrepo

cd /var/www/html/other

createrepo -g /media/cdrom/repodata/repomd.xml ./

[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl start httpd
linux2
*为客户机指定YUM仓库位置
配置文件:/etc/yum.repos.d/.repo

[root@localhost ~]# vi /etc/yum.repos.d/centos.repo
[base]
name=centos rpm packets
【软件仓库的路径】
baseurl=ftp://192.168.10.1/centos
enabled=1
gpgcheck=1
【软件校验公钥】
gpgkey=file:///etc/pki//etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[other]
name=Other RPM Packages
baseurl=http://192.168.10.1/other
enabled=1
gpgcheck=0

yum clean all
【本地YUM仓库示例】
直接以RHEL 6光盘作软件仓库

  1. 将RHEL 6光盘放入光驱
  2. 指定仓库位置,URL地址为file:///media/cdrom

[root@localhost ~]# vi /etc/yum.repos.d/local.repo

[local]
name=Red Hat Enterprise Linux
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
yum工具概述

1.关于yum命令
*由软件包yum-3.2.29-40.el6.noarch提供
*用来访问YUM仓库,查询、下载及安装、卸载软件包

2.yum的配置文件
*基本设置:/etc/yum.conf
仓库设置:/etc/yum.repos.d/.repo
*日志文件:/var/log/yum.log
软件安装、升级

*安装软件
yum install [软件名]
yum groupinstall <包组名>

*升级软件
yum update
yum groupupdate

【-y表示自动确认】
[root@localhost ~]# yum -y install net-snmp

[root@localhost ~]# yum -y groupinstall gnome-desktop

[root@localhost ~]# yum -y update

7.卸载软件
yum remove <软件名>…
yum groupremove <包组名>…

[root@localhost ~]# yum -y remove autofs

安装图形界面
[root@oracle ~]# yum -y groupinstall “GNOME Desktop” “Graphical administration Tools”

如果图形界面无法正常启动,创建此软链接,更改运行级别

[root@oracle ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

[root@oracle ~]# reboot now

验证:重启后,是否进入图形界面
根据提示输入时区(shanghai);设置用户及密码

服务器的批量部署

*规模化:同时装配多台服务器
*自动化:安装系统、配置各种服务
*远程实现:不需要光盘、U盘等安装介质
*对于无盘工作站,服务器端需要提供可运行的完整系统镜像;对于远程安装,只要提供引导程序和安装源就可以了

1.关于PXE网络
*PXE,Pre-boot eXcution Environment
*预启动执行环境,在操作系统之前运行
*可用于远程安装、构建无盘工作站

2.服务端
*运行DHCP服务,用来分配地址、定位引导程序
*运行TFTP服务器,提供引导程序下载

3.客户端【目前都支持下列功能】
*网卡支持PXE协议
*主板支持网络启动
基本部署过程

  1. 准备centos7 安装源(YUM仓库)
  2. 启用TFTP服务,并提供内核、引导程序
  3. 启用DHCP服务,用来分配地址、指出引导程序位置
  4. 配置启动菜单

5.TFTP服务及引导文件
*安装tftp-server软件包,启用tftp服务
*准备内核文件vmlinuz、初始化镜像initrd.img
*准备引导程序文件pxelinux.0

[root@localhost ~]# mount /dev/cdrom /var/ftp/centos/

[root@localhost ~]# systemctl start vsftpd

[root@localhost ~]# netstat -anpt | grep vsftpd

[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# vi /etc/xinetd.d/tftp

    ……

【默认的TFTP根目录】
server_args = -s /var/lib/tftpboot

    disable                 = no
    ……

[root@localhost ~]# systemctl start tftp

[root@localhost ~]# systemctl enable tftp

[root@localhost ~]# netstat -anultp |grep 69

[root@localhost ~]# cd /media/cdrom/images/pxeboot/

vmlinuz是可引导的、压缩的内核。“vm”代表 “Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。
vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。
类RedHat 系统从vmlinuz 核心引导后,会读取initrd.img 启动镜像。该文件中包含驱动模块等信息,是非常重要的文件。不同版本使用的格式不同。

[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。不仅支持采用BIOS结构的主板,而且从6.0版也开始支持采用EFI结构的新型主板。
[root@localhost ~]# yum -y install syslinux

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

6.DHCP服务的PXE设置
*next-server:指定TFTP服务器地址
*filename:指定要下载的引导程序文件

[root@localhost ~]# yum -y install dhcp

[root@localhost ~]# vi /etc/dhcp/dhcpd.conf

ddns-update-style none;
subnet 192.168.10.0 netmask 255.255.255.0 {

option routers 192.168.10.1;

option domain-name-servers 192.168.10.1,202.106.0.20;

range 192.168.10.100 192.168.10.200;

next-server 192.168.10.1;

filename "pxelinux.0";

}

[root@localhost ~]# systemctl start dhcpd

[root@localhost ~]# systemctl enable dhcpd

[root@localhost ~]# netstat -anput| grep dhcpd

7.默认的启动菜单文件
*创建/var/lib/tftpboot/pxelinux.cfg/default

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

default auto

prompt 1

label auto

kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.10.1/centos

#【文本模式安装】
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.10.1/centos

#【进入救援模式】
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.10.1/centos

8.验证PXE网络安装

kickstart无人值守技术

*创建应答文件,预先定义好各种安装设置
*免去交互设置过程,从而实现全自动化安装
*通过添加%post脚本,完成安装后的各种配置操作
1)需要安装system-config-kickstart软件包
yum -y install system-config-kickstart

2)使用system-config-kickstart工具创建新的应答文件
*system-config-kickstart
*会弹出图形配置界面
(1)基本配置
@默认语言:中文简体
@时区:Asia/Shanghai
@root密码:123123
@给root密码加密
@安装后重启
(2)安装方法
@执行全新安装
@ftp:ftp服务器 192.168.10.1
ftp目录:centos
(3)引导装载程序选项:安装新引导装载程序
(4)分区信息:
@ /boot 500MB
@ /home 4GB
@ /swap 2GB
@ / 剩余所有空间
(5)网络配置:
添加网络ens33–dhcp模式
(6)防火墙配置
@ selinux 禁用
@ 禁用防火墙

(7)软件包选择(centos7系统不再提供软件包的选择


如需要安装软件包,可根据需要将/root/anaconda-ks.cfg的软件包安装脚本复制到ks.cfg中。只需要复制%packages到%end之间即可。里面包含以@开头的软件包列表,将不需要的删除,剩下的即为系统会自动安装的软件包。

例:最小化安装
@packages
@^minimal
%end


(8)安装后脚本
@使用解释程序:/bin/bash
@在下面写脚本
echo -e
’ [base]\nname=centos7.4\nbaseurl=ftp://192.168.10.1/centos\nenabled=1\ngpgcheck=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Centos-7’ >/etc/yum.repos.d/centos.repo

然后 文件-保存- /root/ks.cfg

把最小化安装命令编辑到此文件
[root@localhost ~]#vim /root/ks.cfg

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL

Install OS instead of upgrade

install

Keyboard layouts

keyboard ‘us’

Root password

rootpw --iscrypted 1 1 1ELzSeDQs$PSuY8cTWs7NnXUgbTB/z/1

Use network installation

url --url=“ftp://192.168.10.1/centos”

System language

lang zh_CN

Firewall configuration

firewall --disabled

System authorization information

auth --useshadow --passalgo=sha512

Use graphical install

graphical
firstboot --disable

SELinux configuration

selinux --disabled

Network information

network --bootproto=dhcp --device=ens33

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
rm -fr /etc/yum.repos.d/*
echo -e
’ [base]\nname=centos7.4\nbaseurl=ftp://192.168.10.1/centos\nenabled=1\ngpgcheck=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Centos-7’ >/etc/yum.repos.d/centos.repo
%end

末尾添加:
%packages
@^minimal
%end
PXE+kickstart自动安装

1.PXE与kickstart结合使用
*将应答文件部署在客户机可访问的位置
*修改启动菜单文件,调用应答文件

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

[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

ddefault auto

prompt 0

label auto

kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.10.1/centos ks=ftp://192.168.10.1/ks.cfg

2.验证自动安装

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值