Linux系统安装

概述:

    上篇我们讨论了下关于Linux系统的启动流程和grub相关的内容,本篇将介绍一下Linux的系统安装相关的内容,具体分为:

    1、系统安装程序anaconda的介绍

    2、kickstart文件的介绍

    3、实战:利用ks文件实现无人值守安装和制作iso引导文件进行安装

第一章    系统上安装程序anaconda的介绍

    1、CentOS的安装过程启动流程:(以光盘为例)

        MBR:在光盘的文件isolinux目录中有boot.cat,这个相当于bootloader

        stage2:isolinux/isolinux.bin  相当于grub的第二阶段,也就是相当于/boot/grub下的文件,显示出启动菜单的。

        isolinux.bin的配置文件时isolinux.cfg,也就类似于grub的配置文件

            配置文件中,每个对应的菜单选项:

            加载内核:isolinux/vmlinuz

            向内核传递参数:append initrd=initrd.img

        装载根文件系统,并启动anaconda应用程序,默认界面是图形界面,但前提是需要512M以上的内存

            若需要显式指定启动文本接口,则想启动内核传递一个参数text即可

    1.png

    2.png

    3.png

        注意:上述内容一般位于引导设备,例如通过光盘,U盘,网络等;后续的anaconda机器安装到的程序包等可以来自于程序包仓库,此仓库的位置可以为:本地光盘、本地硬盘、ftp server、http server、nfs server。安装过程中,如果想手动指定安装仓库,可以在安装界面下按ESC键,然后进入boot提示符界面,键入: linux(菜单项的label,不一定是linux) method  表示询问用户,让用户选择安装方法

    2、安装过程中的引导选项:

        安装界面下按ESC,进入boot提示符,然后输入指定菜单项的label然后加上相关选项,或者在某个菜单项后,按tab键,然后直接输出相关选项

        常见的选项有:

            text  文本安装方式

            method  手动指定使用的安装方法

            与网络相关的引导选项:

                ip=IPADDR

                netmask=MASK

                getaway=GATEWAY

                dns=DNS_ADDR

            远程访问功能相关的引导选项:

                vnc

                vncpassword="PASSWORD"

            启动紧急救援模式:

                rescue

            装载额外驱动:

                dd

            自动化安装的配置文件路径选项:ks=/PATH  指明kictstart配置文件

                如果kicstart文件在光盘上,则应写成:

                    ks=cdrom:/PATH/TO/KICKSTART_FILE

                如果kickstart文件在某个硬盘上,则应写成

                    ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE

                如果kickstart文件在http服务器上,则应写成

                    ks=http://HOST:PORT/PATH/TO/KICKSTART_FILE

                    ks=https://HOST:PORT/PATH/TO/KICKSTART_FILE

                如果kickstart文件在ftp服务器上,则应写成

                    ks=ftp://HOST:PORT/PATH/TO/KICKSTART_FILE

    3、anaconda的工作过程:分两个阶段

        <1>安装前配置阶段:

            安装过程使用的语言

            键盘类型

            安装目标存储设备

                    basic storage:本地磁盘

                    special storage:如ISCSI或SAN等

            主机名称

            配置网络接口

            时区

            root账户密码

            分区方式及MBR安装位置

            创建一个普通用户

            选定要安装的程序包

        <2>安装阶段:

            在目标磁盘创建分区,并执行格式化

            将选定的程序包,安装至指定的目标位置

            安装bootloader

        <3>首次启动(与anaconda本身没关系):

            iptables是否要启用

            selinux是否要启用

            core dump 核心转储(要求内存大于2G),当某一时刻内核崩溃时,将崩溃那一刻内存中的数据存储到磁盘上,供后期分析崩溃原因

    4、anaconda的安装前相关配置方式

        <1>交互式配置方式

        <2>支持通过读取配置文件中事先定义好的配置项自动完成配置:遵循特定的语法格式,此文件即为kickstart文件

