首页 > 代码库 > linux系统的自动化安装

linux系统的自动化安装

CentOS系统安装

 系统启动流程:

    bootloader-->kernel(initramfs)-->rootfs-->/sbin/init

anaconda: 系统安装程序

 tui: 基于图形库curses的文本窗口

 gui:图形窗口



安装程序启动过程

①MBR:boot.cat

②stage2: isolinux/isolinux.bin

 配置文件:isolinux/isolinux.cfg

 每个对应的菜单选项:

   加载内核:isolinuz/vmlinuz

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

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

  默认启动GUI接口

  若是显式指定使用TUI接口:向内核传递text参数即可

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

  (2)按ESC键:boot: linux text

技术分享



anaconda工作过程

Anaconda安装系统分成三个阶段:

①安装前配置阶段

 安装过程使用的语言

 键盘类型

 安装目标存储设备

    Basic Storage:本地磁盘

    特殊设备:iSCSI

 设定主机名

 配置网络接口

 时区

 管理员密码

 设定分区方式及MBR的安装位置

 创建一个普通用户

 选定要安装的程序包


②安装阶段

 在目标磁盘创建分区,执行格式化操作等

 将选定的程序包安装至目标位置

 安装bootloader和initramfs

③首次启动后有时会需要一些简单的配置

如:

 iptables

 selinux

 core dump



系统安装

启动安装过程一般应位于引导设备;后续的anaconda及其安装用到的程序包等可来自下面几种方式:

  本地光盘

  本地硬盘

  ftp server: yum repository

  http server: yum repostory

  nfs server

如果想手动指定安装源:

 Esc键:boot: linux askmethod 或 tab键:后跟上askmethod

技术分享

技术分享

指明路径,继续安装即可


anaconda的配置方式:

 (1) 交互式配置方式

 (2) 通过读取事先给定的配置文件自动完成配置;

    按特定语法给出的配置选项;

         kickstart文件



安装boot引导选项:boot:

text: 文本安装方式

askmethod: 手动指定使用的安装方法

与网络相关的引导选项:

  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

官方文档:《Installation Guide》




kickstart文件的格式

①命令段:指明各种安装前配置,如键盘类型等;

②程序包段:指明要安装的程序包组或程序包,不安装的程序包等;

    %packages

    @group_name

    package (安装的包)

    -package (指定不安装的包)

    %end

③脚本段:

  %pre: 安装前脚本

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

  %post: 安装后脚本

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


命令段中的命令:

 必备命令

    authconfig: 认证方式配 

        authconfig--useshadow--passalgo=sha512

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

        bootloader --location=mbr--driveorder=sda–

            append="crashkernel=auto rhgbquiet"

    keyboard: 设定键盘类型

    lang: 语言类型

    part: 创建分区

    rootpw: 指明root的密码

    timezone: 时区


可选命令

    install OR upgrade

    text: 文本安装界面

    network

    firewall

    selinux

    halt

    poweroff

    reboot

    repo

    user:安装完成后为系统创建新用户

    url: 指明安装源

    key –skip 跳过安装号码,适用于rhel版本

 




kickstart文件创建

创建kickstart文件的方式:

 (1) 直接手动编辑;

    依据某模板修改

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


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

    # ksvalidator/PATH/TO/KICKSTART_FILE

 





制作引导光盘和U盘

创建引导光盘:

#cp/media/cdrom/isolinux/ /tmp/myiso/

#vi /tmp/myiso/isolinux/isolinux.cfg

    initrd=initrd.imgtext ks=cdrom:/myks.cfg

#cp/root/myks.cfg/tmp/myiso/

#cd /tmp

# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.isomyiso/


创建U盘启动盘

#dd if=/dev/sr0 of=/dev/sdb

  

linux系统的自动化安装