- 浏览: 948556 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (423)
- mysql (37)
- hibernate (3)
- struts (9)
- spring (33)
- dom4j (2)
- junit (0)
- exception (1)
- 随笔杂谈 (12)
- google app engine (1)
- XMPP (1)
- OAuth安全授权 (1)
- 版本控制 (8)
- 心情感悟 (0)
- core java (19)
- log4j (7)
- jquery (12)
- javascript (10)
- 网站性能优化及工具 (11)
- 服务器架设配置等 (38)
- EXT (4)
- 正则表达式 (5)
- 日志统计分析 (2)
- htmlparse (4)
- httpclient (5)
- java随笔 (5)
- dhtmlxtree (1)
- freemarke (5)
- memcached (6)
- javamail (5)
- Linux命令 (10)
- 应用监控cpu web jdbc等 (4)
- jmagick (9)
- 第三方缓存策略 (9)
- ORM (2)
- hadoop (2)
- 大数据量处理 (8)
- 经典 (1)
- 权限设计 (1)
- andriod (1)
- mybatis (12)
- redis (24)
- 数据结构_算法 (5)
- 分布式系统 (1)
- php (1)
- 网络编程 (3)
- 服务器部署 (3)
- ios (2)
- IM (23)
- mina (1)
- 视讯和语音 (1)
- 代码生成 (1)
- 架构 (4)
- 建模工具 (1)
- oracle (4)
- solr (10)
- 构建工具 (7)
- html5 (1)
- nginx (5)
- css (1)
- 大数据-分布式 (2)
- 设计模式 (2)
- mq (2)
- jvm调优 (8)
- 并发编程 (2)
- 搜索引擎 (1)
- UML (2)
最新评论
-
天使建站:
jquery获取网页里多选框checkbox选中项的值的方法及 ...
JS jQuery分别获取选中的复选框值 -
abao1:
发现一个小问题 sortAndSave方法中的for循环 第二 ...
完整java实现外部排序 -
西巴拉古呀那:
Kafka分布式消息系统实战(与JavaScalaHadoop ...
消息系统kafka介绍 -
kafodaote:
Kafka分布式消息系统实战(与JavaScalaHadoop ...
消息系统kafka介绍 -
成大大的:
Kafka分布式消息系统实 ...
消息系统kafka介绍
基于网络的 Red Hat 无人值守安装
1.
方案介绍
这种方案需要首先设置一个启动服务器和一个安装服务器(可以配置在同一台物理机上),然后通过网络启动存放在启动服务器上的安装程序。安装程序会自动访问存放在安装服务器上的安装配置文件和安装介质来完成安装。
该方案主要应用了三种技术:
1)
在PC
上从网络启动Red Hat Linux
安装程序的PXE
协议
2) Red Hat Linux
安装程序提供的网络安装功能(即指通过网络访问安装介质)
3) Red Hat Linux
安装程序提供的无人值守安装功能(Red Hat
称为kickstart
)
技术1)
和2)
在参考资料1
和2
里已有部分介绍。本文将重点描述参考资料中未涉及部分和无人值守安装功能。
要按本文介绍的方法完成自动化安装,你需要如下软硬件资源:
- 一台PC 机器作为启动和安装服务器(其它架构机器也可以)
- 一台待安装的PC 机器,它的网卡必须带有PXE 支持
- 一个建好的局域网,上述两台机器已经连接入同一子网
- 待安装的Red Hat Linux 安装介质
1)
配置启动服务器
2)
配置安装服务器
3)
从网络启动机器以完成安装
步骤1)
和2)
只需做一次即可。对每一台需安装Red Hat Linux
的机器,都需要在启动服务器和安装服务器中部署相应的数据,并执行一次步骤3)
。
下面将带领您逐一执行这些步骤。为了简单,我将用示例来说明如何在一台安装了 Red Hat Enterprise Linux AS 3 Update 5
的 PC
机上设置启动服务器和安装服务器,并在一台PC
上安装 Red Hat Enterprise Linux AS 4 Update 2
。
|
启动服务器的目的是帮助在待安装机器上启动Red Hat Linux
安装程序。启动服务器上需要搭建一个DHCP
服务器和一个TFTP
服务器。前者是为了给待安装机器分配IP
地址,后者则是提供了一个让待安装机器下载启动镜像的途径。
1)
安装DHCP
服务器包(RPM
包名:dhcpd
)。
2)
编辑DHCP
服务器配置文件 /etc/dhcp.conf
。这里是一个示例:
option domain-name "mydomain";
ddns-update-style none;
max-lease-time 7200;
server-name "bootserver";
default-lease-time 600;
allow booting;
allow bootp;
subnet 192.168.138.0 netmask 255.255.255.0 {
range 192.168.138.1 192.168.138.254;
deny unknown-clients;
}
group pxe {
filename "pxelinux.0";
host testserver { hardware ethernet 00:0C:29:70:24:5B; fixed-address
192.168.138.30; }
}
|
在这个例子中,定义的子网是 192.168.138.0/255.255.255.0
。主机定义项testserver
指出 IP
地址 192.168.138.30
将分配给以太网卡00:0C:29:70:24:5B
(待安装机器),文件 pxelinux.0
(在 TFTP
服务器的根目录中)将作为启动映像被网卡ROM
里的PXE
客户端载入内存并运行。
每增加一台需安装的机器,我们需在dhcpd.conf
中增加一条host
条目。
3)
给启动服务器配置一个IP,
这个IP
必须在DHCP
服务器定义的子网内。
这里我们使用192.168.138.1
。关于如何为Red Hat Linux
系统配置IP
地址,请查阅参考资料3
。
4)
启动DHCP
服务。
[root@bsvr] #service dhcpd restart
|
1)
安装TFTP
服务器包(RPM
包名:tftpd
)。
2)
编辑TFTP
服务器的配置文件 /etc/xinetd.d/tftp
。配置文件如下:
service tftp
{
socket_type
= dgram
protocol
= udp
wait
= yes
user
= root
server
= /usr/sbin/in.tftpd
server_args
= -s /tftpboot
disable
= no
}
|
这里选定了/tftpboot
为TFTP
服务器的根目录位置。
3)
将Linux
安装程序的内核/
根文件系统文件复制到 TFTP
服务器的根目录。对于每一个要被安装的Red Hat Linux
版本,都需要执行一次该操作。
Red Hat Linux
第一张安装光盘/isolinux
目录下会包含Linux
安装程序的内核/
根文件系统文件。下面一段命令将这些文件复制到TFTP
服务器的根目录下,并按照版本重新命名。
[root@bsvr]#mkdir /mnt/iso
[root@bsvr]#mount -o loop,ro RHEL4-U2-i386-AS-disc1.iso
/mnt/iso
[root@bsvr]#cp /mnt/iso/isolinux/initrd.img /tftpboot
[root@bsvr]#cp /mnt/iso/isolinux/vmlinuz /tftpboot
[root@bsvr]#mv /tftpboot/initrd.img /tftpboot/initrd-rhel4u2-i386.img
[root@bsvr]#mv /tftpboot/vmlinuz /tftpboot/vmlinuz-rhel4u2-i386
|
4)
将启动镜像文件pxelinux.0
复制到TFTP
服务器根目录。
启动镜像pxelinux.0
可以在syslinux
安装包里获得。安装好syslinux
安装包后,将pxelinux.0
复制到TFTP
服务器根目录。
[root@bsvr]#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
|
5)
编辑pxelinux.0
的配置文件,以使pxelinux
可以正确载入Red Hat Linux
安装程序。对于每一个要被安装的Red Hat Linux
版本,都需要执行一次该操作。
启动镜像pxelinux.0
文件在执行过程中,会读取配置文件以确定它应该载入什么Linux
内核文件来运行。所有的配置文件都放在启动服务器的/tftpboot/pxelinux.cfg/
目录下。pxelinux.0
根据一定的规则来搜索合适的配置文件名。举例来说,对于前面为待安装机器分配的IP
地址192.168.138.30
(十六进制表示为C0A88A1E
),pxelinux.0
会按如下次序搜索配置文件:
C0A88A1E > C0A88A1 > … > C0 > C > default
|
就是说,如果C0A88A1E
文件存在,它就是pxelinux.0
将载入的配置文件。否则,继续往下找。如果C0A88A1
文件存在,它就是pxelinux.0
将载入的配置文件。如果前面的以C
开头的文件都不存在,那么pxelinux.0
将试图从文件default
中读取配置。对于一台需要支持很多安装机器的安装服务器来说,将配置写在与IP
地址对应的文件里很不灵活。把所有配置都集中在default
文件中是个不错的主意,可以减轻配置文件维护负担。
可以将能想到的Red Hat Linux
版本的配置都写在default
文件里,以便同时支持多种Red Hat Linux
版本,如下所示(
对于具体某个 Red Hat Linux
版本,对应的行该如何写,可以参考它安装盘里的配置文件 /isolinux/isolinux.cfg)
:
DEFAULT rhel4u2-i386
DISPLAY pxelinux.cfg/list
PROMPT 1
LABEL rhel3u6-i386
KERNEL vmlinuz-rhel3u6-i386
APPEND initrd=initrd-rhel3u6-i386.img
LABEL rhel3u6-x86_64
KERNEL vmlinuz-rhel3u6-x86_64
APPEND initrd=initrd-rhel3u6-x86_64.img devfs=nomount ramdisk_size=9216
LABEL rhel4u2-i386
KERNEL vmlinuz-rhel4u2-i386
APPEND initrd=initrd-rhel4u2-i386.img ramdisk_size=8192
|
这样用户可以通过输入某种版本的LABEL
(例如,rhel4u2-i386
)来选择具体的安装版本。为了能在安装时知道有哪些备选,可以让pxelinux.0
提示要户选择之前显示一个列表。这通过在default
里指定DISPLAY
选项来实现。在上面的样例中,我们将所有备选Red Hat Linux
版本列在文件pxelinux.cfg/list
中,它的内容会被pxelinux.0
显示出来。
在我们的例子中,/tftpboot/pxelinux.cfg/list
文件内容如下:
Choose one of the following Linux distributions for your installation:
Name
Distribution
Arch.
Installation media
-------------------------------------------------------------------------
rhel3u6-i386
RHEL 3 AS U6
i386 192.168.138.1:/instsvr/i386/rhel3u6
rhel3u6-x86_64 RHEL 3 AS U6 x86_64
192.168.138.1:/instsvr/x86_64/rhel3u6
rhel4u2-i386
RHEL 4 AS U2
i386
192.168.138.1:/instsvr/i386/rhel4u2
|
6)
启动TFTP
服务。
[root@bsvr]#service xinetd
restart
|
|
安装服务器在安装期间提供对 Linux
安装介质和无人值守安装配置文件的访问。安装介质存储在服务器上的一个目录中,可以使用各种网络协议访问它,比如 HTTP
,FTP
,和NFS
。使用NFS
协议,Red Hat Linux
安装程序可以支持多种安装介质目录结构,尤其是支持ISO
光盘镜像文件。这里我们选择使用NFS
协议来访问安装介质。
1)
准备ISO
安装介质。将Red Hat Linux
安装介质的ISO
文件都放置到/instsvr
目录下。注意不要改变文件名。
[root@bsvr]#mkdir /instsvr
[root@bsvr]#mv RHEL4-U2-i386-AS-disc1.iso /instsvr/i386/rhel4u2
[root@bsvr]#mv RHEL4-U2-i386-AS-disc2.iso /instsvr/i386/rhel4u2
[root@bsvr]#mv RHEL4-U2-i386-AS-disc3.iso /instsrv/i386/rhel4u2
[root@bsvr]#mv RHEL4-U2-i386-AS-disc4.iso /instsrv/i386/rhel4u2
|
2)
编辑NFS
服务器配置文件 /etc/exports
,以允许其它机器通过NFS
访问目录/instsrv
。/etc/exports
文件内容如下:
/instsvr
*(ro,no_root_squash,sync)
|
其中:
- * 表示任何IP 地址都可以访问该目录。为了安全的考虑,也可以指定具体的IP 地址。
- ro 表示远程机器对该目录只有读权限。
- 其它选项请参考NFS 手册。
3)
重新启动NFS
服务以使新配置生效
[root@bsvr]# service portmap restart; service nfs restart
|
4)
检测目录/instsrv
是否已被正确共享
[root@bsvr]#showmount -e localhost
Export list for localhost:
/instsrv *
|
这样,我们就设置好了一个安装服务器。很简单吧!
自从 5.2
版开始, Red Hat Linux
开始支持一个称为 kickstart
的
功能,其主要目的是为了减少安装过程中的人机交互,提高安装效率。使用这种方法,只需事先定义好一个配置文件(通常存放在安装服务器上),并让安装程序知
道该配置文件的位置,在安装过程中安装程序就可以自己从该文件中读取安装配置,这样就避免了繁琐的人机交互,实现无人值守的自动化安装。
要使用 kickstart
,你必须:
1)
创建 kickstart
配置文件。
2)
部署kickstart
配置文件,即将kickstart
配置文件放置到安装服务器上,并在安装程序的kernel
参数中指定kickstart
配置文件的位置。
kickstart
配置文件是一个简单的文本文件,包含一个安装项目列表。每个项目对应于一个安装选择,都用关键字标明。
有如下几种方法生成kickstart
配置文件:
- Red Hat 提供了一个样例文件。在Red Hat Linux 文档光盘中 RH-DOCS 目录里的 sample.ks 文件。你可以基于该样例来创建你自己的配置kickstart 文件。
- 每当你安装好一台Red Hat Linux 机器,Red Hat Linux 安装程序都会创建一个 kickstart 配置文件,记录你的真实安装配置。如果你希望实现和某系统类似的安装,可以基于该系统的kickstart 配置文件来生成你自己的kickstart 配置文件。
- Red Hat Linux 提供了一个图形化的kickstart 配置工具。在任何一个安装好的Red Hat Linux 系统上运行该工具,就可以很容易地创建你自己的kickstart 配置文件。kickstart 配置工具命令为redhat-config-kickstart (RHEL3 )或system-config-kickstart (RHEL4 )
- 阅读kickstart 配置文件的手册。用任何一个文本编辑器都可以创建你自己的kickstart 配置文件。
这里有一个kickstart
配置文件样例:
注意:笔者在此处删除了原文的kickstart样例,因为,不同公司 有不同的安装需求,放一个样例在这里实在没有什么意思。
对于kickstart文件,有一点值得我们注意,那就是 %post 以后代表完成系统安装之后将要执行的命令,我们可以在此配置系统,比如调整内核参数,配置主机防火墙等等。
|
所有以"#"
号开头的都是注释。
文件中的nfs --server=192.168.138.1 --dir=/instsvr/i386/rhel4u2
选项告诉安装程序:到服务器192.168.138.1
的NFS
共享目录/instsvr/i386/rhel4u2
下寻找安装介质。Red Hat Linux
安装程序足够聪明,可以识别该目录下应该被读取的ISO
光盘镜像文件名,所有这里你不需要指定ISO
文件名。
关于kickstart
配置文件支持的所有选项及其相信说明,请查阅参考资料3
。
首先我们需要把kickstart
配置文件放在安装服务器上。我们把它放到/instsvr/ks
目录下。即该文件的NFS
访问路径为:
nfs:192.168.138.1:/instsvr/ks/ks.cfg
|
其次,我们需要让安装程序知道我们希望它用kickstart
方式安装,并告知它可以从哪里获得kickstart
配置文件。这可以通过给内核添加一个参数"ks=kickstart
配置文件路径"
来实现。我们只需对启动服务器上的default
文件做一些小修改就可以做到这点:
LABEL
rhel4u2-i386
KERNEL vmlinuz-rhel4u2-i386
APPEND ks=nfs:192.168.138.1:/instsvr/ks/ks.cfg initrd=initrd-rhel4u2-i386.img
ramdisk_size=8192
|
这样在启动安装程序的时候,参数ks=nfs:192.168.138.1:/instsvr/ks/ks.cfg
会被传递给它,告诉它使用这个文件作为kickstart
配置文件来进行kickstart
安装。
5.
步骤3
:从网络启动机器以完成安装
前面的配置工作完成后,下面我们就在待安装机器上通过网络以无人值守的方式来安装Red Hat Enterprise Linux AS 4 Update 2
。
1. 启动待安装机器,选择从网卡启动。具体方法因BIOS 版本不同而异。
三. 常规漏洞扫描 1.漏洞(vulnerability)扫描原理分析 1)漏洞定义:软件代码中存在的缺陷(flaw),这种漏洞是开放人员的失误导致的,比如常见的缓存溢出(buffer overflow)这种漏洞,在代码上就表现为 开发人员使用了诸如 C 语言的 strcopy 函数,但是又没有进行参数字符串长度检查; 软件配置错误(misconfiguring),这种漏洞是维护人员的失
发表评论
-
tomcat jvm 参数说明
2013-12-17 09:50 1545maxThreads=”1000″ enableLookup ... -
SecureCRT常用快捷键设置
2013-11-27 08:36 2751http://www.tatujia.com 1:如果不 ... -
自动拒绝恶意IP远程登录Linux服务器脚本
2013-09-19 13:00 1273http://wgkgood.blog.51cto.com/ ... -
帮助中心分类 新闻公告 (10) Windows VPS教程 (13) Linux VPS教程 (28) 其他 (1) linux中Cron定时任务系统命令详解
2013-05-21 17:46 1014有很多同学在购买VPS之后,需要用到计划任务.但是又对计划任 ... -
Nginx配置文件nginx.conf中文详解
2013-04-03 10:29 928#定义Nginx运行的用户和用户组user www www ... -
nginx配置相关文章
2013-04-03 10:29 935nginx配置相关文章 http://developer ... -
Nginx日志自动切割脚本
2013-04-03 10:29 1011说明:每隔7天执行一次,使用crontab自动运行脚本,请 ... -
centos 6.2 64位安装nginx php mysql
2013-04-03 10:30 1799平台环境http://jiyunjie.blog.51ct ... -
centos nginx安装教程
2013-04-02 13:50 10741.安装 默认安装到/usr/local/ng ... -
Linux中iptables设置详细
2012-09-28 14:13 1572无论如何,iptables是一个需要特别谨慎设置的东西,万 ... -
CentOS 5.6Final下FTP安装及配置 .
2012-09-27 10:07 1237My Scripts: [root@localhost ~] ... -
CentOS5.6 安装JDK
2012-09-27 10:05 1015首先通过界面卸载OpenJDK.然后卸载默认的jdk1.42 ... -
Java获取客户端真实IP地址的两种方法
2012-09-13 13:08 1026在JSP里,获取客户端的IP地址的方法是:request.ge ... -
令 Nginx 后端的 Apache 获取到互联网 IP
2012-09-13 10:58 1921http://blog.csdn.net/songerzhou ... -
让tomcat支持2级域名共享session
2012-09-13 10:46 1032tomcat默认情况下是不支持2级域名共享session的,所 ... -
nginx防盗链配置
2012-08-21 13:22 1251以下配置一般可称为图片防盗链配置,如果是mp3这种文件,我现在 ... -
将nginx同时作为负载均衡和Web缓存服务器
2012-02-13 11:11 1201http://server.51cto.com/sColleg ... -
nginx 代理模式下,获取客户端真实IP
2011-11-30 09:42 4856最近做博友推荐,发现个小问题,用$_SERVER['REMOT ... -
nginx相关文章地址收集
2011-11-04 14:07 1044http://bbs.chinaunix.net/thread ... -
LVS+keeplived+nginx+tomcat高可用、高性能jsp集群
2011-11-04 10:31 2092摘自:http://kerry.blog.51cto.com/ ...
相关推荐
5. **Kickstart**:这是一个用于自动化安装Red Hat Linux及其衍生版本的工具,通过kickstart文件来配置安装过程中的所有设置。 #### 三、无人值守安装Linux的实现步骤 根据文档描述,下面将详细介绍如何实现无人...
### 知识点详解:网络无人值守安装与光盘无人值守安装 #### 一、概述 网络无人值守安装和光盘无人值守安装是自动化安装操作系统的一种方式,它们通过预先配置安装参数来实现自动化的系统安装过程,从而节省大量的...
Red Hat Enterprise Linux (RHEL) 5.4的网络无人值守安装是一种自动化部署技术,它允许系统通过网络启动和配置,无需人工干预。这个过程主要依赖于PXE(Preboot Execution Environment)、DHCP(Dynamic Host ...
### 无人值守安装系统知识点详解 #### 一、无人值守安装概述 无人值守安装系统是一种自动化部署技术,广泛应用于数据中心、大规模服务器群组或企业环境中。这种安装方式减少了人工干预的需求,大大提高了效率并...
3. **准备安装镜像**:你需要一个Red Hat的ISO镜像文件,并将其转换为网络可用的形式,如 squashfs 或 ISO9660 镜像。然后将这个镜像文件放在PXE服务器的适当位置,供客户端下载。 4. **配置PXE启动文件**:编写PXE...
### RHEL5基于网络无人值守安装详解 #### 方案背景及意义 随着信息化技术的快速发展,企业级Linux系统的部署越来越广泛。Red Hat Enterprise Linux (RHEL) 作为一款被广泛采用的企业级操作系统,在大规模部署场景...
这些软件包分别用于提供动态主机配置协议(DHCP)、网络文件系统(NFS)、Kickstart配置工具和Trivial File Transfer Protocol(TFTP)服务,它们是实现全自动无人值守安装的基础。 - `dhcp`: 负责自动分配IP地址和...
【Linux网络和光盘无人值守安装】是一种自动化安装Linux系统的方法,主要应用于大规模部署或需要高效维护的场景。本实验以Red Hat Enterprise Linux 5.3为例,通过Vmare 6.0虚拟环境进行演示。无人值守安装的核心是...
Red Hat(CentOS)批量网络安装系统-Kickstart无人值守安装 本文将介绍如何使用Kickstart无人值守安装来实现Red Hat(CentOS)批量网络安装系统。Kickstart是一种自动化安装工具,能够实现无人值守的安装过程。 一...
无人值守安装通常需要网络连接来获取更新或软件包。可以使用`network`指令设置静态IP、网关、DNS等网络参数,或者使用`bootproto=dhcp`来启用DHCP动态获取。 五、自动应答问题 通常,Linux安装过程中会有许多交互...
为了实现无人值守安装,通常会将Linux安装介质(如光盘ISO镜像)挂载到一个FTP目录下,便于网络访问。这样做的目的是让客户端能够通过网络下载安装所需的文件,而非通过物理媒介。这一过程涉及创建FTP服务器,并确保...
KickStart是Red Hat Enterprise Linux(如RHEL5.4)的安装程序Anaconda的一部分,它基于Python编程语言。KickStart的工作模式主要是通过记录一次典型安装过程中的所有手动干预步骤,包括选择软件包、设置网络配置、...
- 在 Windows 下,可以通过 `setup.exe /SILENT /DIR=<安装路径>` 这样的命令来实现无人值守安装。 - 在 Red Hat Linux 下,则可以通过类似 `./setup --silent --dir=<安装路径>` 的命令来实现。 #### 5. 请求 DSP ...
# KickStart无人值守批量安装Linux 在大规模部署Linux系统时,手动逐台进行安装显然效率低下且容易出错。为此,Linux提供了`KickStart`技术,它允许管理员预定义安装配置,实现自动化无人值守的批量安装。本文将...
此外,可能会涉及Kickstart自动化安装,这是一种节省时间的安装方式,通过预先定义配置文件实现无人值守的系统安装。 文档可能会讲解如何配置RHEL 9的YUM(Yellowdog Updater, Modified)软件包管理器,它是RHEL...
Linux Kickstart是Red Hat Linux和其衍生版本如CentOS、Fedora等系统中内置的一种功能,它允许管理员创建一个预配置的脚本,该脚本包含了安装过程中所有必要的设置,如分区、软件包选择、用户账户创建等。...
除了Red Hat系列的无人值守安装技术外,SuSE Linux提供了AutoYast工具,它允许用户通过定义XML格式的配置文件实现系统的自动化安装。AutoYast可以处理复杂的安装场景,如多语言支持、自定义软件包选择和系统配置,使...
### Red Hat Linux 无人值守安装详解 #### 一、引言 无人值守安装是指通过预配置文件自动完成操作系统安装过程的技术。Red Hat Linux (RHEL) 的无人值守安装技术不仅提高了部署效率,还降低了人为错误的可能性。...