CentOS 系统自动化安装

CentOS 系统自动化安装



概述:

系统安装过程

配置anaconda

自动化安装系统



CentOS 系统安装:


1.启动流程:

bootloader-->kernel(initrd)-->rootfs-->anaconda(启动安装程序)

2.anaconda:(系统安装程序)

tui:基于cureses的文本配置窗口;

gui:图形界面

Anaconda是RedHat、CentOS、Fedora等Linux的安装管理程序。它可以提供文本、图形等安装管理方式,并支持Kickstart等脚本提供自动安装的功能。此外,其还支持许多启动参数,熟悉这些参数可为安装带来很多方便。该程序的功能是把位于光盘或其他源上的数据包,根据设置安装到主机上。为实现该定制安装,它提供一个定制界面,可以实现交互式界面供用户选择配置(如选择语言,键盘,时区等信息)。Anaconda的大部分模块用Python编写,有少许的载入模块用C编写。

3.CentOS的光盘安装过程启动流程:

★ MBR:boot.cat

★ Stage2:isolinux/isolinux.bin

配置文件:isolinux/isolinux.cfg

每个对应的菜单选项

                   加载内核:isolinux/vmlinuz

                   向内核传递参数:append initrd=initrd.img

其实整个光盘安装启动过程就是依赖于isolinux这个目录下的文件的

★装载根文件系统,并启动anaconda

默认界面是图形界面(GUI):512MB+内存空间

若需要显示指定启动TUI接口:向启动内核传递一个参数“text”即可

(1)按tab键,在后面增加text

(2)按ESC键:boot(提示符下): linux text

注意:

  上述内容一般位于引导设备,例如可通过光盘、U盘、或网络等;后续的anaconda及其安装用到的程序包等可以来自于程序包仓库。

此仓库的位置可以为:

本地光盘、本地硬盘、ftp server、http server、nfs server

如果想手动指定安装仓库:按 ESC键:boot(提示符下):linux method


[[email protected] isolinux]# less isolinux.cfg 
...
label linux
  menu label ^Install CentOS 7
  kernel vmlinuz  # 加载的内核
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet # 向内核传递的参数



anaconda 工作过程

安装前配置阶段,安装阶段,首次启动



1)安装前配置阶段:

  • 安装过程使用的语言;
  • 键盘类型;
  • 安装目标存数设备;

    Basic Storage:本地磁盘

    Special Storage:ISCSI

  • 设定主机名;
  • 配置网络接口;
  • 时区;
  • 管理员密码;
  • 设定分区方式及MBR的安装位置;
  • 创建一个普通用户;
  • 选定要安装的程序包;

2)安装阶段:

  • 在目标磁盘创建分区并执行格式化;
  • 将选定的程序包安装至目标位置;
  • 安装bootloader

3)重启系统

  • iptables 防火墙
  • selinux
  • core dump 核心转储

anaconda 的配置方式:

  • 交互式配置方式;
  • 支持通过读取配置文件中事先定义好的配置项自动完成配置;遵循特定的语法格 式,此文件即为kickstart文件;


安装引导选项:

boot:

  • text:文本安装方式;
  • method:手动指定使用安装方法;
  • 与网络相关的引导选项:

ip=IPADDR

netmask=MASK

gateway=GW

dns=DNS_SERVER_IP

ifname=NAME:MAC_ADDR

  • 远程访问功能相关的引导选项:

vnc

vncpassword=‘PASSWORD‘

  • 指明kickstart文件的位置:ks=

DVD drive:   ks=cdrom:/PATH/TO/KICKSTART_FILE

Hard drive:  ks=hd:device:/directory/KICKSTART_FILE

HTTP server: ks=http://host:port/path/to/KICKSTART_FILE

FTP server:  ks=ftp://host:port/path/to/KICKSTART_FILE

HTTPS server:ks=https://host:port/path/to/KICKSTART_FILE

NFS server:  ks=nfs:host:/path/to/KICKSTART_FILE

  • 启动救援模式:

rescue

  • 装载额外驱动:

dd


kickstart文件的格式

  • 命令段:指定各种安装前的配置选项,如键盘类型等;

    必备命令

    可选命令

  • 程序包段:指明要安装程序包,以及包组,也包括不安装的程序包;

    %packages :指明程序包段的开始;

    @group_name:安装一个包组;

    package:安装一个程序包;

    -package :指明不安装的程序包;

    %end :指明程序包段的结尾;

  • 脚本段

    %pre:安装前脚本

    运行环境:运行于安装介质上的微型Linux环境

    %post:安装后脚本

    运行环境:安装完成的系统;


1)命令段中的必备命令

  • authconfig: 认证方式配置;

authconfig--useshadow--passalgo=sha512

  • bootloader:bootloader的安装位置及相关配置;

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"

  • keyboard: 设定键盘类型;
  • lang: 语言类型; lang zh_CN.UTF-8
  • part: 分区布局;

    part /boot --fstype=ext4 --size=200

    part pv.008002 --size=61440

    补充:分区相关的其他命令:

    clrarpart:清除分区

    clearpart --none --drives=sda:清空磁盘分区

    volgroup:创建卷组

    volgroup vg0 --pesize=8192 pv.008002

    logvol:创建逻辑卷

    logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480

  • rootpw: 指明root的密码;
  • timezone: 时区  timezone Asia/Shanghai

可选命令:

  • install OR upgrade;安装或升级
  • text: 安装界面类型,text为TUL,默认为GUI
  • network:配置网络接口;
  • firewall:防火墙
  • selinux:SElinux
  • halt、poweroff、reboot:安装完成之后的行为;
  • repo:安装时使用的rpository
  • user:安装完成后为系统创建新用户
  • url: 指明安装时使用的repository,但是为url格式;
  • key –skip 跳过安装号码,适用于rhel版本