第二章    kickstart文件的介绍

    1、kickstart文件的格式:三部分组成

        命令段:指定各种系统真正执行安装前的配置选项,如键盘类型,语言、分区等参数信息

            必备命令:

            可选命令:

        程序包段:指明要安装的程序包,以及包组,也包括不安装的程序包

            %packages  指明程序包段开始

            %end   指明程序包段结束

            段内内容:

                @GROUP_PACKAGE_NAME  表示要安装一个包组

                PACKAGE   表示要安装一个包

                -PACKAGE   表示不安装的包,即使指明了不安装,但有可能还是会安装,因为有可能别的包安装时依赖该包,那么该包也会被安装上去

        脚本段:

            %pre   安装操作真正开始之前的脚本,结束用%end

            %post   安装后运行的脚本,结束用%end

            安装前脚本和安装后脚本的运行环境是不一样的,因为脚本本身是命令的集合,但安装前的脚本中使用的命令,主要是安装介质,如光盘,上面自带的一个小的系统所提供的,命令及其有限。但是安装后脚本可以很丰富,因为安装后的脚本,运行环境是安装好的系统,提供了更多的可用的命令

    2、kickstart文件中命令段中的先关命令:

        <1>必备命令

            authconfig:认证方式配置 

                    authconfig –enableshadow –passalgo=sha512

                    表示基于shadow文件进行认证,密码加密方式是sha512

            bootloader:定义bootloader的安装位置及相关设定

                    bootloader –location=mbr –driveorder=sda –append="crashkernel=auto rhgb quiet"

                    表示bootloader安装位置在mbr中,驱动优先选择sda,附加给grub中内核的参数为crashkernel=auto rhgb quiet,表示内核崩溃后的处理方式,auto一般表示核心转储,quiet表示展开内核的过程不显示

            keyboard:设置键盘类型

                    keyboard us   美式英语键盘

            lang:语言类型

                    lang zh_CN.UTF-8

            part:分区布局及分区使用方式

                    part /boot –fstype=ext4 –size=200

                    part pv.008002  –size=51200

                    pv.008002表示创建的是一个物理卷,及该物理卷的ID号,pv大小为51200M

            rootpw:管理员密码

                    rootpw  –iscrypted $6$2owvccL5jQV4….

                    表示管理员加密后的密码

                        生成密码的方式:

                        openssl passwd -1 -salt openssl rand -hex 4

                        表表示用openssl生成密码,-1表示利用md5方式加密,salt表示密码段的杂质,杂质由openssl随机生成8位

            timezone:指定时区

            timezone Asia/Shanghai

            补充:分区相关的其他指令

                clearpart:清除分区

                clearpart –none  –drives=sda  表示清空磁盘分区

                volgroup:创建卷组

                volgroup myvg –pesize=4096  pv.008002  表示在pv.008002物理卷上创建名为myvg的卷组,pe大小为4096字节,可以有多个物理卷

                logvo:创建逻辑卷

                logvo  /home  –fstype=ext4  –name=lv_home  –vgname=myvg  –size=5120    表示在myvg卷组上创建逻辑卷,逻辑卷名称为lv_home,逻辑卷大小为5120M,分区挂载至/home ;文件系统类型为ext4;

        <2>可选的命令:

            install | upgrade :安装或升级

            text   安装界面类型,text为文本界面,默认为图形界面

            network   配置网络接口

                    network –onboot yes –device eth0 –bootproto dhcp –noipv6

                    network –onboot yes –device eth0 –bootproto=static –ip=10.1.32.68 –netmask=255.255.0.0 –gateway=10.1.0.1 –nameserver=10.1.0.1

            firewall:防火墙

                    firewall –service=ssh

                    表示防火墙启用了,但是防火墙放行了对本机ssh的访问

                    firewall –disabled 

                    表示禁用防火墙

            selinux:

                    selinux –disabled  表示禁用selinux

            halt、poweroff、reboot:表示系统安装完成后的行为是关机或重启

            repo:指明安装时指明的仓库

            repo –name=“CentOS” –baseurl=cdrom:sr0 –cost=100

            url:表示指明安装时使用的repo源为url格式

                    url –url=http://10.1.0.1/cobbler/ks_mirror/centos-6.8-x86_64/  表示利用url指向的地址作为安装时的仓库,如果用网络安装,则要保证安装时网卡配置好,能够更url地址连通

    

            注意:当repo和url同时存在时,url的优先级高

    3、kickstart文件的创建

        <1>可以使用 yum install system-config-kickstart 这个是一个生成kickstart配置文件的图形化工具

            然后用xshell连接linux主机时,使用-X选项,表示在windows界面打开linux图形化工具,如:ssh -X root@10.1.32.68

