系统自动化安装

本章内容

系统安装过程
配置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

相关推荐

  • 第7天:磁盘文件管理

    http://note.youdao.com/yws/public/redirect/share?id=57ab13d4749920de1fbb0d4953fcd21b&type=false

    Linux干货 2016-08-18
  • 计算机硬件及Linux简介

    计算机的组成 计算机主要分成五大部分:输入单元、控制单元、运算单元、存储器、输出单元。 其中,中央处理器(CPU)是一个具有特定功能的芯片,含有微指令集。包括控制单元与运算单元。 控制单元对程序进行控制,调度程序、数据、地址。运算单元负责对数据的各种逻辑运算和数字运算。 计算机的功能 包括但不限于 驱动程序:字面意思。 进程管理:计算机内部能够通过分配资源,…

    Linux干货 2016-10-30
  • iptables实现地址转换

    NAT:(工作在网络和传输层) 过载技术 Basic NAT:静态NAT     一个内部主机,分配一个外网地址 NAPT:动态NAT,网络地址端口转换;net会话表     源地址转换:SNAT 用于内网主机访问互联网    &…

    Linux干货 2016-10-31
  • 关于取路径名与基名的探讨和扩展-20160806

                          关于取路径名与基名的探讨和扩展     这两天学习grep  ,   egrep  ,  sed  &nb…

    Linux干货 2016-08-07
  • linux终端变量设置,文件系统,man使用说明,文件类型

    一、定义终端提示符的变量 export PS1=’\e[32m[\e[33m\u\e[31m@\e[35m\h\e[36m\t\e[34m\#\e[31m\s\e[37m\W\e[32m]\$ ‘  `]# export 是个命令      PS1指终端提示符变量    &n…

    Linux干货 2013-06-16
  • 配置使用基于mysql存储rsyslog日志信息

    配置使用基于mysql存储rsyslog日志信息   日志对于我们来说,肯定不会陌生。每个系统应用,只要有人访问,每时每刻都会产生大量的日志,用来记录服务器应用的运行信息。以便于我们在服务有异常时进行查看,或是从日志记录中提取出应用系统的运行信息。某些电商Web网站甚至会利用日志记录去对用户的购买行为作分析,以便更好的服务于客户。 &nb…

    Linux干货 2016-09-05