半自动化的安装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程序

[root@node-2 ~]# 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官方的资料。

[root@node-2 ~]# 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服务与启动

[root@node-2 ~]# yum installhttpd -y #安装httpd服务

[root@node-2 ~]# service httpdstart #启动http服务

Starting httpd: [ OK ]

[root@node-2 ~]# netstat-ntlp|grep 80 #查看启动状态,http的端口为tcp的80端口

tcp 0 0 :::80 :::* LISTEN 2008/httpd

(3)挂载光盘镜像

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

[root@node-2 ~]# mkdir /var/www/html/{ks,x86_64} #创建ks,x86_64目录

[root@node-2 ~]# mount -r/dev/dvd /var/www/html/x86_64/ #以只读方式挂载光盘镜像至/var/www/html/x86_64/

[root@node-2 ~]# mount|tail -1 #查看挂载情况

/dev/sr0 on/var/www/html/x86_64 type iso9660 (ro)

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

[root@node-2 ~]# cp/root/ks.cfg /var/www/html/ks/

[root@node-2 ~]# ls/var/www/html/ks/

ks.cfg

(5)制作isolinux启动引导

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

[root@node-2 ~]# cd /tmp/ #切换着/tmp目录

[root@node-2 tmp]# cp -r/var/www/html/x86_64/isolinux/ /tmp/cdrom/ #复制isolinux到/tmp/cdrom目录

[root@node-2 tmp]# ls cdrom/ #查看复制结果

isolinux

[root@node-2 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文件

[root@node-2 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/目录下

[root@node-2 tmp]# cp/var/www/html/ks/ks.cfg /tmp/cdrom/ks.cfg

[root@node-2 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文件进行修改

[root@node-2 ~]# cd/tmp/cdrom/isolinux/      #切换至/tmp/cdrom/isolinux/目录

[root@node-2 isolinux]#chmod u+w *       #对所有的文件添加修改的权限

[root@node-2 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.imgks=cdrom:/ks.cfg

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

[root@node-2 isolinux]# cd /tmp #切换至/tmp目录

[root@node-2 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,做下前期的安装流程熟悉。

温馨提示:内容为网友见解,仅供参考
无其他回答

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

centos系统自动化安装光盘是什么意思
安装过程不需要人工干预,按照预先的配置文件自动完成安装

制作CentOS7全自动安装镜像
继续,安装CentOS的Kickstart工具,并创建或编辑用于自动化安装过程的Kickstart配置文件(ks.cfg)。这个文件包含了安装过程中的所有自动化指令,包括系统初始化、软件包安装和附加配置。对于需要使用第三方源以自动化安装特定软件(如mongoDB)的需求,可以在ks.cfg配置文件中进行相应设置。选择手工编辑ks.cfg...

【友道网源】CentOS 6.5安装教程
系统配置可选系统配置或自定义配置。选择标准分区后,系统将自动创建并分区。可手动调整分区大小,例如为\/home目录、\/boot、swap、\/(根目录)等划分存储空间。确认分区设置后,将修改应用到磁盘上。初次使用Linux系统推荐使用图形化安装模式,以便更好地了解系统。完成安装后,需要重启系统。重启后,系统将...

RHEL 7或CentOS 7安装时,如何确保CPU支持VT技术?
4. 完成基本环境设置后,设置网络和主机名,接着选择安装媒介和分区。尽管手动分区有一定吸引力,但基于FHS和教学效果,本书会采取自动化方式,确保知识的准确性和操作效率。5. 接着设置root密码,记住在实际环境中密码强度要高。安装过程约30-60分钟,完成后点击Reboot开始系统初始化。6. 通过一系列步骤...

如何通过PXE实现一键自动化安装操作系统
因为之前的工作需要搭建红帽实验室环境,由于机器数量比较多,所有需要批量自动化无人值守安装系统,所以我尝试使用RHEL5+PXE+DHCP+Apache+Kickstart安装了RHCE5.1 i386实验室环境,并取得了成功,不过过程比较漫长,所以我特地记录下PXE+DHCP+Apache+Kickstart无人值守安装的过程。现阶段,由于需要大规模应用CentOS5.8 x86_64...

Docker 入门第一课:CentOS 安装 Docker
一、操作系统需求在 CentOS 系统上安装 Docker 需要满足以下需求。确保您的系统具备 Docker 运行所需的最低资源,并保持系统更新以获得最佳性能。二、卸载旧版本在安装新版本 Docker 之前,先卸载旧版本以避免冲突。使用以下命令卸载 Docker。sudo yum remove docker-ce docker-ce-cli containerd.io docker...

阿里云服务器怎么重装系统阿里云服务器怎么重装系统教程
5、熟悉Hadoop框架,各个相关软件模块,能够安装、配置、优化hadoop运行系统,熟悉各种hadoop变种产品及相应优缺点,对hadoop平台有自己的理解,了解OpenStack平台,能够搭建、定制OpenStack系统。6、配置自动化配置自动化(Ansible\/SaltStack)、监控(Zabbix\/Promethus)、日志分析(ELK、KafKa)、CI\/CD(Git、...

学习Linux第一步当然是安装虚拟机了
开始CentOS 7的安装过程。选择Install CentOS 7,语言可选英语或汉语,选择上海时区并安装GnomeDesktop。设置root用户密码后,耐心等待安装完成,最后点击Reboot。至此,基础的虚拟机环境和系统安装已经完成,你已准备好踏上Linux自动化运维的学习之路。现在,让我们立即进入Ansible的学习阶段,展开深入探索。

脚本 判断系统是不是centos
二、只要系统服务在运行,就会产生日志信息,我们使用专门的工具把它记录到磁盘上了,为了方便 分析日志,日志文件不能太大、很久以前的日志文件我们应该把它删掉。使用 logrotate 命令来滚动,syslog记录的日志文件。三、为了让人们从繁忙的工作中解脱出来。自动化管理:日志文件的滚动、备份、压缩等工作。使...

相似回答
大家正在搜