CentOS 系统安装:
CentOS系统的安装程序:anaconda anaconda的两种安装界面: tui:基于cureses的文本配置窗口式安装界面 gui:图形化安装界面anaconda介绍
Anaconda是RedHat、CentOS、Fedora等Linux的安装管理程序。它可以提供文本、图形等安装管理方式,并支持Kickstart等脚本提供自动安装的功能。此外还支持许多启动参数,熟悉这些参数可为安装带来很多方便。该程序的功能是把位于光盘或其它源上的数据包,根据设置安装到主机上。为实现该定制安装,它提供一个定制界面,可以实现交互式界面供用户选择配置(如选择语言、键盘、时区等信息) Anaconda的大部分模块用Python编写,有少许的载入模块用C编写Centos的安装过程启动流程:
bootload—>kernel(initramfs)—>rootfs—>anaconda 以光盘启动安装为例:光盘目录下 MBR:boot.cat 类似grub的stage 1,加载bootloader程序 stage2:isolinux/isolinux.bin 运行该二进制程序提供配置菜单和命令配置接口,类似于grub的stage 2 stage2配置文件:isolinux/isolinux.cfg 配置文件中每个对应的菜单选项: 加载内核:isolinux/vmlinuz 向内核传递参数:append initrd=initrd.img 装载根文件系统,并启动anaconda默认启动gui界面:需要至少512MB内存空间才能启动
若需要指定启动tui界面:向启动内核传递一个"text"参数即可 在菜单页面按ESC键,进入命令行界面(boot:)输入linux text上述内容一般位于引导设备中,例如引导光盘、u盘或网络等;但是anacona程序及其安装系统用到的程序包等可以通过本地和网络获取如:本地光盘、本地硬盘、ftp server(yum repository)、http server(yum repository)、nfs server;
如果想手动指定安装源: 在菜单页面按ESC键,进入命令行界面(boot:)输入linux method安装引导选项:可以在isolinux.cfg文件配置,也可以在引导过程中进入命令行界面指定(在菜单页面按ESC键,进入命令行界面(boot:))
text: 文本安装方式 method: 手动指定使用的安装方法 与网络相关的引导选项: ip=IPADDR netmask=MASK gateway=GW dns=DNS_SERVER_IP ifname=NAME:MAC_ADDR 指明网卡名和MAC地址来确定通过那个网卡通信 与远程访问功能相关的引导选项: vnc 通过vnc将本地安装界面输出到远端进行安装 vncpassword='PASSWORD' 指定vnc的密码 指明kickstart文件的位置 DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE Hard drive: ks=hd:/device/drectory/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 启动紧急救援模式: rescue 可以查看官方文档了解详细参数:www.redhat.com/docs《Installation Guide》anaconda的工作过程:Centos 6
安装前配置阶段: 安装过程使用的语言 键盘类型 安装目标存储设备 Basic storage:本地磁盘 Specialized storage:iSCSI、SNA(专业存储设备) 设定主机名、配置网卡的网络信息 设定时区 设定管理员密码 设定分区方式及MBR的安装位置 使用所有空间 替换现有的Linux系统 如果当前磁盘空间不够用,收缩当前磁盘 使用空闲空间 自定义磁盘分区 选定安装类型以及要安装的程序包 安装阶段: 在目标磁盘创建分区并执行格式化 将选定的程序包安装至目标位置 安装bootloader 重启系统进行安装后的操作 首次启动: 创建一个普通用户 设置日期和时间 core dump iptables selinuxanaconda的配置方式:
1、交互式配置方式 2、通过读取指定配置文件自动完成配置;按特定语法给出配置选项的kickstart文件 kickstart文件的格式:命令段、程序包段、脚本段 命令段:指明各种安装前配置,如键盘类型等 必选命令: authconfig 认证方式配置 authconfig --useshadow --passalgo=sha512 bootloader bootloader的安装位置及相关配置 bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" keyboard 设置键盘类型 lang 设置语言类型 part 创建分区 rootpw 指定root用户的密码 timezone 指定时区可选命令:
install或upgrade 指定是安装还是升级 text 通过文本安装界面安装 network 网络配置 firewall iptables防火墙配置 selinux selinux配置 halt 安装完关机 poweroff 安装完断电 reboot 安装完重启 repo 指定yum源信息 url 指明安装源地址路径 user 安装完成后为系统创建新用户 程序包段:指明要安装的程序包组、程序包、不安装的程序包等; %packages 程序包段开始标记 @group_name 指定需要安装的包组名字 package_name 指定要安装的包(包名称中没有版本号信息) -package_name 指定不需要安装的包 %end 程序包段结束标记 脚本段: %pre 安装前脚本;脚本的运行环境:运行于安装介质上的微型Linux环境,因为系统还没安装完成 %post 安装后脚本;运行环境:安装完成的系统;创建kickstart文件的方式:
1、直接手动编辑:依据某模板文件修改 2、使用工具创建:system-config-kickstart (CentOS 6),工具也可以依据某模板文件修改并生成新配置 检查ks文件的语法错误命令:ksvalidator ksvalidator /PATH/TO/KICKSTART_FILE演示通过工具创建kickstart文件:
1、运行# system-config-kickstart &命令,会出现如下编辑界
2、我们可以在编辑器上进行编辑,选择分区,网络,等配置,也可以导入模板文件(anaconda)在此基础上修改配置,并创建文件名,保存至root下退出;需要注意这里在分区时一定选择清除主引导分区,删除所有分区和初始化磁盘卷标,要不然在自动化安装时会提醒你是否清除数据
3、查看root下生成的文件,并检查语法错误,如下:
[root@CentOS6 ~]# ls anaconda-ks.cfg bin Desktop Documents Downloads f1 ks.cfg Music Pictures Public Templates Videos # 检查语法错误,有错误会报错 [root@CentOS6 ~]# ksvalidator ks.cfg创建引导光盘:
# 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.iso myiso/制作引导光盘演示:1、复制文件和修改配置 [root@CentOS6 ~]# mkdir /tmp/myiso/ # 复制光盘下的isolinux到/tmp下 [root@CentOS6 ~]# cp -a /misc/cd/isolinux/ /tmp/myiso/ [root@CentOS6 ~]# cd /tmp/myiso/isolinux/ [root@CentOS6 isolinux]# ll # 可以看到,因为是光盘文件所以都是只读的 total 44436 -r--r--r-- 1 root root 2048 Sep 13 12:11 boot.cat -r--r--r-- 1 root root 84 Sep 13 12:11 boot.msg -r--r--r-- 1 root root 321 Sep 13 12:11 grub.conf -r--r--r-- 1 root root 40688737 Sep 13 12:11 initrd.img # 文件驱动 -r--r--r-- 1 root root 24576 Sep 13 12:11 isolinux.bin -r--r--r-- 1 root root 923 Sep 13 12:11 isolinux.cfg # 配置文件 -r--r--r-- 1 root root 183012 Sep 13 12:11 memtest -r--r--r-- 1 root root 151230 Sep 13 12:11 splash.jpg # 为背景图 -r--r--r-- 1 root root 2215 Sep 13 12:11 TRANS.TBL -r--r--r-- 1 root root 163728 Sep 13 12:11 vesamenu.c32 -r-xr-xr-x 1 root root 4264528 Sep 13 12:11 vmlinuz # 内核文件# 添加写权限,进行修改 [root@CentOS6 isolinux]# chmod u+w isolinux.cfg [root@CentOS6 isolinux]# vim isolinux.cfg
# 注意一定退出myiso目录,创建光盘镜像,指明路径等信息,并在/root下生成一个boot.iso镜像
[root@CentOS6 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/ # 查看生成的镜像文件 [root@CentOS6 ~]# ls anaconda-ks.cfg bin boot.iso Desktop Documents Downloads f1 Music myks.cfg Pictures Public Templates Videos2、新建一个虚拟机,用创建好的光盘镜像在虚拟机上重新引导安装,如下:
3、成功安装: