引导镜像实现CentOS半自动化安装

本实验在生产环境中现在已经用不到了,因为已经有更高级的自动化安装软件来取代了本次实验,所以只是为了能从低层更了解Linux的安装,从而做了本次实验,加深与理解当前所学的知识。

先看一下拓扑图吧!

简单的解释一下拓扑图,先在服务器端开启http服务,在http默认目录下创建两个目录分别是ks、x86_64,并把光盘镜像挂载至/var/www/html/x86_64目录下,把已经制作好的ks.cfg文件复制至/var/www/html/ks目录中;在服务器端制作isolinux用于引导启动客户端(其实就是把光盘镜像中的isolinux目录给抽取出来,并重新用命令生成一个iso的文件)。在客户端在挂载isolinux,通过局域网进行安装CentOS 6.6 x86_64.

(1) 首先制作ks.cfg文件

在CentOS 6安装完成后会在/root下生成一个anaconda-ks.cfg文件,这个是由CentOS 6安装程序anaconda根据你在系统安装过程中所有的键盘类型、语言、时区、分区、程序包的选择而生成的一个文件。

如果我们要制作一个anaconda-ks.cfg文件,可以参考这个文件在些基础上进行修改,可以使用system-config-kickstart程序生成相关的文件。

安装system-config-kickstart程序

[[email protected] ~]# yum install -ysystem-config-kickstart

启动system-config-kickstart程序

使用xshell 4远程连接终端启动system-config-kickstart,建议安装XmanagerEnterprise 4软件,这样可以在本地终端中打开Linux系统中的软件。在命令行中输入system-config-kickstart命令即可。

修改完之后在File菜单中选择Save保存,在最上面输入ks.cfg名字,选择保存位置,点击Save按钮即可。

查看刚刚生成的文件并进行添加一些内容,因为有些命令是需要手动添加的,相关的请参考REHL官方的资料。

[[email protected] ~]# cat /var/www/html/ks/ks.cfg
#platform=x86, AMD64, or IntelEM64T
#version=DEVEL
# Firewall configuration
firewall --disabled                  #安装后重启初始化系统时选择关防火墙
# Install OS instead of upgrade
install                        #安装类型选择为安装
# Use network installation
url --url="http://172.16.9.21/x86_64/"         #通过网络安装,使用的Http服务
repo --name="CentOS"--baseurl=http://172.16.9.21/x86_64/ --cost=100
#repo --name="FedoraEPEL" --baseurl=http://172.16.0.1/fedora-epel/6/x86_64/ --cost=1000
# Root password
rootpw --iscrypted $1$jLn8z9P1$ff07gV9CfXmz1Q0NEOmAw/  #管理员root的密码,使用加密存放
# System authorizationinformation
auth  --useshadow --passalgo=sha512          #认证方法,使用的sha512的加密方式
# Use graphical install
graphical                         #使用图形界面进行安装
firstboot --disable
# System keyboard
keyboard us                       #选择的键盘类型为us
# System language
lang en_US                        #语言为英文
# SELinux configuration
selinux --disabled                    #关闭selinux
# Do not configure the X WindowSystem
skipx                           #忽略X Window System的配置
# Installation logging level
logging --level=info                   #启动的级别为文本
# Reboot after installation
reboot                           #安装完之后重启系统
# System timezone
timezone  Asia/Shanghai                  #系统时区为亚洲/上海
# Network information
#network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloaderconfiguration              #表示传递能内核的参数
bootloader--append="crashkernel=auto crashkernel=auto rhgb quiet"--location=mbr --driveorder="sda"
# Partition clearinginformation
clearpart --all  #以下都是对磁盘进行分区操作的,这里使用的LVM
zerombr       #磁盘没有分区,对磁盘进行分区
part /boot --fstype=ext4--size=200
part pv.008002 --size=61440
 
volgroup vg0 --pesize=8192pv.008002
logvol / --fstype=ext4--name=root --vgname=vg0 --size=20480
logvol swap --name=swap--vgname=vg0 --size=2048
logvol /usr --fstype=ext4--name=usr --vgname=vg0 --size=10240
logvol /var --fstype=ext4--name=var --vgname=vg0 --size=20480
 
