zoukankan      html  css  js  c++  java
  • linux基础之CnetOS安装

    CentOS启动流程

    POST-->boot sequence(bios)--> bootloader(mbr)-->kernel(ramdisk)-->rootfs(ro)-->switch root--> sbin/init

    对于centos,fedora而言:安装系统时用到的安装程序: anaconda

    anaconda安装程序有两种风格:
        基于curses的文本窗口: tui     图形窗口: gui

    安装程序在哪里:光盘

     

    1. 加载安装光盘
    2. 只读挂载光盘: mount -r /dev/cdrom /media/cdrom
    3. 进入安装程序专用目录isolinux:  cd /media/cdrom,cd isolinux

     

    isolinux内容:
      boot.cat grub.conf isolinux.bin memtest TRANS.TBL vmlinuz   boot.msg initrd.img isolinux.cfg splash.jpg vesamenu.c32 

    CentOS的安装程序启动过程

    安装程序会先加载类似bootloader的东西:boot.cat    //这里的boot.cat是MBR前446bytes中的内容,安装时是不会去加载光盘中的boot.cat文件的

    然后再去加载光盘中的isolinux.bin: isolinux/isolinux.bin    //存在于光盘中

    相当于先去MBR中加载第一段boot.cat ,然后到安装光盘中加载第二段 isolinux.bin,第二段再读取配置文件isolinux.cfg,并结合vesamenu.c32运行一个安装配置界面

    boot.cat(mbr中) --> isolinux.bin(光盘中) --> isolinux.cfg(光盘中)

    显示的菜单信息来自于isolinux.cfg配置文件中

    每个对应的菜单选项:
      加载内核:kernel isolinuz/vmlinuz
      向内核传递参数:append initrd=initrd.img...然后

    装载根文件系统,并启动anaconda

    默认启动GUI接口,若是显式指定使用TUI接口,向内核传递”text“参数即可:esc --> boot: linux text 或者对应条目上按tab 键入linux text
    注意: 上述内容一般应位于引导设备,而后续的anaconda及其安装用到的程序包等有几种方式可用:
        本地光盘
        本地硬盘
        ftp server: yum repository
        http server: yum repository
        nfs server: 
    
        如果想手动指定安装源:
            boot: linux method

    anaconda应用的工作过程

    安装前配置阶段
      安装过程使用的语言
      键盘类型
      安装目标存储设备:
          Basic Storage:本地磁盘
          特殊设备: iSCSI
      设定分区方式及MBR的安装位置
      设定主机名   配置网络接口   时区   管理员密码   创建一个普通用户   选定要安装的程序包 安装阶段 在目标磁盘创建分区,执行格式化操作等 将选定的程序包安装至目标位置 安装bootloader 首次启动 iptables selinux core dump

    anaconda的配置方式

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

    安装引导选项:

    boot:
      text: 文本安装方式
      method:手动指定使用的安装方式
      与网络相关的引导选项:
          ip=IPADDR
          netmask=MASK
          gateway=GW
          dns=DNS_SERVER_IP
          ifname=NAME:MAC_ADDR
      与远程访问功能相关的引导选项: 
          vnc
          vncpassword='PASSWORD'
      指明kickstart文件的位置:
          ks=
            DVD driver: ks=cdrom:/PATH/TO/kickstart_FILE
            Hard driver: 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
      启动紧急救援模式
          rescue
      
      可参考官方文档: 《Installation Gude》

    kickstart

    如果我们系统已经安装好,在root用户家目录下会有kickstart的配置文件: anaconda-ks.cfg文件

    kickstart文件的格式:

    命令段:指明各种安装前配置,如键盘类型等
    程序包段: 指明要安装的程序包组或程序包,不安装的程序包等
       %packages
       @group_name
       package
       -package
       %end
    
    脚本段:
      %pre:安装前脚本
        运行环境:运行于安装介质上的微型linux环境anaconda
    
      %post:安装后脚本
        运行环境:安装完成的系统
    
    命令段中的命令
      必备命令:
        authconfig:认证方式
          authconfig --useshadow --passalgo=sha512
        bootloader: bootloader的安装位置及相关配置       bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"     keyboard: 设定键盘类型 en_US.utf8     lang:语言类型     part:创建分区     rootpw:指明管理员的密码     timezone:时区   可选命令:     install OR upgrade     text:文本安装界面     network     firework     selinux     halt     poweroff     reboot     repo     user:安装完成后为系统创建新用户     url:指明安装源

    创建kickstart文件的方式:

    1.直接手动编辑
        依据某模板修改
    2.可使用创建工具:system-config-kickstart (CentOS 6)
        # yum install system-config-kickstart  //安装工具system-config-kickstart  
        # system-config-kickstart &        //启动工具,会生成一个图形化设置界面,
    3. 检查ks文件的语法错误:ksvalidator
      # ksvalidator /PATH/TO/KICKSTART_FILE
    boot: linux ip=192.168.1.102 netmask=255.255.0.0 ks=http://192.168.1.104/centos6.x86_64.cfg

     创建引导光盘

    # mkdir /tmp/myiso
    # cp /media/cdrom/isolinux/* /tmp/myiso
    # cd /tmp/myiso
    # chmod u+w isolinux.cfg
    # vim isolinux.cfg
    # cd /tmp
    # cp /root/anaconda.ks.cfg myiso
    # 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/

    kickstart安装系统

    开机时指定: esc --> linux ks=cdrom://anaconda-ks.cfg
    或者
    在isolinux.cfg中指名ks路径
    # cd /tmp/myiso
    # vim isolinux/isolinux.cfg
    添加一个label
      label ks
      append initrd=initrd.img ks=cdrom:/anaconda-ks.cfg  //其他menu再修改下
    # 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/
  • 相关阅读:
    KnockOut循环绑定
    json数组排序
    1,滑动验证,前后台接口
    写个js程序咖常写的游戏-贪吃蛇
    ionic的路由配置及参数传递
    基于jq, jquery.easie.js 开发面向对象通栏焦点图组件
    面向对象开发弹窗组件
    基于jquery开发的选项卡
    JavaScript多线程 html5 Worker, SharedWorker
    gulp常用任务
  • 原文地址:https://www.cnblogs.com/ckh2014/p/10817610.html
Copyright © 2011-2022 走看看