Linux自动安装 光盘

安装linux的时候需要人机交互,如果一次安装几台那就要耗费很多精力,莫不如把每次要做的设置写在配置文件里,一键安装,省时省力。

这里我们只介绍用光盘进行自动安装。

无人职守安装我们首先想到的就是kickstart软件,那么什么是Kickstart?

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装。

ks.cfg的获取

1)可以以图形化的形式获取该文件,在系统执行system-config-kickstart 按照提示一步步来。

2)每次安装完系统之后都会在root下生成名为anaconda-ks.cfg的文件,它会自动记录,你安装过程中所使用的选项参数,为了保险起见,可以先在在虚拟机上自己定制安装一次,然后把该文件修改成ks.cfg

最基本的ks.cfg文件由Command section(命令部分)和%packages section(软件安装部份)两部分组成,Command部分在前,%Packages部分在后.

ks.cfg选项具体意义如下所示:

#告知安装程序,这是一次全新安装,而不是升级
install
#告知安装程序,这是一个网络安装,使用FTP来提供安装所需的资源
#我这边是使用匿名方式,还可以使用用户名/密码
#url --url ftp://<username>:<password>@<server>/<dir>
url --url="ftp://192.168.80.3/pub"
#使用文本模式安装
text
#默认语言是英语
lang en_US.UTF-8
#使用美式键盘
keyboard us
#清空mbr
zerombr
#指定bootloader的安装位置及参数
#--location 指定boot record位置,我们这边不做多系统,因此直接写在mbr里面
#--driveorder 指定第一开机装置
#--append 指定内核参数,这边我用的默认值,没有做更改
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
#设置安装完成后的主机网络,关键字是 network
#这边参数都比较常见,我就不一个个解释了
network --bootproto=static --ip=192.168.80.8 --netmask=255.255.255.0 --gateway=192.168.80.2 --hostname=CentOS6 --noipv6
#设置时区
#--utc 设定使用UTC
timezone --utc Asia/Shanghai
#设置密码加密方式为sha512 启用shadow文件
auth --useshadow --passalgo=sha512
#设定root的密码
#--iscrypted 如果root密码是已加密过,就必须使用这个参数,如何获得这个加密后的密码,详见本文附1
rootpw --iscrypted $6$qQaMyYyZMjz/tpqH$cjMWaGj8xpZK4jplrbUCnXD/8jesH7WTSBAefkL6HYcgFmKFUd/pbWtC75Q62d3PI8IYclNulf750Q7C7iYs.1
#清空所有分区
#--all 从系统中清除所有分区
#--initlable 初始化磁盘标签,例如我的虚拟机是x86架构的,通常是初始化为MSDOS
clearpart --all --initlabel
#新建磁盘分区
#新建/boot分区
part /boot --fstype=ext4 --size=500
#新建3个pv,每个pv大小为10G
part pv.008002 --size=10240
part pv.008003 --size=10240
part pv.008005 --size=10240
#新建一个VG,名为vg_root 包含了刚才创建的3个PV
volgroup vg_root --pesize=4096 pv.008002 pv.008003 pv.008005
#创建LV
logvol /home --fstype=ext4 --name=lv_home --vgname=vg_root --size=2048
logvol /opt --fstype=ext4 --name=lv_opt --vgname=vg_root --size=2048
logvol / --fstype=ext4 --name=lv_root --vgname=vg_root --size=6116
logvol /tmp --fstype=ext4 --name=lv_tmp --vgname=vg_root --size=4096
logvol /var --fstype=ext4 --name=lv_var --vgname=vg_root --size=4096
logvol swap --name=lv_swap --vgname=vg_root --size=2048
#禁止firstboot,firstboot就是我们使用图形化安装完系统,重启后有一个初始设置
firstboot --disable
#禁止selinux
selinux --disabled
#禁止防火墙
firewall --disabled
#设定安装过程中的日志级别
logging --level=info
#设定安装完成后关机
poweroff
#安装包我选择的是Basic模式,添加了中文支持
%packages
@base
#中文支持
@chinese-support
@console-internet
@core
@debugging
@directory-client
@hardware-monitoring
@java-platform
@large-systems
@network-file-system-client
@performance
@perl-runtime
@server-platform
@server-policy
%end

这里建议不要无脑安装,一定要看这些参数的意思。然后修改自己的ks.cfg。

ks.cfg文件生成之后要把该文件放到iso文件里面,只要拖拽到iso文件里面的根目录就行。

下面要配置isolinux.cfg文件,目的是在安装的时候能找到ks.cfg

文件的位置在ISO文件里面isolinux文件夹下,修改该文件。

label linux
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ks.cfg ksdevice=eth0

