Centos安装的不同方法

Linux kickstart: 无人值守。 在安装linux的过程中,它允许通过nfshttpftp协议来进行网络安装,但是在一般情况下需要一个安装引导介质(引导光盘,引导软盘,u盘等)

Kickstart安装centos

安装centos时候需要annconda (分区,语言,键盘,主机名,网络等相关的设置信息)把它们放到一个文件中,称为ks.cfg

Ks.cfg可以放在服务器中,也可以放到本地硬盘中(u盘等)

在服务器中需要写

bootlinux ks=url

如果再本地硬盘需要

linux =hd:da1:/目录/文件

实验环境:

版本:CentOS release 6.5

内核:2.6.32-431.el6.i686

实验拓扑:

wKioL1ROTrjDTB0DAADY-c0n474169.jpg

服务器的创建:

[root@wang ~]mkdir /media/cdrom

[root@wang ~]# mount /dev/cdrom /media/cdrom  

mount: block device /dev/sr0 is write-protected, mounting read-only 先挂载光盘

[root@wang ~]# yum --disablerepo=\* --enablerepo=c6-media install vsftpd lftp ftp dhcp -y  安装必要的软件包(安装过就不需要重复安装)lftp  ftp软件包是供测试用。

[root@wang ~]# service vsftpd start  启动vsftp服务器

[root@wang ~]# chkconfig vsftpd on  设置为开机启动

[root@wang ~]# lftp 127.0.0.1

lftp 127.0.0.1:~> dir             

drwxr-xr-x    2 0        0            4096 Mar 01  2013 pub

lftp 127.0.0.1:/>   测试是否可用

[root@wang ftp]# cd /media/cdrom/

[root@wang cdrom]# cp -rf . /var/ftp/  将光盘文件拷贝的ftp文件里面

接下来做ks.cfg

需要安装system-config-kickstart 软件包

[root@wang cdrom]# cd Packages/           

[root@wang Packages]# ll |grep kickstart  搜索

-r--r--r--. 2 root root   316464 Nov 25  2013 pykickstart-1.74.14-1.el6.noarch.rpm

-r--r--r--. 2 root root   944648 Feb 24  2013 system-config-kickstart-2.8.6.5-1.el6.noarch.rpm

[root@wang Packages]# yum --disablerepo=\* --enablerepo=c6-media install system-config-kickstart   安装软件包

[root@wang Packages]# system-config-kickstart  运行(基于图形界面运行,带图形端的xshell也可运行)

我用图形界面运行

wKiom1ROTnHxKWHCAAE1EfwYx-0612.jpg

出现红色方框的东西时需要

[root@wang Packages]# cd /etc/yum.repos.d/  进入这个目录

[root@wang yum.repos.d]# ll

total 16

-rw-r--r--. 1 root root 1926 Nov 27  2013 CentOS-Base.repo

-rw-r--r--. 1 root root  638 Nov 27  2013 CentOS-Debuginfo.repo

-rw-r--r--. 1 root root  630 Nov 27  2013 CentOS-Media.repo

-rw-r--r--. 1 root root 3664 Nov 27  2013 CentOS-Vault.repo

[root@wang yum.repos.d]# mkdir a

[root@wang yum.repos.d]# mv CentOS-Base.repo a

[root@wang yum.repos.d]# mv CentOS-Debuginfo.repo a

[root@wang yum.repos.d]# mv CentOS-Vault.repo a   把除了CentOS-Media.repo外其他的文件删除或者挪走,这里我挪到了a文件夹里

[root@wang yum.repos.d]# vim CentOS-Media.repo  编辑这个文件改成这样

wKioL1ROTs7yjC7hAADD2DVZJ-g888.jpg

enabled=1  启用该设置

gpgkey=file:///media/cdrom/RPM-GPG-KEY-CentOS-6   密钥的位置设置正确

然后重新执行

wKioL1ROUkmwr1V1AAAoqNCFSM0029.jpg

 

然后设置

wKioL1ROUlHhLYaHAAF6Z_7D4t8528.jpg

wKiom1ROUgXS2pHQAAITpYzgK8I660.jpg

wKiom1ROUhGxWa_6AAHKVOof2_Y930.jpg

wKiom1ROUh_xt4D6AALeoyxy2z4405.jpg

wKioL1ROUoWSGoX4AAH6hlnXhW4669.jpg

wKioL1ROUprzoE3wAABcoXMjSQ0563.jpg

设置成这样既可

wKiom1ROUk6j5h0qAAGhnCnn3eI241.jpg

wKioL1ROUq6xJ53WAAHSA3WUo-0395.jpg

wKiom1ROUmOic_fAAAF00H9bvVw734.jpg

wKioL1ROUsGArEb3AAIrYckjPcc805.jpg

安装的软件包。需要什么安装什么

