Linux系统自动化安装基础

Linux系统自动化安装基础

安装程序
CentOS系统安装
系统启动流程:
bootloader–>kernel(initramfs)–>rootfs–>/sbin/init
注意:安装过程中与启动过程中的文件不同

anaconda
系统安装程序
tui: 基于图形库curses的文本窗口
gui:图形窗口

安装程序启动过程
MBR: boot.cat
stage2: isolinux/isolinux.bin
配置文件: isolinux/isolinux.cfg
Linux系统自动化安装基础
每个对应的菜单选项:
加载内核: isolinuz/vmlinuz
向内核传递参数: append initrd=initrd.img …
Linux系统自动化安装基础
Linux系统自动化安装基础
按ESC键可以进入命令行模式,按Tab键可以直接编辑内核参数
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
装载根文件系统,并启动anaconda
默认启动GUI接口
若是显式指定使用TUI接口: 向内核传递text参数即可
(1)按tab键,在后面增加text
Linux系统自动化安装基础
(2)按ESC键: boot: linux text
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
注意:在自动化安装时建议使用text字符化界面安装,而手动安装建议使用图像化界面,因为字符化界面有些功能无法使用;内存小于512M则会自动启用字符化界面,而无法启用图形化界面

anaconda工作过程
Anaconda安装系统分成三个阶段:
1)、安装前配置阶段
安装过程使用的语言
键盘类型
安装目标存储设备
Basic Storage:本地磁盘
特殊设备: iSCSI
设定主机名
配置网络接口
时区
管理员密码
设定分区方式及MBR的安装位置
创建一个普通用户
选定要安装的程序包
2)、安装阶段
在目标磁盘创建分区,执行格式化操作等
将选定的程序包安装至目标位置
安装bootloader和initramfs
3)、首次启动(firstboot)
iptables
selinux
core dump
注意当系统安装完毕启动后,firstboot默认是关闭状态的,所以启动需要修改/etc/sysconfig/firstboot文件中的值为YES
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
注意:当我们再次退出此界面时,/etc/sysconfig/firstboot中的值又会修改为NO

系统安装
启动安装过程一般应位于引导设备(boot.iso);后续的anaconda及其安装用到的程序包等可来自下面几种方式:
本地光盘
本地硬盘
ftp server: yum repository
http server: yum repostory
nfs server
如果想手动指定安装源:
boot: linux askmethod
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
之后就是正常的安装界面了,只是安装包是从对应媒介上获取的

anaconda的配置方式:
(1) 交互式配置方式
(2) 通过读取事先给定的配置文件自动完成配置;
按特定语法给出的配置选项;
kickstart文件(应答文件)

安装boot引导选项: boot:
text: 文本安装方式
askmethod: 手动指定使用的安装方法
与网络相关的引导选项:
ip=IPADDR
netmask=MASK
gateway=GW
dns=DNS_SERVER_IP
ifname=NAME:MAC_ADDR
Linux系统自动化安装基础
直接配置号IP地址等选项
与远程访问功能相关的引导选项:
vnc
vncpassword='PASSWORD'

指明kickstart文件的位置: ks=
Linux系统自动化安装基础
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 rhgb quiet"
keyboard: 设定键盘类型
lang: 语言类型
part: 创建分区
rootpw: 指明root的密码
timezone: 时区
Linux系统自动化安装基础
可选命令
install OR upgrade
text: 文本安装界面
network
firewall
selinux
halt
poweroff
reboot
repo
user:安装完成后为系统创建新用户
url: 指明安装源
key –skip 跳过安装号码,适用于rhel版本

kickstart文件创建
创建kickstart文件的方式:
(1) 直接手动编辑;
依据某模板修改,比如anaconda-ks.cfg
Linux系统自动化安装基础
(2) 可使用创建工具: system-config-kickstart(图形化工具)
依据某模板修改并生成新配置;
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
Linux系统自动化安装基础
注意:关闭防火墙,在正常情况下,自动化安装的确可以方便我们运维工作,但是也容易出现不可预期的情况,所以推荐半自动安装

检查ks文件的语法错误: ksvalidator
# ksvalidator /PATH/TO/KICKSTART_FILE

制作引导光盘和U盘
创建引导光盘:
#cp /media/cdrom/isolinux/ /tmp/myiso/
注意:是复制拷贝/isolinux/整个目录而非只是内容
Linux系统自动化安装基础
#vim /tmp/myiso/isolinux/isolinux.cfg
initrd=initrd.img text ks=cdrom:/myks.cfg
Linux系统自动化安装基础
#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.8 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso myiso/
Linux系统自动化安装基础
注意:在刻录光盘引导式要注意myks目录的父目录下运行以上命令
运行完之后,我们就可以将生成的boot.iso运用刻录机或直接进行光盘引导启动即可
创建U盘启动盘
#dd if=/dev/sr0 of=/dev/sdb

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

(0)
NameLessNameLess
上一篇 2016-10-08 09:12
下一篇 2016-10-08 10:07

相关推荐

  • Linux上文件管理命令、元素据及时间戳、bash的工作特性回显和命令展开、定义别名,命令引用。

    文件管理命令: mkdir 创建空目录 语法: mkdir [选项]…目录… 选项: -P:逐层创建目录。 -v:显示过程。 -m:直接给定权限。 注意:路径的基名为命令作用对象。基名路径必须存在。 示例 创建/tmp/x1/a/a1和/tmp/x1/b rmdir 移除空目录 语法 rmdir [选项]…目录&#8230…

    Linux干货 2017-12-10
  • Hello World 集中营

    编程的人应该都知道什么是Hello World。这是一个最简单的程序,其只在屏幕上输出“Hello World”字样,这通常是初学者的在学习编程时的第一个示例。把打印出 “Hello World” 作为第一个范例程序,现在已经成为编程语言学习的传统。“Hello World”起源于Brian Kernighan 和Dennis MacAlistair Rit…

    2016-05-17
  • bash的工作特性之命令执行状态返回值和命令行展开

    bash特性之一:命令别名 将一个命令用其他名字来代替,可以用别名来简化操作。 获取当前用户可用的别名的定义: ~]#alias NAME=’COMMAND’ bash的特性之二:命令历史 shell进程会保存其会话中用户曾经执行过的命令;命令通过其“历史文件”来持久保存此前执行过的命令;每个用户都有其自己专用的历史文件; HISTSIZE:shell进程的…

    Linux干货 2016-11-06
  • N26第一周博客作业

    1.       计算机的组成及其功能 计算机由以下5部分组成: 控制器:控制器是计算机的中枢神经,功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各个部分工作及内存与外存的访问等。 运算器:运算器功能主要是对数据进行各种算术和逻辑运算,即对数据进行加工处理。…

    Linux干货 2016-12-28
  • 第一周-2:Linux部分常用命令使用示例、查看命令行工具使用手册以及LinuxFHS部分目录简介

    一、部分命令使用示例: 1、ifconfg 在命令行界面下或系统配置脚本中用于配置、控制及查询TCP/IP网络接口的系统管理工具 [netartisan@localhost 桌面]$ ifconfig eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500 &n…

    Linux干货 2016-11-07
  • 初学Linux文件目录结构

    /:根目录 /bin(binary):放置的是二进制文件。可执行的命令;非管理类的命令,通常是系统启动就需要的文件,供所有用户使用的基本命令;不能关联至独立分区, OS启动即会用到的程序。 /sbin:管理类的命令,通常只有管理员可以使用。 /lib:存放的是系统级别的库文件 /lib64:专用于x86_64系统上的辅助共享库文件存放位置  /ro…

    Linux干货 2017-07-13