修改后不要忘记替换到ISO里面。

到现在ISO文件就制作好了,很简单。

可以用虚拟机进行测试,如果ISO没有问题一般都会成功。

这种方法只适用于少量服务器或者网络条件有限制的情况,如果有大量服务器需要安装系统的话可以用PXE+kickstart从网络安装。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-07 22:27:06

Linux自动安装 光盘的相关文章

CentOS 7.2 自动安装光盘实验全过程记录

实验过程: 本文在一台RHEL6.5机器上,通过向原生CentOS7.2 iso中添加kickstart启动脚本ks.cfg和读取脚本的开机选项,再对该iso镜像重新封装的方式,完成CentOS7.2自动安装光盘的制作,并新建一台虚拟机挂载该光盘,来验证操作系统的自动安装. 所需工具: 1. 一台RHEL6.5主机(虚拟机也可以,但本文涉及要在该主机上新建虚拟机,因此建议该主机应支持KVM或别的虚拟机技术) 2. virt-manager 可视化的虚拟机管理工具 3. virt-install

Linux自动安装JDK的shell脚本

Linux自动安装JDK的shell脚本 A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在A上运行本脚本: $ ./install-jdk.sh B的IP or: $ ./install-jdk.sh "B的IP" "JDK的URI" 就可以在机器B上安装JDK.jdk使用的tar包需要用户自己设定DEFAULT_JDK_SRC=?,保证可以wget得到即可

linux基础学习(十二) linux自动安装系统

##自动安装系统 ### kickstart脚本 kickstart脚本是自动应答系统在安装过程中一切问题的脚本文件 这个文件可以实现系统的自动安装 在系统安装完毕后会在系统的root家目录中生成 anaconda-ks.cfg 这个文件就是以此系统为模版生成的kickstart脚本 ###kickstart脚本的制作 系统中安装system-config-kickstart工具即可以以图形的方式制作kickstart yum install system-config-kickstart -y

使用kickstart制作自动安装光盘

首先,应该明白一个概念:绝对的自动化是不存在的.这里所说的自动化安装系统指的是在放入光盘和设置完启动项之后可以实现无人值守安装.其次,这里只讲如何实现,至于kickstart配置文件里面的具体参数这里不做讨论,如果有兴趣可以去下载官方文档,里面有详细说明. 一.下载系统的镜像文件,可以到各知名的镜像站获得.我这里下载的是centos6.5.放置在/tmp/iso/CentOS-6.5-x86_64-minimal.iso 二.挂载该安装包. #mount -o loop /tmp/iso/Cen

linux自动安装脚本

测试的linux的内核参数是Linux rhel5 2.6.18-238.el5 系统是Red Hat Enterprise Linux Server release 5.6 相关apr,apu,pcre,openssl的包依赖性脚本并没有考虑进去,默认已经装好相关的依赖包. 脚本安装运行注意及功能特点: 1,默认在当前脚本文件所在的目录下创建名字为apache的,apache程序目录,支持配置目录,可按脚本运行提示修改,也可直接修改脚本,在脚本中直接修改默认配置. 2,默认配置apr,apu,

zabbix_agent for linux自动安装脚本

#!/bin/sh###Zabbix客户端部署脚本####下载zabbix#cd /tmp#wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.3/zabbix-2.2.3.tar.gz#用户组和用户建立/usr/sbin/groupadd zabbix/usr/sbin/useradd -g zabbix -M zabbix#解压文件tar -zxvf zabbix-2.2.3.tar

CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

通过ks文件 实现 CentOS 6 自动安装系统 环境: VMware 14.0 Pro版 光盘镜像: CentOS-6.9-x86_64-minimal.iso ks文件生成器: kickstart 偶然接触一个kickstart, 通过马哥的网络直播上学到的自动安装系统, 先看一下原理: CentOS在VMware安装流程: 新建虚拟机 --> 挂载光盘镜像 --> 开始安装 --> 配置(包括地区, 语言, 时区, 键盘类型, root密码等等) --> 完成安装 --&g

定制centos6.5自动安装ISO光盘

一 ISO定制项清单 安装系统为centos6.5 (base server),安装方式为全新安装 使用ext4分区格式 安装前可以交互输入root密码,主机名,swap分区大小,之后安装过程自动化 关闭防火墙,selinux 网络为dhcp方式获取 时区为Asia/Shanghai 分区表类型为mbr 默认设置三个分区,boot分区200M,swap分区由用户指定,其余为根分区 更改软件包安装背景为自定义logo,更改欢迎信息 二 安装步骤 1.安装制作系统镜像所需要的工具 yum -y in

linux系统PXE+Kickstart自动安装系统

一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,