CentOS 6 中的 anaconda-ks.cfg

[[email protected] ~]# cat anaconda-ks.cfg 
# Kickstart file automatically generated by anaconda.

#version=DEVEL
install # 安装
url --url=  # 指明安装时使用的仓库 
lang en_US.UTF-8  # 指明使用的语言
keyboard us       # 指明使用的键盘
network --onboot yes --device eth0 --bootproto dhcp --noipv6 # 配置网络接口
rootpw  --iscrypted $6$CGsqab6d$Cd.PnnWtlL5XZAyr9J2zoMqyJH1QodcDp1pQp0uZ1f0Cq4eq9.TMkSQU6IfpvYZEYc32.lmF0lKuQwavnC49a0  # 指明root密码 
# Reboot after installation
reboot # 安装完成之后的行为
firewall --disabled  # 防火墙
authconfig --useshadow  --passalgo=sha512  # 认证方式配置
selinux --disabled  # SElinux
timezone Asia/Shanghai # 时区
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto crashkernel=auto rhgb rhgb quiet quiet"  #
# Clear the Master Boot Record
#zerombr
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --all

#part /boot --fstype=ext4 --size=200
#part pv.008002 --size=61440

#volgroup vg0 --pesize=8192 pv.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

repo --name="CentOS"  --baseurl=http://10.1.0.1/cobbler/ks_mirror/6/ --cost=100


定制kickstart文件的方式:

(1)直接手动编辑;

依据某模板修改

(2)可使用创建工具:system-config-kickstart

依据某模板修改并生成新配置;

http://172.16.0.1/centos6.x86_64.cfg

(3)检查ks文件的语法错误:ksvalidator

# ksvalidator /PATH/TO/KICKSTART_FILE

时间: 2024-10-13 11:40:54

CentOS 系统自动化安装的相关文章

自动化运维平台之系统自动化安装Cobbler系统使用详解

一.简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP.DNS.以及yum仓库.构造系统ISO镜像. Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用. Cobbler客户端Koan支持虚拟机安装和操作系统重新安装,使重装系统更便捷. 二.cobbler提供的功能 使用

Linux系统自动化安装基础

Linux系统自动化安装基础 安装程序CentOS系统安装系统启动流程:bootloader-->kernel(initramfs)-->rootfs-->/sbin/init注意:安装过程中与启动过程中的文件不同 anaconda系统安装程序tui: 基于图形库curses的文本窗口gui:图形窗口 安装程序启动过程MBR: boot.catstage2: isolinux/isolinux.bin配置文件: isolinux/isolinux.cfg每个对应的菜单选项:加载内核: i

cobbler+pxe实现系统自动化安装

cobbler简介 Cobbler是一个自动化和简化系统安装的工具,通过使用网络引导来实现系统自动化安装.Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理. cobbler构成组件 Distros(发行版):表示一个操作系统,它承载了内核和initrd的信息,以及内核参数等其他数据 Profile(配置文件):包含一个发行版.一个kickstart文件以及可能的存储库,还包含更多特定的内核参数等其他数据 Systems(系统):表示要配给的额机

系统自动化安装~PEX

PXE的系统自动化安装----七周目小结 利用PXE实现自动化安装系统 前提条件: 网卡:仅主机,关闭vmware 的dhcp服务 1 HTTP 安装http软件 yum install httpd 启动服务并设置为开机自启 systemctl start httpd systemctl enable httpd 创建镜像挂载目录并挂载 cd /var/www/html mkdir centos/{6,7}/os/x86_64 mount /dev/sr0 /var/www/html/cento

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

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

Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6),然后在windows系统下访问此虚拟机的ip地址,却访问不了. 因为前段时间有知道过iptable的限制,所以在想是不是因为iptable限制了80端口呢! 所以在网上找了下iptable的命令,并且把tcp的80端口设置成允许任何IP都可以访问: iptables -I INPUT -p TCP

linux pxe 系统自动化安装

一.Pxe的简介 1原理讲解pxe的原理PXE是由Intel公司开发的最新技术工作于Client/Server的网络模式支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程dhcp的原理动态主机配置协议是一个局域网的网络协议,使用UDP协议工作主要有两个用途:给内部网络或服务供应商自动分配IP地址给用户给内部网络管理员作为对所有计算机 作中央管理的手段. Dhcp 分配地址工作原理 Dhcpdiscover dhcpoffer dhcprequest dhcpack t

基于PXE技术结合kickstart文件实现系统自动化安装

在安装Linux系统时,常见的场景有使用光盘的方式来安装,在需要安装的计算机数量不多,且个性化定制安装的情况下,使用光盘来交互式的选择配置方式安装,是我们最常见的情况,当然使用光盘的方式也可以实现免交互的方式来实现自动安装,其方式是在安装开始前提供一份kickstart文件. 基于光盘实现系统的自动化安装,我们需要向光盘的镜像文件中添加kickstart配置文件,而系统安装过程中需要用到的其他重要的文件有:在isolinux 目录下有isolinux.bin,isolinux.cfg,boot.

CentOS 系统中安装 ArcGIS Server10.1 一些问题及解决

由于工作中主要使用RoR开发,所以就把这个帖子发在这里了 本人由于从事GIS相关工作,因此工作中经常用到ArcGIS及相关软件,开发使用RoR,为了部署和服务器配置方便,故采用Linux作为服务器操作系统.ArcGIS Server为地图发布的重要工具,平常大多部署在Windows环境下,ESRI官网提供了Linux下安装的教程,同时google上也能搜到一些安装的教程,这里就在安装过程中遇到了一些问题与解决方法,分享出来与大家共同进步. 参考文档:http://www.cnblogs.com/