%post                #安装完之后需要执行的脚本
 
%end                 #脚本结束符
%packages              #在安装过程中需要安装的程序包及程序包组
@base
@basic-desktop
@chinese-support
@client-mgmt-tools
@core
@desktop-platform
@fonts
@general-desktop
@graphical-admin-tools
@legacy-x
@network-file-system-client
@perl-runtime
@remote-desktop-clients
@x11
-ibus-table-cangjie
-ibus-table-erbi
-ibus-table-wubi
 
%end        #程序包及程序包组结束符

(2) 安装http服务与启动

[[email protected] ~]# yum installhttpd -y           #安装httpd服务
[[email protected] ~]# service httpdstart            #启动http服务
Starting httpd:                                           [  OK  ]
[[email protected] ~]# netstat-ntlp|grep 80      #查看启动状态,http的端口为tcp的80端口
tcp        0     0 :::80                      :::*                        LISTEN      2008/httpd

(3) 挂载光盘镜像

把光盘镜像放入光驱,如果使用的是虚拟机把光盘文件添加至虚拟机的光驱,并选择启用。

[[email protected] ~]# mkdir /var/www/html/{ks,x86_64}       #创建ks,x86_64目录
[[email protected] ~]# mount -r/dev/dvd /var/www/html/x86_64/   #以只读方式挂载光盘镜像至/var/www/html/x86_64/
[[email protected] ~]# mount|tail -1                #查看挂载情况
/dev/sr0 on/var/www/html/x86_64 type iso9660 (ro)

(4) 复制ks.cfg文件至/var/www/html/ks目录下

[[email protected] ~]# cp/root/ks.cfg /var/www/html/ks/
[[email protected] ~]# ls/var/www/html/ks/
ks.cfg

(5)制作isolinux启动引导

在/tmp/创建一个cdrom目录,把光盘镜像中isolinux复制到/tmp/cdrom目录中,并使用mkisofs命令生成iso文件。

[[email protected] ~]# cd /tmp/                       #切换着/tmp目录
[[email protected] tmp]# cp -r/var/www/html/x86_64/isolinux/ /tmp/cdrom/ #复制isolinux到/tmp/cdrom目录
[[email protected] tmp]# ls cdrom/                 #查看复制结果
isolinux
[[email protected] tmp]# mkisofs -R-J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "Centos6.6 X86_64 boot disk" -b isolinux/isolinux.bin -c isolinux/boot.cat -o/root/boot.iso cdrom/     #制作boot.iso文件
[[email protected] tmp]# ll/root/boot.iso    #查看iso文件制作情况
-rw-r--r-- 1 root root 39866368Apr 17 13:39 /root/boot.iso

(6)把制作好的boot.iso文件下载到本地的电脑下,可能通过Xshell 4自带的Xftp进行拖动把boot.iso放至于桌面上。

(7)新建一个虚拟机,磁盘空间大小为120G,把boot.iso加载至虚拟机光驱中,选择“启动时连接”,打开刚才新建的虚拟机,按F2进入BIOS,移动至Boot选项修改第一启动项为CD-ROM Driver,按F10保存并退出,将会重启虚拟机。

(8)在出现CentOS安装选择界面时,如下图所示。

此时按ESC键,因为我们只有一个引导启动,并没有安装程序所需要的程序包,我们想通过手动指定ks.cfg文件和利用http服务实现远程的安装CentOS 6 x86_64。

将进入boot的命令提示符,输入linux ip=172.16.9.34 netmask=255.255.0.0 gateway=172.16.0.1ks=http://172.16.9.21:80/ks/ks.cfg,输入完成后回车,开始加载isolinux中微内核vmlinux和initrd.img文件,开始CentOS的自动安装。

提示:

在boot的命令行提示符中输入的linux表示使用图形化安装CentOS,需要有大于512M的内存;

ip、netmask、gateway是用于指定本地网卡的IP地址、掩码、网关的,

ks表示用于指定ks.cfg文件所在位置,可以使用http,ftp,nfs,https,DVD Driver,使用的不同服务后面接的地址可能会有所不同的:

