zoukankan      html  css  js  c++  java
  • ks.cfg文件

    linux安装大致可以分为2个阶段

    第一阶段:anaconda

    第二阶段:installinstall阶段系统会按照anaconda阶段设定的参数自动安装,这里主要要说的是anaconda阶段,此阶段是linux的预安装环境,提供linux安装选项的一个接口,可以将它比作是window中的PE环境


    anaconda有两种模式:交互式和非交互式

    交互式就和普通安装一样,按照提示选择选项一步步的安装

    非交互式则通过读取kickstart文件的配置,进行自动安装,这和window中的无人值守安装差不多的,这个文件即是ks.cfg文件(相当于window中的wi2k3.sif应答文件)

    而在安装linux过程中,获取ks.cfg文件的方式有多种,如直接在cdrom中获取,常见的形式还有http,ftp,nfs等方式


    格式有三种:

    cdrom和硬盘

    ks=cdrom:/dir/ks.cfg(硬盘的话把cdrom换成hd即可,下面的类似)

    http和ftp

    ks=http://domain.com/dir/ks.cfg

    NFS

    ks=nfs:domain.com:/dir/ks.cfg

    ks=hd:sda4:/isolinux/ks_usb.cfg initrd=initrd.img 

    三种格式主要区分在于后面的斜杠,这里要注意区分


    在使用ks.cfg之前,需要先引导启动环境

    引导方式有很多,cdrom,usb,PXE等。

    在引导进入anaconda后,即可通过读取ks.cfg来进行系统的自动安装

    这里开始说说kickstart文件的大致内容


    ks.cfg文件组成大致分为3段

    1.命令段:

    键盘类型,语言,安装方式等系统的配置,有必选项和可选项,如果缺少某项必选项,安装时会中断并提示用户选择此项的选项

    2.软件包段:

    %packages

    @groupname:指定安装的包组

    package_name:指定安装的包

    -package_name:指定不安装的包

    在安装过程中默认安装的软件包,安装软件时会自动分析依赖关系。

    3.脚本段(可选):

    %pre:预安装脚本(由于只依赖于启动镜像,支持的命令很少)

    %post:后安装脚本(基本支持所有命令)

    而具体的ks.cfg文件的配置,我们只需要在已经安装好的linux的root家目录找到anaconda_ks.cfg(这个ks文件就是在安装linux后,根据用户的安装选项自动生成的)


    下面的是我的一个样例

    (系统是CentOS-6.2-i386-minimal,所以配置样例比较精简)

    # Kickstart file automatically generated by anaconda.
     
    #version=DEVEL
     
    install  #表示是安装,而不是升级
     
    text #文本方式安装
     
    cdrom #安装方式,如果是网络安装的话可以写成 url --url ftp://192.168.1.254/dir 或者 nfs --server=192.168.0.241 --dir=/centosinstall

    harddrive --partition=sda1 --dir=.                u盘安装方式,因为一般用u安装的时候u盘会被分配一个盘符,所以这里要确认好。

    url --url="http://192.168.200.222:9000/iso/yd/"   http安装,这里都是系统放置的地方。

    key –skip #这个是我另外添加的,如果是RedHat的系统,会要求输入key,这里配置为跳过,如果不配置安装时会停在那里要求用户输入key
     
    lang en_US.UTF-8  #语言
     
    keyboard us #键盘样式
     
    network --onboot no --device eth0 --noipv4 --noipv6 #网络配置 配置具体参数样例:network –onboot yes --bootproto=static --ip=192.168.1.1 --netmask=255.255.255.0 其他网关,DNS等格式和ifcfg-ethx的方式一样
     
    rootpw  --iscrypted $6$PEJ49S7OkrNra3UM #管理员密码,是加密过的 要是使用不加密的方式则这样写:rootpw 123456

    firewall --service=ssh #开启防火墙,并打开ssh端口
     
    authconfig --enableshadow --passalgo=sha512 #用户认证和密码加密方式
     
    selinux --enforcing #强制打开selinux
     
    timezone --utc Etc/GMT+8 #时区设置
     
    zerombr yes #清空磁盘的mbr
     
    bootloader --location=mbr --driveorder=sda #引导程序相关参数
     
    # The following is the partition information you requested
    # Note that any partitions you deleted are not expressed
    # here so unless you clear all partitions first, this is
    # not guaranteed to work
     
    clearpart –all –initlabel #初始化磁盘
     
    part / --fstype=ext4 --size=18000 #开始分区
    part swap --grow --size=1024
    repo --name="CentOS"  --baseurl=cdrom:sr0 --cost=100
     
    reboot

    %packages --nobase #安装的软件包,这里由于我安装的是最小mini版,所以只安装了核心软件包组
    @core

    %post #后安装脚本(这里是我另外添加的,原来文件中没有)
    cat > /haha << eof
    安装完成
    eof #
     
    %end

    如果觉得使用样本的方式手工写配置文件比较麻烦,也可以使用图形化工具来制作ks.cfg文件

  • 相关阅读:
    Charles下载和使用
    C# mvc读取模板并修改上传到web
    nginx 安装
    python 测试:wraps
    Linux下MySQL数据库常用基本操作 一
    myeclipse新建maven项目
    java 数据导入xls
    tomcat允许跨域请求:
    Import Projects from git
    c# DataTable 序列化json
  • 原文地址:https://www.cnblogs.com/hanRR/p/10147636.html
Copyright © 2011-2022 走看看