自动化安装系统
自动化安装系统
原创
©著作权归作者所有:来自51CTO博客作者槐米的原创作品,请联系作者获取转载授权,否则将追究法律责任
安装:
依靠anaconda程序进行安装,产生位于/root目录下anaconda-ks.cfg配置文件
将要做的选择编写到配置文件中
a.手工编辑anaconda-ks.cfg文件
b.通过system-config-kickstart工具重新产生新的配置文件(图形化方法)
引导启动
a.系统光盘
b.引导光盘 boot.iso 在系统光盘中的p_w_picpath目录下
c.U盘 diskboot.img 在系统光盘中的p_w_picpath目录下
d.pxe 引导(网络引导 dhcp ftp)
传递配置文件
a. boot: linux ks= 表示在dhcp服务器上自动寻找
(需要在服务器上配置个文件上加入next-server[kickstart文件]存放的服务器
filename 表明文件的名字和路径)
b. boot:linux ks=ftp://192.168.101.100/pub/ks.cfg 配置文件在ftp服务器上
c. boot:linux ks=hd(无论什么接口的应盘都是hd):divice(表示那块硬盘):目录 配置文件在硬盘上
d. ks=hd:sda1(直接写分区,不用加/dev/):/ks.cfg (表明在SICS接口的第一块硬盘的第一分区上的根目录下)
e. ks=cdrom:目录 在光盘上 ks=cdrom:/ks.cfg
kickstart.cfg 文件
代码段
%packages安装的包,%pre预安装脚本段,%post后安装脚本段
kickstart 选项
autopart 自动分区
auth or authconfig 对用户进行身份验证
--enablemd5 MD5加密
--useshadow 密码存放位置
bootloader 引导时的加载器
--location= 指明加载器位置
clearpart 用于全新安装,清除硬盘所以东西
--initlable 初始化卷标?
firewall
--disabled 关闭防火墙
--enabled --trust= 服务名称 --port= 端口 开启防火墙并允许某些服务
firstboot 设置代理
--disable 不设置
halt 安装完后的操作
reboot重启
graphical 图形安装
install 全新安装
cdrom 安装文件位于光盘
harddrive 位于硬盘
--biospart=
--partition=
--dir=
url 系统安装文件位于某个服务器上(ftp,http)
--url http://ip/<dir>
--url ftp://用户名:密码@服务器地址及目录
匿名访问的ftp不用加
interactive 交互式
key --skip 跳过序列号,若有直接输入
keyboard us
lang en_US
logvol 挂载点 --vgname=卷组名 --size=大小 --name=逻辑卷名选项(--grow动态扩展,--fstype格式)
mediacheck 检测介质
network
--botproto=dhcp,bootp,static 如何获得IP 地址
若选static --ip= --netmask= --getway= --nameserver(DNS)
--hostname --noipv6
part 分区
partition /houme --onpart=hda1 had1挂载home位置
reboot 安装完自动重启
rootpw 管理员密码 root --md5 123 密码为123的md5加密方式
sellinux 安全策略
--enforcing 强制
--permissive 警告级别
--disabled 关闭
service 启动时关闭的服务
--disabled auditd,sendmail,cups
text 基于文本的安装
timezone 时区
user 创建临时账号
vnc 将安装界面传递给某个服务器
xconfig 启动后进入图形界面
--driver= 驱动
--videoar= 显存
--solution= 分辨率
--depth= 色深
zerombr mbr归零清除
Package Selection 数据包选择
@组名 -@名称 安装某个除。。之外的组
%packages 下面是我们所选择的安装的组
实例:用光盘引导的方式安装
1.安装kickstart
yum list all |grep kick
yum install system-config-kick*
2.运行kickstart
system-config-kickstart 填写配置
默认语言,键盘,时区,管理员密码,加密,平台,安装在字符界面下(默认图形)
安装模式:新安装;安装源文件:ftp,地址,目录,pub
Boot Loader new, MBR, Kernel:quite
分区清除所,新建分区/boot 100m;/10g;swap 512
网络设备 eth0
认证 MD5 useshadow
防火墙配置关闭,警告
显示色深分辨率桌面GNOME 启动不显示图形设置代理disabled
软件包选择
桌面gnome
应用软件编辑器,图形网络,文本互联网工具
环境卡发工具
服务器 dns web
系统工具管理工具,系统工具
存储,群集,虚拟化可以不要
语言默认,中文
预安装脚本
后安装脚本
保存—>name ks.cfg—>路径/root
3.vim /root/ks.cfg
4.搭建ftp服务器
若没有安装则安装并在/pub目录下拷入光盘文件
cd /var/ftp/rhcdrom (此时已安装ftp并将光盘文件都考入了此目录下)
mv * ../pub/
service vsftpd start (可以先用service vsftpd status 查看服务状态)
ftp 192.168.101.250 试着连接一下服务器
——>提示输入name:anonymous(匿名)
(将虚拟机网卡设置HOST-ONLY)
5.搭建dhcp服务器
rpm -ivh Server/dhcp-3.0.5-21.el5.i386.rpm
vim /etc/dhcpd.conf —>:r /usr/share/soc/dhcp-3.0.5/
启用dhcp服务 service dhcpd srart
vim /var/lib/dhcpd/dhcpd.leases 通过打开这个文件可以查看客户端已获得的IP得知
cp /root/ks.kfg ./ 将kick的配置文件也放入ftp/pub目录下
6.新建虚拟机
@用系统盘引导
boot:linux ks=ftp://192.168.101.250/pub/ks.cfg
@用引导光盘引导(boot.iso)
将光盘重新挂载 mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom/isolinux
ll 查看几个重要文件—>isolinux.bin(引导文件)
boot.msg
boot.cat(用来显示boot.msg)
isolinux.cfg (修改此文件则不用再boot下输入)
vim修改在其中两项—>default linux ks=cdrom:/ks.cfg(默认输入)
timeout 10(超时时间)
关于重做镜像文件
[mkisofs -o 新文件的名称.iso -b (自引导文件) isolinux/isolinux.bin -c isolinux/boot.cat(显示信息) -no-emul-boot(不模拟启动) -boot-load-size 4 -boot-info-table(文件列表) -R -J -v -T iso/]
mkdir /tmp/iso
cd ..
cp -a -r * /tmp/iso/
cd /tmp/iso/
cp /var/ftp/pub/ks.cfg ./
cd .. 必须写子目录
mkisofs -o myboot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T iso/(重新打包光盘镜像,位置必须在这些光盘文件的外面)
放入window下,用于载入
重新安装引导 boot:linux ks=cdrom:/ks.cfg
实例2.用pxe 自动安装(网络引导 dhcp ftp)
用于大型机房,只要加电,自动寻找配置文件,自动安装
无盘工作站网卡必须支持无盘(网络)引导
需要建立的服务器
vsftp 放置安装文件
yum 用于选择安装包system-config-kickstart
dhcp 用于客户动态得到地址
tftp 放置pxe 所需要的文件
机器名称脚本(后安装脚本)
staionx(x是数字,根据地址来命名).abc.com
#ifconfig |grep -i "bcast"|awk '{print $2}'|cut -d: -f2|cut -d. -f4
截取最后一位ip
vim name.sh
#!/bin/bash
ADDR=`ifconfig |grep -i "bcast"|awk '{print $2}'`
NUM=`echo ${ADDR##*.}`
sed -i 's&HOSTNAME.*&HOSTNAME=station'$NUM'.abc.com&' /etc/sysconfig/network
init 6 (重新启动)
安装服务器(dhcp,vsftpd,tftp,yum合为一个)
挂载光盘
安装以上服务器
cp -a -r /mont/cdrom/* /var/ftp/pub 拷贝光盘文件
du -sh pub 查看pub目录目前大小
tftp 依赖于超级守护进程
ll /etc/xinetd.d/tftpd
vim tftpd
service xinetd restart 唤醒进程
grep tftp /etc/services 查×××
cd /tftpboot/
pxeboot/放置用pxe进行引导的驱动
cp /ment/cdrom/p_w_picpaths/pxeboot/initrd.img ./ 驱动
cp /ment/cdrom/p_w_picpaths/pxeboot/vmlinuz ./ 内核
cp /usr/lib/syslinux/pxelinux.0 ./ 另一个驱动
mkdir pxelinux.cfg 建立对应目录
cp /mnt/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
vim default
配置dhcp服务器
vim /etc/dhcpd.conf
底行模式下,r /rsr/share/doc/dhcp*/decpd.conf.sample
编辑
tail -f /var/log/messages 查看dhcp日志
设置服务都自动启动
Chkconfig dhcpd on
chkconfig vsftpd on
chkconfig xinetd on
编辑yum客户端
cd /etc/yum.repo.d/
cp rhel-debuinfo.repo server.repo
vim server.repo
[rhel-server]
name=
baseurl=file:///mnt/cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///mont/cdrom/RPM-GPG-KEY-redhat-release
[rhel-VT]
name=
baseurl=file:///mnt/cdrom/VT
enabled=1
gpgcheck=1
gpgkey=file:///mont/cdrom/RPM-GPG-KEY-redhat-release
[rhel-cluser]
name=
baseurl=file:///mnt/cdrom/Cluser
enabled=1
gpgcheck=1
gpgkey=file:///mont/cdrom/RPM-GPG-KEY-redhat-release
[rhel-cluserstorage]
name=
baseurl=file:///mnt/cdrom/CluserStorage
enabled=1
gpgcheck=1
gpgkey=file:///mont/cdrom/RPM-GPG-KEY-redhat-release
配置kickstart
用yum 安装kickstart文件
system-config-kickstart
进入配置(图形形式)
基本配置
默认语言,键盘,时区,使用UTC,口令加密,安装后重新引导,文本模式安装
安装方法 ftp ftp服务器:192.168.101.250 ftp目录:/pub
MBR 内核参数quite
添加分区清除MBR,删除所有,初始化标签分区 / ext 3 10G,/boot ext3 100M, swap 512M
网络配置 dhcp
验证 md5 屏蔽口令
防火墙禁用 selinux 警告
显示配置色深分辨率不启用X窗口设置代理禁用
软件包
桌面 GNOME
应用程序办公图形图形互联网文本互联网编辑器
开发 开发工具开发库
服务器 ftp dhcp
基本系统 X窗口基本管理系统
群集,虚拟化,不用
语言中文
预安装脚本
后安装脚本使用的编辑器 /bin/bash
将脚本内容加入不用拷#!/bash
将产生的文件放入/var/ftp/pub目录下
第三行后加入 key --skip
重启所有服务器 dhcp
vsftpd
xinetd
新建虚拟机,引导镜像为自动,加电后将自动安装
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
虚拟机安装CentOS7
本章节我们将学习如何安装创建一个Linux学习环境。
CentOS VMware 云计算 系统 运维 -
Centos7安装python3.12
centos7 安装高版本的python3.12的方法和过程;
python 软链接 python3 -
centos7自动化编译安装nginx
centos7自动化编译安装nginx
centos7 自动化 编译安装 -
Centos7安装自动化运维Ansible
自动化运维Devops-AnsibleAnsible是新出现的自动化运维工具,基于开发,集合了众多运维工具(、cfengine、chef、func、fabric)
运维 自动化 ansible Ansible python