Linux 系统安装

CentOS 系统安装:
CentOS系统的安装程序:anaconda
  anaconda的两种安装界面:
  tui:基于cureses的文本配置窗口式安装界面
  gui:图形化安装界面linux

anaconda介绍
  Anaconda是RedHat、CentOS、Fedora等Linux的安装管理程序。它能够提供文本、图形等安装管理方式,并支持Kickstart等脚本提供自动安装的功能。此外还支持许多启动参数,熟悉这些参数可为安装带来不少方便。该程序的功能是把位于光盘或其它源上的数据包,根据设置安装到主机上。为实现该定制安装,它提供一个定制界面,能够实现交互式界面供用户选择配置(如选择语言、键盘、时区等信息)
  Anaconda的大部分模块用Python编写,有少量的载入模块用C编写vim

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 textapp

  上述内容通常位于引导设备中,例如引导光盘、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》ide

anaconda的工做过程:Centos 6
  安装前配置阶段:
  安装过程使用的语言
  键盘类型
  安装目标存储设备
    Basic storage:本地磁盘
    Specialized storage:iSCSI、SNA(专业存储设备)
  设定主机名、配置网卡的网络信息
  设定时区
  设定管理员密码
  设定分区方式及MBR的安装位置
    使用全部空间
   替换现有的Linux系统
   若是当前磁盘空间不够用,收缩当前磁盘
   使用空闲空间
   自定义磁盘分区
  选定安装类型以及要安装的程序包
  安装阶段:
  在目标磁盘建立分区并执行格式化
  将选定的程序包安装至目标位置
  安装bootloader
  重启系统进行安装后的操做
  首次启动:
  建立一个普通用户
  设置日期和时间
  core dump
  iptables
  selinux工具

anaconda的配置方式:
  一、交互式配置方式
  二、经过读取指定配置文件自动完成配置;按特定语法给出配置选项的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 指定时区post

    可选命令:
    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 安装后脚本;运行环境:安装完成的系统;ui

建立kickstart文件的方式:
  一、直接手动编辑:依据某模板文件修改
  二、使用工具建立:system-config-kickstart (CentOS 6),工具也能够依据某模板文件修改并生成新配置
  检查ks文件的语法错误命令:ksvalidator
  ksvalidator /PATH/TO/KICKSTART_FILEurl

演示经过工具建立kickstart文件:
一、运行# system-config-kickstart &命令,会出现以下编辑界

二、咱们能够在编辑器上进行编辑,选择分区,网络,等配置,也能够导入模板文件(anaconda)在此基础上修改配置,并建立文件名,保存至root下退出;须要注意这里在分区时必定选择清除主引导分区,删除全部分区和初始化磁盘卷标,要否则在自动化安装时会提醒你是否清除数据

三、查看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/
制做引导光盘演示:
一、复制文件和修改配置
[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 Videos
二、新建一个虚拟机,用建立好的光盘镜像在虚拟机上从新引导安装,以下:

三、成功安装: