欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux 系统安装

程序员文章站 2022-03-28 12:46:24
CentOS 系统安装:CentOS系统的安装程序:anaconda anaconda的两种安装界面: tui:基于cureses的文本配置窗口式安装界面 gui:图形化安装界面 anaconda介绍 Anaconda是RedHat、CentOS、Fedora等Linux的安装管理程序。它可以提供文 ......

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
  selinux

anaconda的配置方式:
  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 &命令,会出现如下编辑界

Linux 系统安装

2、我们可以在编辑器上进行编辑,选择分区,网络,等配置,也可以导入模板文件(anaconda)在此基础上修改配置,并创建文件名,保存至root下退出;需要注意这里在分区时一定选择清除主引导分区,删除所有分区和初始化磁盘卷标,要不然在自动化安装时会提醒你是否清除数据

Linux 系统安装

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

Linux 系统安装

# 注意一定退出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
2、新建一个虚拟机,用创建好的光盘镜像在虚拟机上重新引导安装,如下:

Linux 系统安装

3、成功安装:

Linux 系统安装