kickstart安装linux

简介:

原理和概念:

一 什么是PXE

严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE ClientPXE Pre-boot Execution Environment)协议使计算机可以通过网络启动。协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE client 的 ROM 中,已经存在了 TFTP ClientPXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。

二 什么是KickStart

KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

 

三 PXE + KickStart安装的条件

执行 PXE + KickStart安装需要的设备为:

• DHCP 服务器;

• TFTP 服务器;

• KickStart所生成的ks.cfg配置文件

 

四 详细步骤

1.加载光盘到/mnt/

mount /dev/cdrom /mnt/

cp -rf /mnt/* /var/www/html/    #拷贝光盘里面的所有内容到nginx根目录下,作为安装源

2.安装tftp-server

yum install tftp-server*

配置tftp

vim /etc/xinetd.d/tftp

service tftp

{

socket_type            = dgram

protocol                = udp

wait                    = yes

user                    = root

server                  = /usr/sbin/in.tftpd

server_args            = -s /tftpboot    #开机必需的程序路径(根据的tftpboot路径更改)

disable                = yes      #把这边的yes改为no

per_source              = 11

cps                    = 100 2

flags                  = IPv4

}

 

 

3.配置tftpboot的内容

mkdir /tftpboot

cp /usr/share/syslinux/pxelinux.0 /tftpboot/

cp /mnt/images/pxeboot/initrd.img /tftpboot/

cp /mnt/images/pxeboot/initrd.img /tftpboot/

cp /mnt/isolinux/*.msg /tftpboot/      #开机引导文件

mkdir /tftpboot/pexlinux.cfg

cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

 

chmod -R 777 /tftpdboot/   #TFTP目录开发权限,否则,tftp下载可能会出问题

 

4.安装配置 DHCP server

 

ddns-update-style interim;

ignore client-updates;

subnet 192.168.1.0 netmask 255.255.255.0 {   #//所属网段及掩码。

 

# --- default gateway

        option routers                  192.168.1.1;

        option subnet-mask              255.255.255.0;

        filename                        "pxelinux.0";  #//PXE得到IP以后的引导文件

        next-server                     192.168.1.91;//tftp服务器IP地址。

 

#       option nis-domain               "domain.org";

#       option domain-name              "domain.org";

        option domain-name-servers      192.168.1.91;

 

        option time-offset              -18000; # Eastern Standard Time

#       option ntp-servers              192.168.1.1;

#       option netbios-name-servers     192.168.1.1;

# --- Selects point-to-point node (default is hybrid). Don't change this unless

# -- you understand Netbios very well

#       option netbios-node-type 2;

 

        range dynamic-bootp 192.168.1.20 192.168.1.25;   #//IP地址池范围。

        default-lease-time 21600;

        max-lease-time 43200;

 

        # we want the nameserver to appear at a fixed address

        host ns {

                next-server marvin.redhat.com;

                hardware ethernet 12:34:56:78:AB:CD;

                fixed-address 207.175.42.254;

        }

}

5.配置 nginx或者http

  使用默认80端口,将跟目录指向到 /var/www/html/   //光盘源复制到的目录

 

6.安装配置 kickstart

yum install system-config-kickstart

在桌面环境下执行图形化kickstart生成工具 system-config-kickstart来生成ks.cfg

 

7.修改 ks.cfg

chmod -R 777 /tftpboot/

cp ks.cfg  /var/www/html/

vim /tftpboot/pxelinux.cfg/default

在最后面添加一下内容:

label linux

kernel vmlinuz

append initrd=initrd.img ks=http://192.168.1.91/ks.cfg    #ks.cfg的路径

 

8.关闭防火墙

/etc/init.d/iptables stop

getenforce 来检测selinux是否开启 ,如果开启 getenforce 0来进行关闭。

9.启动服务

/etc/init.d/dhcpd start

/etc/init.d/xinetd start

/etc/init.d/httpd start

10.不出意外,进可以全自动安装 centos 的系统了

 

       本文转自hb_fukua  51CTO博客,原文链接:http://blog.51cto.com/2804976/1268661,如需转载请自行联系原作者




相关文章
|
2月前
|
Linux
手把手教会你安装Linux系统
手把手教会你安装Linux系统
|
6天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
9天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
78 20
|
3天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
58 7
|
9天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
27 2
|
2月前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
1130 67
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
64 4
|
2月前
|
Linux 测试技术 网络安全
Linux系统之安装OneNav个人书签管理器
【10月更文挑战第19天】Linux系统之安装OneNav个人书签管理器
118 5
Linux系统之安装OneNav个人书签管理器
|
2月前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
68 5
Linux系统之安装Ward服务器监控工具
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
54 5