运行system-config-kickstart命令,出现图形化工具,即可开始配置

        <2>利用现有的kickstart现有的模板进行修改,本机安装后再/root目录下有个anaconda-ks.cfg,可利用此文件进行修改后生成自己的ks配置文件

        ksvalidator ks.cfg   可以检查kickstart配置文件的语法

    5.png

    6.png

    7.png

    生成的ks文件详解

第三章    实战:利用ks文件实现无人值守安装和制作iso引导文件进行安装

    1、利用系统光盘引导,手动指定ks文件路径,借助网络上的软件源进行自动化无人值守安装

        环境:

            相关系统均为CentOS6.8,生成ks文件放在10.1.32.118的ftp服务器上,需要安装系统的终端,通过本地挂载系统光盘镜像进行引导,显示出安装的相关菜单选项时,指明ks文件为ftp服务器上的nwcks.cfg。

            在ks文件中,明确定义安装时使用的网络仓库为环境中的一台软件包仓库http服务器,地址为10.1.0.1,实现最小化安装,指明新装的机器的IP地址为手工指定,指定为10.1.32.100

        步骤:

        <1>根据需要,生成ks文件

        ks文件的生成,此处采用修改现有的系统上ks文件,然后加上相关配置形成,最终的ks文件为:

        blob.png        

        <2>新建虚拟机,挂载系统光盘,进行引导

        blob.png

        blob.png

        <3>在安装显示出来的菜单项中,指定ks文件的路径,然后执行安装

        blob.png

        blob.png

        

        <4>安装完成后验证是否成功

        blob.png

        

    2、创建光盘引导镜像,利用网络上的仓库作为安装时的程序包的来源进行系统自动化安装

        思路:与上个实验一样,只是本实验中不是利用系统光盘进行引导,而是自己制作一个具有引导功能的iso文件,利用制作好的iso文件进行引导,剩余的步骤根上个实验一样。

        环境:与上述实验一致,ks文件也一致,只是本实验中,不再在引导完成后在安装菜单项里面手动输入ks文件路径,而是在制作引导盘时,直接将ks文件写入到iso文件中,直接启动安装

        步骤:

        <1>制作iso引导文件

            a、创建光盘的文件的目录,假设为/tmp/mycd,将系统光盘的isolinux这个微型系统拷贝到/tmp/mycd

            

            b、根据需要,修改拷/tmp/mycd/isolinux/目录下,islinux.cfg文件,修改安装启动时菜单项的信息,在响应的信息后面加上ks文件的路径指向,这样,我们在执行安装时就不用手动添加ks文件的路径了

       

            e、利用命令将/tmp/mycdboot创建为iso镜像

                 先 cd /tmp目录中,不能cd到/tmp/mycdboot目录中

                 然后执行:mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V "nwc test" -c isolinux/boot.cat  -b  isolinux/isolinux.bin -o /tmp/testboot.iso mycd/

                注意:此命令要安装genisoimage软件包

                        -V 指定光盘名称

                        -c 指定光盘里面微型系统的grub1阶段的程序

                        -b 指定光盘里面微型系统的grub2阶段的程序

                        -o 指定创建生成的iso文件存储的路径及名称

                        最后指定对哪个目录下的而文件创建iso镜像

        

        <2>制作ks文件(与上个实验一样)

        <3>新建虚拟机,将制作好的iso文件作为虚拟机启动时的光盘引导,然后执行安装

        (先将制作好的iso文件导出到windows上)

        blob.png

        1.png

        2.png

        <4>执行安装

        blob.png

        blob.png

        blob.png

        blob.png

        blob.png

        <5>安装完成后验证是否成功

        blob.png

原创文章,作者:M20-1倪文超,如若转载,请注明出处:http://www.178linux.com/46515

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code