系统自动化安装

本章内容

系统安装过程
配置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
下一篇 2016-09-19

相关推荐

  • shell脚本编程

    一、编程基础: shell脚本是包含一些命令或声明,并符合一定格式的文本文件 shell脚本的用途有: 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件 1)     第一步:使用文本编辑器来创建文本文件 script.sh 并编写内容 格式要求:首行shebang &nb…

    Linux干货 2016-08-15
  • shell脚本

    最近学了shell脚本,自己感觉挺有难度的,今天就简单整理一些shell脚本的练习和作业 练习:    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。#!/bin/bash# ———&#…

    2017-08-05
  • 用户与权限管理

    用户与权限管理      昨天学完了用户与权限管理,讲解了用户的运行机制和权限的作用。 用户的产生来源于3A机制:    认证(Authentication):就是验证用户身份的。    授权(Authorization) :验证完身份后,…

    2017-07-27
  • Linux各文件颜色

    Linux系统中默认将不同的文件类型以不同的颜色加以区分: 1、普通文件   白色 2、目录文件  蓝色 3、链接文件  青色 4、套接字文件  粉红色 5、可执行文件  绿色 6、管道文件  7、块文件   黄色 8、压缩文件  红色 默认文件显示颜色可以在…

    Linux干货 2016-10-19
  • Man手册功能介绍

    Man:是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。 语法:man(选项)(参数) 选项: -a:在所有的man帮助手册中搜索 -f:等价于whatis指令,显示给定关键字的简短描述信息 -P:指定内容时使用分页程序 -M:指定man手册搜索的路径。 本地手册:/usr/share/man &nbsp…

    Linux干货 2016-10-17
  • NET25-第11周作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 第一步:他们需要实现协商好对称加密算法,单向加密算法,公钥加密算法,交换公钥等。 第二步:B用户想要将数据传给A,首先需要使用单向加密算法取出数据的特征码,并用自己的私钥对这段特征码进行加密(数字签名),B用户生成临时对称密钥,并用对称密钥加密整段数据,B用户使用 A用户的公钥加密一次性对称密钥,附加在整段数据…

    Linux干货 2017-05-15