无人值守安装 linux 系统

房东的猫 提交于 2019-12-03 17:44:46

项目内容:利用网络安装技术,结合 Kickstart 程序脚本,实现无人值守安装 Linux 操作系统

项目目的:通过此技术,批量的完成成百上千台服务器系统的无人看管安装,节省大量时间。

1首先配置好 PXE+DHCP+VSFTP 的环境,我们先使用图形化的方式生成一个kickstart 文件。

2安装图形化 kickstart 程序包

[root@zdjserver ~]# yum install system-config-kickstart -y

3运行图形化 system-config-kicstart

[root@zdjserver ~]# system-config-kickstart

-------------------------------------------------------------------------------------------------------------

报错-----》犯了一个愚蠢至极很sb的错误:我是远程ssh上去做的,故报错

[root@zdjserver ~]# system-config-kickstart

Traceback (most recent call last):

  File "/usr/bin/system-config-kickstart", line 28, in <module>

    from meh.ui.gui import GraphicalIntf

  File "/usr/lib/python2.6/site-packages/meh/ui/gui.py", line 21, in <module>

    import gtk

  File "/usr/lib/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>

    _init()

  File "/usr/lib/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init

    _gtk.init_check()

RuntimeError: could not open display

使用 system-config-kickstart 后出现如下界面,按要求配置好相应选项


建议选中在文本模式中执行安装


:分区时,一定要了解预装机器的硬盘容量,并做好分区规划后再进行分区

我们下面是实验环境,就分了最简单的分区。


添加一个网络设备 eth0 使用 DHCP 类型


禁用 selinux,禁用防火墙


如果需要安装图形环境就选中,然后将设置代理启用


选则需要的软件包

安装前安装后自动执行的脚本,不是必须的,这里暂时不设置,待会我们手工编辑


全部配置完成之后,将配置文件 ks6.cfg 保存到/var/ftp 下备用

 

[root@zdjserver ~]# cat /var/ftp/ks.cfg   -----查看生成的文件,根据注释很容易看懂

#platform=x86, AMD64, or Intel EM64T

#version=DEVEL

# Firewall configuration

firewall --disabled

# Install OS instead of upgrade

install

# Use network installation

url --url="ftp://172.17.10.100/rhel6"

# Root password

rootpw --iscrypted $1$KJyICiQI$n5YhTRWRR1MdrL2A7Q2BD1

# Network information

network  --bootproto=dhcp --device=eth0 --onboot=on

# System authorization information

auth  --useshadow  --passalgo=sha512

# Use text mode install

text

# System keyboard

keyboard us

# System language

lang zh_CN

# SELinux configuration

selinux --disabled

# Do not configure the X Window System

skipx

# Installation logging level

logging --level=info

# Reboot after installation

reboot

# System timezone

timezone --isUtc Africa/Abidjan

# System bootloader configuration

bootloader --location=mbr --password="aixocm"

# Partition clearing information

clearpart --all 

# Disk partitioning information

part swap --fstype="swap" --size=5122

part / --fstype="ext4" --size=5000

%packages

@backup-client

@base

kickstart 文件里使用%packages 命令来列出想安装的软件包,这里安装 base 组软件包

%end

为了让客户能在 PXE 引导的时候自动下载 kickstart 文件,必须修改 pxelinux.0 的配置文件

/var/lib/tftpboot/pxelinux.cfg/default

[root@zdjserver ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

[root@zdjserver ~]# cat /var/lib/tftpboot/pxelinux.cfg/default

default vesamenu.c32

。。。。。。

label linux

  menu label ^Install rhel6

  menu default

  kernel vmlinuz

  append ks=ftp://172.17.10.100/ks6.cfg initrd=initrd.img

label local

  menu label Boot from ^local drive

  localboot 0xffff

客户端测试:

这是正常的无人值守的安装界面:


我的报错如下:


我的错误是文件名和保存在/var/ftp下的文件名不一样 -----太粗心了

还要注意文件的权限问题

一篇好文章,有一些常见的出错问题

http://wenku.baidu.com/link?url=n0rg0bsM5z0oTLviV1OE-bdrVEb6_Up1ajCgzOBAytBJM9CvOnAor8g7Tx8SccptEXVtCjbMTo4euZr67XWpX3pnXHadGMBb4QmSE2_wati

 

注意:安装完成后,应该要将第一启动改为硬盘,否则会不断重装。

 


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!