DVD drive          ks=cdrom:/path/to/kickstart_file

HTTP Server         ks=http://server_ip:port/path/to/kickstart_file

HTTPS Server         ks=https://server_ip:port/path/to/kickstart_file

FTP Server          ks=ftp://server_ip:port/path/to/kickstart_file

NFS Server          ks=nfs:server_ip:/path/to/kickstart_file

安装Centos进阶:

通过上面的安装你发现我们每次都要指定IP址址,子网掩码,网关及ks.cfg文件的路径,我们能不能把ks.cfg文件制作进isolinux引导启动中,假设所在的网络环境中已经有一个DHCP服务器能让其主机自动获取IP地址,这样我们只需要把isolinux制作的光盘放进光驱中,然后就是等待等待,Centos 6 x86_64已经安装完了。简单的画一个图:

我们只需要在上面的基础上加以修改就能实现的,做如下修改;

(1)把ks.cfg文件复制至/tmp/cdrom/目录下

[[email protected] tmp]# cp/var/www/html/ks/ks.cfg /tmp/cdrom/ks.cfg
[[email protected] tmp]# ls/tmp/cdrom/
isolinux  ks.cfg

(2)修改ks.cfg文件中开启网卡的DHCP服务,让其能自动获取IP地址添加以下一行:

# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on   #在上面的ks.cfg文件中把前面的“#”取消即可;

(3)切换至/tmp/cdrom/isolinux/目录,对isolinux.cfg文件进行修改

[[email protected] ~]# cd/tmp/cdrom/isolinux/            #切换至/tmp/cdrom/isolinux/目录

[[email protected] isolinux]#chmod  u+w *              #对所有的文件添加修改的权限

[[email protected] isolinux]# vimisolinux.cfg            #编译isolinux.cfg文件,在append后面加上ks=cdrom:/ks.cfg

label linux

menu label ^Install or upgrade an existingsystem

menu default

kernel vmlinuz

append initrd=initrd.img ks=cdrom:/ks.cfg

(4)重新制作isolinux引导镜像

[[email protected] isolinux]# cd /tmp              #切换至/tmp目录
[[email protected] tmp]# mkisofs -R-J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "Centos6.6 X86_64 boot disk" -b isolinux/isolinux.bin -c isolinux/boot.cat -o/root/boot.iso cdrom/

(5)把/root/boot.iso下载至本地桌面上,重启用于安装系统的虚拟机,选择“Install or upgrade an existing system”标签,进行自动化的安装CentOS6.6 x86_64.

提示:还可以把ks.cfg文件在制作isolinux引导启动镜像时指定为http服务中的ks/ks.cfg文件,你还可以把ks.cfg文件直接做到发行版的光盘中,根据你的需求来实现自动化的安装。

小结:

此实验在生产环境中已经没有使用,只是为了理解CentOS的安装流程,从而通过自己手动制作isolinux来引导启动,通过http服务来提供CentOS安装镜像及ks.cfg文件,从而实现一个半自动化的安装CentOS系统,为以后的更好的理解全自动化安装CentOS,做下前期的安装流程熟悉。

请大声的对自己说一句:

    当你觉得前途迷茫、没有方向时,可以选择踏踏实实做好眼下

时间: 2024-12-27 06:03:15

引导镜像实现CentOS半自动化安装的相关文章

Centos系统半自动化安装

很多朋友也都使用光盘安装过操作Centos操作系统,光盘启动之后也就会给一个选择界面一步一步的选择好之后就开始正式安装了,如果是安装一台服务器的操作系统,这样也倒好说,如果等着我们安装的是成百上千的时候,还能这样一台的去手动选择第一个台的配置选项吗,很显然这样操作是很愚蠢的,所以我们能否让它按着一个标准划的模板自动化去配置后进行安装了.Centos系列的操作系统的光盘安装管理器anaconda已经给我们提供了这一功能,只是大家没有去做过多的研究罢了,那么今天就带大家来了解一下如何使用anacon

CentOS 系统自动化安装