后面2项暂时不需要

wKioL1ROUsrBRwTlAAEGV5J1KaY607.jpg

wKiom1ROUoDzBjknAAG5au0QtvE785.jpg

保存即可

[root@wang ~]# ls

Desktop    Music     Templates        install.log

Documents  Pictures  Videos           install.log.syslog

Downloads  Public    anaconda-ks.cfg  ks.cfg  

查看,文件已经产生

[root@wang ~]# cp ks.cfg /var/ftp/   ks.cfg文件复制到ftp根目录

[root@wang ~]# yum --disablerepo=\* --enablerepo=c6-media install dhcp  安装dhcp

[root@wang ~]# vim /etc/dhcp/dhcpd.conf    编辑dhcp.conf文件


以上面的方式读取例子

wKiom1ROUvLw8c-bAACb4m03d-I884.jpg

36,$d删除36行之后的东西

wKioL1ROU1vjTjdKAAJnXRADUAc293.jpg

wKiom1ROUw_ySZ8kAAHkeRSdFAM116.jpg

写上这些,其他的删除

[root@wang ~]# service dhcpd configtest  然后测试下语法是否有错误

[root@wang ~]# service dhcpd  start

Starting dhcpd:                                            [  OK  ]

开启dhcp

 [root@wang ~]# netstat -tupln |grep 67   查看67端口是否用着

udp        0      0 0.0.0.0:67                  0.0.0.0:*                               2421/dhcpd          

[root@wang ~]# chkconfig dhcpd on

[root@wang ~]# service iptables stop     关闭防火墙

iptables: Setting chains to policy ACCEPT: filter          [  OK  ]

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Unloading modules:                               [  OK  ]

[root@wang ~]# setenforce 0   把防御策略设置为警告级别

然后打开需要安装的机器,需要插上光盘引导,不插光盘的方式在下面介绍

我这里用虚拟机做演示

打开电源

wKiom1ROU3ryVi1GAAMqgnL_M3M673.jpg

esc

wKiom1ROU4_T4i9HAAAkPDw8ZLk642.jpg

输入这回车

wKioL1ROU_KjIsEfAAEI-yeNn1o894.jpg

开始安装了

如果没有光盘可以制作引导盘

制作引导光盘

[root@wang ~]# cd /media/cdrom/

[root@wang cdrom]# cd isolinux/

[root@wang isolinux]# ll

total 35407

-r--r--r--. 1 root root     2215 Nov 29  2013 TRANS.TBL

-r--r--r--. 1 root root     2048 Nov 29  2013 boot.cat

-r--r--r--. 2 root root       84 Nov 29  2013 boot.msg

-r--r--r--. 2 root root      142 Nov 27  2013 grub.conf

-r--r--r--. 2 root root 31742048 Nov 27  2013 initrd.img

-r--r--r--. 2 root root    24576 Nov 29  2013 isolinux.bin

-r--r--r--. 2 root root      936 Nov 29  2013 isolinux.cfg

-r--r--r--. 2 root root   165080 Nov 29  2013 memtest

-r--r--r--. 2 root root   151230 Nov 29  2013 splash.jpg

-r--r--r--. 2 root root   162860 Nov 29  2013 vesamenu.c32

-r-xr-xr-x. 4 root root  4002656 Nov 29  2013 vmlinuz

挂载硬盘进入硬盘isolinux目录下 发现isolinux目录下是引导启动的必要组件

[root@wang cdrom]# mkdir /tmp/iso

[root@wang cdrom]# cp -r isolinux/ /tmp/iso/ isolinux文件拷出来

[root@wang cdrom]# cd /tmp/iso/

[root@wang iso]# ll

total 4

dr-xr-xr-x. 2 root root 4096 Jul 22 03:28 isolinux

[root@wang iso]# cp /root/ks.cfg ./

[root@wang iso]# ls

isolinux  ks.cfg     ks.cfg也拷贝到iso文件中

[root@wang iso]# mkisofs  -o  myiso.iso -b  isolinux/isolinux.bin  -c isolinux/boot.cat  -no-emul-boot -boot-load-size 4 -boot-info-table -R  -J -v  -T    .  

制作引导盘的命令必须在iso的目录下执行

[root@wang iso]# ll

total 35796

dr-xr-xr-x. 2 root root     4096 Jul 22 03:28 isolinux

-rw-r--r--. 1 root root     1036 Jul 22 03:29 ks.cfg

-rw-r--r--. 1 root root 36646912 Jul 22 03:34 myiso.iso

命令执行后生成了myiso.iso文件

然后装linux的时候放入引导光盘

从光盘启动

wKiom1ROU6zgLOnsAAA9kmRkfKA431.jpg

输入ks.cfg在光盘的路径即可安装

 

 

如果不输入boot安装可以这样做:

 

