Chinaunix首页 | 论坛 | 博客
  • 博客访问: 256357
  • 博文数量: 24
  • 博客积分: 179
  • 博客等级: 入伍新兵
  • 技术积分: 1859
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-30 13:11
文章分类
文章存档

2014年(4)

2011年(2)

2010年(18)

分类: 系统运维

2010-10-14 15:52:05

安装操作系统,除了从光盘作为安装介质而外,还有从网络进行安装等多种安装方式。本节内容介绍怎样从U盘引导,把CentOS 5安装到服务器。用U盘进行系统安装,有以下一些好处。
1)安装速度快。复制文件的速度远比光盘复制快。
2)自动安装,不需要人工交互。
3)省事(相对于网络安装,不需要弄TFTPNFS等)。
4)介质保存时间。
5)维护成本低。一个8GBU盘,购买成本大概100元人民币,比光驱便宜;把一个U盘,驳接到服务器,也远比驳接光驱轻松。

  • 所有需要的东西都在U盘,如OS镜像、引导系统所需的文件等。这样做的目的就是不再需要借助其他资源来完成安装。
  • 安装自动进行。分区、软件包的选择等都是自动完成,大大加快了安装的速度。
  • CentOS被安装到服务器的硬盘而不是U盘。网上有不少文章,是把系统安装到U盘的,这种方法,不是服务器所需要的。
  • 系统引导时,服务器自己的硬盘被当成sdaU盘被当成sdb
  • U盘的大小至少为8GB,以便于放下整个OS镜像文件。有人对镜像文件进行裁剪处理,可以得到较小的镜像文件,不过这个过程比较麻烦。

安装本身是件容易的事情,更何况是自动安装。而安装前所需要做的工作,才是比较费事和容易出问题的,因此这里用较多的篇幅来叙述这个过程。

1. 准备所需要的软件

它包括CentOS镜像(DVD)文件和Windows版的syslinux.exe文件。当然可以直接用Linux系统自带的syslinux,不过Linuxsyslinux做引导处理有点麻烦,所以改用Windows版的syslinux.exe。麻烦在哪里?执行完syslinux -s /dev/sda1 后还要来个dd 操作。

2. 准备两个操作系统环境

一个Windows操作系统,一个Linux操作系统。Windows用来做引导——写mbr和生成ldlinux.sysLinux用来创建分区、拷贝文件等。

3. Linux系统上的操作

1 下载CentOS镜像文件。这个文件很大,网上有完整的DVD镜像下载,可用的下载地址为:
bin-DVD.iso。我把它用wget下载到/root目录。
2 挂接这个镜像文件,以便可以使用镜像文件中的目录。Mount -o loop /root/CentOS-5.3-i386-bin-DVD.iso/mnt/ios,执行命令 cd/mnt/iso,可以像浏览DVD光盘一样查看目录及其里面的文件。
3 U盘插入Linux服务器,然后执行fdisk -l检查是否被识别。在我的系统中,它被识别为/dev/sdb

提示
一定需要两个分区么?不是的。我这样干的目的是当对/dev/sdb1进行操作的时候,不会把镜像文件弄丢了(镜像文件3.8GB,拷贝起来还是很费时间的)。
1)创建两个分区,使用的命令是#fdisk /dev/sdb,以菜单的方式创建 /dev/sdb1/dev/sdb2两个分区。其中/dev/sdb1分配512MB的空间,其余的分配给/dev/sdb2

 
2)创建好分区后,需要在上面创建文件系统。
  • 创建DOS文件系统:mkfs.msdos /dev/sdb1
  •  创建EXT2文件系统:mkfs.ext2 /dev/sdb2,执行成功后,就产生一个EXT2分区。

注意
 

这里是EXT2文件系统而不是EXT3,因为syslinux好像只跟DOS和EXT2文件系统友好。

3)把这个两个分区挂接到Linux系统,我使用的挂接目录是/mnt/usb1/mnt/usb2.
4)复制目录及文件。需要复制的目录是/mnt/iso/isolinux;需要复制的文件是/root/anaconda-ks.cfg。文件/root/anaconda-ks.cfg不是必须的,为了能自动安装CentOS,所以使用了这个文件。
a.  拷贝isolinux目录。
cp –a /mnt/iso/isolinux /mnt/usb1/syslinux 
b.  拷贝anaconda-ks.cfg文件(任何安装完成的centos系统都会在/root目录自动生成这个文件):
cp /root/anaconda-ks.cfg  /mnt/usb1
c.  拷贝dvd镜像文件:
cp /root/CentOS-5.3-i386-bin-DVD.iso /mnt/usb2
d.  改文件名 /mnt/usb1/syslinux/isolinux.cfg/mnt/usb1/syslinux/syslinux.cfg
mv /mnt/usb1/syslinux/isolinux.cfg /mnt/usb1/syslinux/syslinux.cfg
修改文件 /mnt/usb1/syslinux/syslinux.cfg,其修改后的内容如下: 
default linux
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img
label text
  kernel vmlinuz
  append initrd=initrd.img text
label ks
  kernel vmlinuz
  append ks=hd:sdb1:/anaconda-ks.cfg initrd=initrd.img
label local
  localboot 1
label memtest86
  kernel memtest
  append -
 

说明
 
 “append ks=hd:sdb1:/anaconda-ks.cfg initrd=initrd.img”这一行是做了修改的,其作用是以硬盘方式(U盘也被认为是硬盘)引导系统,其所需的CentOS镜像文件在U盘的第二个分区,并且使用kickstart自动安装,指定kickstart配置文件的路径为/anaconda-ks.cfg,即U盘第一个分区的根目录下。
修改文件/mnt/usb1/anaconda-ks.cfg,使其内容如下:

# Kickstart file automatically generated by anaconda.
install
harddrive --partition=sdb2 --dir=
lang en_US.UTF-8
keyboard us
text
rootpw  123456
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc America/New_York
bootloader --location=partition --driveorder=sda
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart  --all
part / --fstype ext3 --size=20000
part /var --fstype ext3 --size=20000
part /usr --fstype ext3 --size=20000
part /data --fstype ext3 --size=1 --grow
part swap --size=4096
%packages
@development-libs
@system-tools
@core
@base
@network-server
@admin-tools
@development-tools
#audit
#kexec-tools
#device-mapper-multipath
#imake 
 
anaconda-ks.cfg文件是自动安装得以进行的关键,因此这里有必要对一些重要的项目做些说明。
 

说明
 
 

harddrive --partition=sdb2CentOS 5镜像文件所在的分区,即U盘的第2个分区。
  •  text:文本方式安装。
  •   rootpw  123456:明文设置密码为123456,服务器上线前必须更改。
n   firewall --disabled:关闭防火墙。
  •  clearpart --all:删除所有数据。
  •  part / --fstype ext3 --size=20000:定制分区并指定大小。
  •   part /data --fstype ext3 --size=1 --grow:定制一个分区,挂接点为/data,分配所有有效的剩余空间给这个分区。
  •   %packages:定制需要安装的软件包。
  •   @development-tools:一个具体的定制包。
 
4. Windows系统上的操作
拔出U盘,把它插在Windows系统的机器上,然后执行命令 syslinux.exe  -a  -m  i:就开始写mbr和生成文件ldlinux.sys。

2.4.3  开始安装

把处理好的U盘插入欲安装系统的服务器,然后开机,把引导设备改成U盘。无误后,片刻出现CentOS 的安装界面,这个界面可能会有一个syslinux.cfg关键字错误的提示,不用理会,直接输入ks后按回车键,安装自动开始,2~3分钟就自动安装完毕。
 
 
阅读(2312) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~