CentOS 系统自动化安装 概述: 系统安装过程 配置anaconda 自动化安装系统 CentOS 系统安装: 1.启动流程: bootloader-->kernel(initrd)-->rootfs-->anaconda(启动安装程序) 2.anaconda:(系统安装程序) tui:基于cureses的文本配置窗口: gui:图形界面 Anaconda是RedHat.CentOS.Fedora等Linux的安装管理程序.它可以提供文本.图形等安装管理方式,并支持Kickstart

kickstart/Anaconda实现Centos主机的半自动化安装

友情提醒:文中的实验环境为vmware workstation 10 + Centos 6.6 X86_64,请谨慎使用文中提及的命令. 内容概括: 1.kickstart/Anaconda简介 2.实验描述及实验环境准备 3.kickstart文件制作 4.启动引导光盘的制作 5.测试安装 一.kickstart/anaconda简介: Anaconda是Red Hat系列linux发行版使用的操作系统安装管理程序.它提供文本.图形安装方式. Anaconda支持的管理模式:安装全新os系统:

半自动化安装dns

1.  概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的信息.事实上服务器是不能根据www.sunny.com这样的地址找到对应的服务需要需要根据ip来找到对应的服务.那么网络上ip是怎么得到的呢这就要得益于dns服务器的工作.本文将对dns的工作原理dns常见的服务设置进行介绍最后本文将附上一篇dns自动化脚本方便用户快速搭建dns服务器. 2 原理介绍 DNS( Domain Name System)是"域名系统"的英文缩

centos6.9图形界面半自动化安装

1:安装包:yum install system-config-kickstart.2:输入:system-config-kickstart.打开图形界面.3:根据图形填写所需内容:点击add进行分区最后保存:4:然后根据自己需要可以编辑:[[email protected] ~]#vim ks.cfg5:搭建ftp服务并放入:安装包:[[email protected] ~]#yum install vsftpd表示服务启动成功 6:新建一个虚拟机,网络桥接并且开始时要光盘引导,然后启动即可

PXE网络引导自动化安装系统详解

一.PXE:预引导加载环境 1.PXE Preboot ExecuteEnvironment:支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicasttrivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成Client端自动化基本软件设置,从而引导预先安装在服务器中的

使用kickstart实现CentOS自动化安装--我的学习记录

简单介绍: 本次所记录的学习内容是,通过anaconda程序读取kickstart配置文件来实现CentOS的自动化安装.作为学习运维的人员,我觉得学会这项技能是非常必要的. kickstart配置文件的组成: (自行查看 /boot/anaconda-ks.cfg) 命令段:设置一些基本功能(时区,键盘类型等) 程序包段:指明要安装的程序包或者包组(包组名用@开头) 脚本段: %pre :安装前脚本:此时linux环境不完整,因此脚本应该设置较为简单. %post:安装后脚本:此时linux环

基于PXE网络启动的Linux系统自动化安装

基于PXE网络启动的Linux系统自动化安装 ??在实际工作中,传统纯手动安装操作系统的方式是有一定的局限性的,例如:现在大多数的服务器都不自带光驱,若要安装系统需要外接光驱插入光盘,整个安装过程中需要人工交互确认,手动设置每一个安装设置项,人必须要在机器前值守,时间大多花费在安装的等待过程中.假如有一大批服务器需要安装操作系统,这种传统手动的方式去逐台安装系统的方式,效率是极其低下的,而且由于需要人工交互式配置系统的安装设置项,无法确保每一台机器的系统安装配置都是完全一致的,即无法做到完全的统

CentOS系统安装(下):无人值守安装--kickstart文件及引导镜像的制作

1. 什么是kickstart安装? kickstart是RedHat/CentOS/Fedora等系统实现无人值守自动化安装的一种安装方式,系统管理员可将安装过程中需要配置的所有参数集成于一个kickstart文件中,而后在系统安装时,安装程序通过读取事先给定的这个kickstart文件自动化地完成配置并安装完成. anaconda的配置方式有以下两种: (1)交互式配置: (2)通过读取事先给定的配置文件事先自动完成配置,这个配置文件就是kickstart文件,它遵循特定的语法格式. 在前面