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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章