[root@wang iso]# cd isolinux/

[root@wang isolinux]# vim isolinux.cfg   编辑vim isolinux.cfg 文件

wKioL1ROWZryIWaOAAA0yMNX558289.jpg

将其改成这样  default linux ks=cdrom:/ks.cfg  默认使用光盘的ks.cfg文件

 prompt 1 出现boot

  timeout 10  默认启动的等待时间

[root@wang iso]# ll

total 35796

dr-xr-xr-x. 2 root root     4096 Jul 22 04:06 isolinux

-rw-r--r--. 1 root root     1036 Jul 22 03:29 ks.cfg

-rw-r--r--. 1 root root 36646912 Jul 22 03:34 myiso.iso

[root@wang iso]# rm -rf myiso.iso     删除以前烧录的muiso.iso文件重新烧录

[root@wang iso]# mkisofs  -o  myiso.iso -b  isolinux/isolinux.bin  -c isolinux/boot.cat  -no-emul-boot -boot-load-size 4 -boot-info-table -R  -J -v  -T    .     

然后挂载新烧录的启动盘装机即可什么都不需要输入直接安装

(三)如果没有光驱需要使用PXE引导安装

Pxe 预启动执行环境 是RPL的升级产品,

严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (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 Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。

 

wKiom1ROWpbQFZHGAAJSAmt4pYQ991.jpg

这是biospxe选项

实验拓扑:

wKioL1ROW0jydcwtAADtSee9Fdo823.jpg

[root@wang ~]# mount /dev/cdrom /media/cdrom/

mount: block device /dev/sr0 is write-protected, mounting read-only  挂载光驱

[root@wang ~]# yum --disablerepo=\* --enablerepo=c6-media install dhcp vsftpd tftp-server -y

安装必要的软件包

[root@wang ~]# service vsftpd start

Starting vsftpd for vsftpd:                                [  OK  ]

[root@wang ~]# chkconfig vsftpd on

[root@wang ~]# cp -r /media/cdrom/. /var/ftp/    启动vsftpd服务,将系统的安装文件拷贝到/var/ftp

[root@wang cdrom]# vim /etc/dhcp/dhcpd.conf   编辑dhcpd..conf文件同上

wKiom1ROWwHzRc4rAAIH-LZs_Ws552.jpg

注意这个是做tftp的需要在 subnet 192.168.1.0 netmask 255.255.255.0 {

 34   range 192.168.1.20 192.168.1.50;

 35   option routers 192.168.1.254; 36   

 36   next-server 192.168.1.3;    说明tftp地址

 37   filename    "pxelinux.0";   文件驱动的位置

  [root@wang cdrom]# service dhcpd configtest  检测语法

Syntax: OK

[root@wang cdrom]# service dhcpd start

Starting dhcpd:                                            [  OK  ]

[root@wang cdrom]# chkconfig dhcpd on

[root@wang cdrom]# rpm -ql tftp-server  查询tftp文件

/etc/xinetd.d/tftp

/usr/sbin/in.tftpd

/usr/share/doc/tftp-server-0.49

/usr/share/doc/tftp-server-0.49/CHANGES

/usr/share/doc/tftp-server-0.49/README

/usr/share/doc/tftp-server-0.49/README.security

/usr/share/doc/tftp-server-0.49/README.security.tftpboot

/usr/share/man/man8/in.tftpd.8.gz

/usr/share/man/man8/tftpd.8.gz

[root@wang cdrom]# vim /etc/xinetd.d/tftp     编辑tftp文件

wKioL1ROXEbwBkTEAACdGzEz-WM401.jpg

disable改为no

[root@wang cdrom]# service xinetd restart

Stopping xinetd:                                           [  OK  ]

Starting xinetd:                                           [  OK  ]

重启超级守护进程

[root@wang cdrom]# chkconfig xinetd on

[root@wang cdrom]# yum --disablerepo=\* --enablerepo=c6-media install syslinux   安装syslinux数据包

 [root@wang cdrom]# rpm -ql syslinux| grep pxelinux

/usr/share/doc/syslinux-4.02/pxelinux.txt

/usr/share/syslinux/gpxelinux.0

/usr/share/syslinux/pxelinux.0    搜索pxelinux的位置

[root@wang cdrom]# cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/  pxe驱动拷贝到tftp根目录

[root@wang cdrom]# cd /var/lib/tftpboot/   进入tftp根目录

[root@wang tftpboot]# ll

total 28

-rw-r--r--. 1 root root 26828 Jul 22 06:04 pxelinux.0

[root@wang tftpboot]# mkdir pxelinux.cfg   新建个pxelinux.cfg文件夹(存放驱动的目录)

[root@wang tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default  将配置文件拷贝到pxelinux.cfg文件夹里,并改名称为default 

[root@wang tftpboot]# cp /media/cdrom/isolinux/vmlinuz ./  将内核文件拷贝到tftp根目录

[root@wang tftpboot]# cp /media/cdrom/isolinux/initrd.img ./  拷贝驱动到根目录

[root@wang tftpboot]# cd pxelinux.cfg/

[root@wang pxelinux.cfg]# ll

total 4

-r--r--r--. 1 root root 936 Jul 22 06:09 default

[root@wang pxelinux.cfg]# vim default  编辑default文件

 wKioL1ROXHvTlao7AAGplyPl8LE428.jpg

default 默认设置为linux

Ks=ftp://192.168.1.3/ks.cfg  的位置说明下

然后安装每个主机的时候主机名什么的需要不一样,但是机器是无人值守的,所以需要编辑脚本将机器的名字改下,这里设想去ip地址的最后一个值作为名称的一部分来解决问题

[root@wang ~]# vim test.sh   编辑vim test.sh

wKiom1ROXEXz6R6jAAEWZrXwejk091.jpg

#!/bin/bash

STRING1=`ifconfig eth0|grep 'inet\>'|awk '{print $2}'`

NUM1=${STRING1##*.}

sed -i -e "s@HOSTNAME.*@HOSTNAME=station$NUM1.a.com@" /etc/sysconfig/network

sed -i -e "s@BOOTPROTO.*@BOOTPROTO=static\nIPADDR=192.168.1.$NUM1\nNETMASK=255.255.255.0@"  /etc/sysconfig/network-scripts/ifcfg-eth0

即脚本文件

[root@wang ~]# cd /etc/yum.repos.d/

[root@wang yum.repos.d]# ll

total 16

-rw-r--r--. 1 root root 1926 Nov 27  2013 CentOS-Base.repo

-rw-r--r--. 1 root root  638 Nov 27  2013 CentOS-Debuginfo.repo

-rw-r--r--. 1 root root  630 Nov 27  2013 CentOS-Media.repo

-rw-r--r--. 1 root root 3664 Nov 27  2013 CentOS-Vault.repo

[root@wang yum.repos.d]# rm *

rm: remove regular file `CentOS-Base.repo'? y

rm: remove regular file `CentOS-Debuginfo.repo'? y

rm: remove regular file `CentOS-Media.repo'? n

rm: remove regular file `CentOS-Vault.repo'? y

[root@wang yum.repos.d]# vim CentOS-Media.repo

删除yum.repos.d目录下的文件,直留一个CentOS-Media.repo并编辑

wKioL1ROXKjCszcCAAD289cCOZ8804.jpg

如此即可

[root@wang yum.repos.d]# yum install system-config-kickstart -y  安装此软件包

在桌面系统下运行[root@wang yum.repos.d]# system-config-kickstart 

wKiom1ROXF2zli2aAAJjCi8PpC8752.jpg

这个选项和前面的一样只是最后一项多个

wKioL1ROXOyT-fgaAAH5OKX6uKA786.jpg

最有一项,写上脚本,然后保存

打开ks.cfg检查是否有问题[root@wang mnt]# vim ks.cfg

wKiom1ROXKmivae1AAFLsMqHWV8352.jpg

wKioL1ROXRjANssqAAHRGuoymxc638.jpg

查看脚本是否正确

[root@wang mnt]# cp ks.cfg /var/ftp/  ks.cfg放入/var/ftp

[root@wang mnt]# cd /var/lib/tftpboot/

[root@wang tftpboot]# cd pxelinux.cfg/

[root@wang pxelinux.cfg]# vim default  default文件可以看出来为什么把ks.cfg放入/var/ftp

wKiom1ROXNzh6fakAACZs4yi1D0437.jpg

显示ks的路径在ftp服务器的根目录里

[root@wang pxelinux.cfg]# service iptables stop

iptables: Setting chains to policy ACCEPT: filter          [  OK  ]

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Unloading modules:                               [  OK  ]

[root@wang pxelinux.cfg]# setenforce 0

关闭防火墙,设置防御策略为警告级别

然后进行测试,把光盘都拔出

wKiom1ROXPKTLl-2AAIZIzOUfCw991.jpg

 network boot from(从网络启动置顶)

F10 保存退出

wKioL1ROXVHDCCanAAEVeNUmF5s237.jpg

成功进行安装linux

wKiom1ROXRaiM6vyAAE2Xq-_SZ0027.jpg

wKioL1ROXZ3SLIh0AABO8mBQcNQ373.jpg

查看主机名

wKiom1ROXVPgL6FcAAAnnwurEYk898.jpg

以修改

查看ip配置文件

wKioL1ROXbGi_dSxAAA471f1xZo153.jpg

wKiom1ROXWXjtl_GAACid5Yjvv0311.jpg

地址已经修改为静态ip


你可能感兴趣的:(linux,服务器,release)