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/

linux基础之CnetOS安装的更多相关文章

  1. CentOS6安装各种大数据软件 第三章:Linux基础软件的安装

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  2. Linux基础环境_安装配置教程(CentOS7.2 64、JDK1.8、Tomcat8)

    Linux基础环境_安装配置教程 (CentOS7.2 64.JDK1.8.Tomcat8) 安装包版本 1)     VMawre-workstation版本包 地址: https://my.vmw ...

  3. Linux基础三(软件安装管理)

    目录: 一.Linux 中软件包的分类 1.源码包 2.二进制包 3.源码包 4.软件安装的选择 二.软件安装之 RPM 1.背景知识 2.准备知识 3.安装升级与卸载 4.查询校验与提取 三.软件安 ...

  4. Linux基础:简介安装、常用命令和JDK、Mysql、Tomcat的安装

    一.Linux的简介 1.Linux的概述 Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linus Torvalds(林纳斯 ...

  5. Linux基础:软件安装(rpm,yum,源代码)

    Software Installation on Linux Linux安装分为rpm包(可通过yum或者是rpm命令安装)和源码包(源代码或者是编译过的二进制码)两种. Linux是开源系统,很多应 ...

  6. linux 基础 软件的安装 *****

    一软件的安装   原代码与tarball 源代码---->编译------>可执行文件 查看文件类型   file命令    是否是二进制文件 注意如果文件的可执行权限 .c结尾的源文件- ...

  7. linux基础开发软件安装 - java相关

    1.linux在线安装mysql:转自 https://www.cnblogs.com/bigbrotherer/p/7241845.html ,写的很好,简单易用. 开启远程访问:转 https:/ ...

  8. 四、linux基础-系统目录_安装_相关命令_调度

    4 系统目录-安装-版本4.1系统目录Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录. 在装完Linux系统以后会自动生成一下等目录, ...

  9. 1、Linux基础--相关软件安装与网络配置

    1.虚拟机(VM安装) 2.网络配置 3.Linux操作系统安装 4.xshell安装

随机推荐

  1. 和内嵌的iframe进行通讯

    利用内置iframe进行通讯 1. 在当前网页设置iframe网页(监听iframe发来postmessage消息事件) a. 外部网页接收数据: 回调方法,其中e.data为传入数据: const ...

  2. Red Team 指南--第2章开源情报(OSINT)侦察

    第2章开源情报(OSINT)侦察 贡献者:伊恩·巴维斯翻译:BugMan 哇,慢点牛仔吧!在我们深入探讨“做性感时光”(笑话)红队闻名的黑客冒险,还有一些作业要做.五分之一的专业人士从未学习或做过任何 ...

  3. Vue生命周期和钩子函数及使用keeplive缓存页面不重新加载

    Vue生命周期 每个Vue实例在被创建之前都要经过一系列的初始化过程,这个过程就是vue的生命周期,在这个过程中会有一些钩子函数会得到回调 Vue中能够被网页直接使用的最小单位就是组件,我们经常写的: ...

  4. cesium结合geoserver实现地图空间查询(附源码下载)

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...

  5. HUE下载HDFS文件时报ERR_CONNECTION_TIMED_OUT错误的解决办法

    1.故障描述 这是运行在公有云上的一套Hadoop集群,有一个公网IP将部分服务的端口映射出来供办公室访问. 数据分析师报告说:在HUE上面浏览HDFS文件,点击"download" ...

  6. C#连接数据库的方法

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  7. (vue操作storage)Vue plugin for work with local storage,session storage and memo

    vue-ls https://www.npmjs.com/package/vue-ls NPM npm install vue-ls --save Yarn yarn add vue-ls Usage ...

  8. MySQL基础(5) | 存储过程

    MySQL基础(5) | 存储过程 一.基础 结束符[重要] mysql的命令行执行每一条命令是以分号结尾的,也就是说识别是否为一条命令,是根据分号决定的. 然而存储过程中设计多条语句,很可能出现多个 ...

  9. 解决Spring Security自定义filter重复执行问题

    今天做项目的时候,发现每次拦截器日志都会打两遍,很纳闷,怀疑是Filter被执行了两遍.结果debug之后发现还真是!记录一下这个神奇的BUG! 问题描述 项目中使用的是Spring-security ...

  10. 《手把手教你构建自己的 Linux 系统》学习笔记(1)

    第二章.基础准备--Linux 系统定制原理 Linux 系统的组成及架构 共享库和静态库 在 Linux 系统中,函数库包含两种形式:共享库和静态库. 共享库 共享库在程序运行时,为其提供所需要的函 ...