系统自动化安装

本章内容

系统安装过程
配置anaconda
自动化安装系统

安装程序

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: linuxtext

table 键 可以设置内核参数

anaconda工作过程

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

安装前配置阶段

    安装过程使用的语言
    键盘类型
    安装目标存储设备
        Basic Storage:本地磁盘
        特殊设备:iSCSI
    设定主机名
    配置网络接口
    时区
    管理员密码
    设定分区方式及MBR的安装位置
    创建一个普通用户
    选定要安装的程序包

安装阶段

在目标磁盘创建分区,执行格式化操作等
将选定的程序包安装至目标位置
安装bootloader和initramfs

首次启动
iptables
selinux
core dump

firstboot 首次启动运行的程序。

启动安装过程一般应位于引导设备;后续的anaconda及其安装用到的程序包等可来自下面几种方式:
本地光盘
本地硬盘
ftp server: yum repository
http server: yum repostory
nfsserver

如果想手动指定安装源:
boot: linux 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
        依据某模板修改并生成新配置;
        http://172.16.0.1/centos6.x86_64.cfg
检查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 6.6 x86_64 boot" -b isolinux/isolinux.bin-c isolinux/boot.cat -o /root/boot.isomyiso/

创建U盘启动盘

#ddif=/dev/sr0 of=/dev/sdb

创建U盘启动盘

1 fdisk/dev/sdb–t -b 指定vfat
mkfs.vfat/dev/sdb1
2 mount /dev/sdb1 /mnt/usb
mkidr-p /mnt/usb/boot/grub
cp/misc/cd/images/pxeboot/vmlinuz/misc/cd/images/pxeboot/initrd/mnt/usb/boot
3 vi /mnt/usb/boot/grub/grub.conf
title wanglinux
root (hd0,0)
kernel /boot/vmlinuz
initrd/boot/initrd.imgks=http://172.16.0.1/centos6.x86_64.cfg
4 #grub

root (hd1,0)
kernel /
setup ( hd1)

原创文章,作者:yyw,如若转载,请注明出处:http://www.178linux.com/47806

赞 (0)
yywyyw
上一篇 2016-09-19 16:23
下一篇 2016-09-19 16:28

相关推荐

  • if、case 语法

    1. 条件选择 if 语句         选择执行:              单分支      &nbs…

    Linux干货 2016-08-22
  • Week 1–Linux基础1

    一. 计算机是由什么组成的? 计算机有什么作用呢?  1.计算机是由硬件系统与软件系统两大部分组成的. 那么是什么呢?  硬件系统: 1.1 输入组件(如鼠标,键盘等); 输出组件(显示器,打印机等); 1.2 核心大脑–CPU(里面包含有 算术逻辑、控制、记忆等单元); 1.3 为了与以上2大重要部件连接的,肯定需要一个可以…

    Linux干货 2016-12-05
  • LVM管理

    LVM管理

    2017-12-28
  • 第十五周作业

    1、总结sed和awk的详细用法; sed:     模式空间:sed是一种在线编辑器、行编辑器,一次处理一行内容,在处理时,把当前处理的行存储在临时缓冲区当中,并在该缓冲区中完成后续的处理,该缓冲区被称为”模式空间”。     保持空间:在模式空间中处理完一行内容后会继续处理下一行,但是对于处…

    Linux干货 2017-04-18
  • CentOS程序包管理

    对于Linux系统而言,其能执行的程序为二进制格式,而对于程序开发者而言,直接利用二进制开发程序是不太现实的,所以一般都是利用高级语言来进行软件开发,其程序也即称为源代码;那么我们在对一个程序进行安装、升级、卸载、 查询、校验等操作时,需要对每个源代码进行编译成为二进制程序,那么显然是不太现实的。所以在各Linux发行版中一般都带有程序包管理器。 所谓程序包…

    Linux干货 2016-08-25
  • ![](http://i1.pixiv.net/img-original/img/2016/08/09/20/23/25/58345400_p0.jpg) ![](http://i1.pixiv.net/img-original/img/2016/08/09/20/23/25/58345400_p0.jpg)

    Linux干货 2016-12-26