Linux安装方式
常见的安装方式
常见的安装方式有三种
- 光盘安装 (最简单普遍的安装方式,类似的安装文档网上到处都有,就不多说了)
- 硬盘安装 (可以在Dos下安装,syslinux引导安装,WinGrub/Grub引导安装)
- 网络安装 (包括NFS,FTP,HTTP安装)
网上有比较全面的安装方式,如:
如何进行系统分区
系统分区时,推荐将/usr、/usr/local、/var、/var/mail、/var/log、/opt等分区单独分出来,也就是说,进行比较细致的分区,防止某个目录中的文件膨胀占满整个分区导致的死锁等问题。
假定你有一个80G的硬盘,一个分区示例在下面:
| 目录 | 大小 |
|---|---|
| / | 200M |
| (swap) | 1G |
| /tmp | 200M |
| /usr | 500M |
| /usr/local | 200M |
| /var | 100M |
| /var/mail | 100M |
| /var/log | 5G~10G |
| /home | 200M |
| /opt | 剩余空间 |
各安装方式的区别
除了光盘安装,无论是硬盘安装还是网络安装,都需要配合特别的initrd.tgz和vmlinuz这两个文件才能进行。 一般的光盘中都会有images这个目录,里面包括了一些特殊安装方式所需要的镜像文件,如:
NFS可以是ISO安装,FTP/HTTP则需要完整的软件包目录才能安装。
比如说ubuntu的硬盘安装,因为光盘中并不包含引导硬盘安装的镜像,需要自行下载对应的镜像文件:
下面就我所经常使用的安装方法进行实践:
- 有软驱的情况:如果有软驱,linux下可以使用dd if=bootnet.img of=/dev/fd0命令把启动镜像写入软盘,然后用软盘引导启动。
- 如果没有软驱:则需要借助其它方式,如切换到DOS,syslinux引导,WinGrub/Grub引导启动。
假设我们现在有软驱,使用dd命令也成功得制作了一张启动软盘,然后我们进行FTP安装。
FTP安装
1.先准备一台FTP机器,可以是linux,也可以是其它FTP服务器。
这里我使用的是linux下的vsftp做服务器。ftp目录为:/var/ftp/pub/
1.1 mount -o loop trustix-2.1.iso /mnt
# df /var/ftp/pub/HeavyMail-2.1.iso 331130 331130 0 100% /mnt
1.2 把/mnt下的trusix拷贝到/var/ftp/pub目录下
[root@SARATOGAMP mnt]# cd trustix/ [root@SARATOGAMP trustix]# ls base rdfs rpms TRANS.TBL
1.3 以VMware为例,在机器中插入制作好的软盘,开机启动
1.4 经过一系列如键盘的配置,就会出现选择安装介质的画面
1.5 配置机器自身网络,这里使用DHCP动态获取
1.6 填写基本的FTP服务器信息,如主机IP,文档目录,是否为匿名FTP
1.7 如果是非匿名FTP服务器,填写用户名和密码进行连接
1.8 验证通过后,会出现短暂的解压缩包过程
1.9 随后会出现欢迎安装的界面,接下来就和光盘安装过程一样,过程略
NFS安装
NFS的安装包括两个部分
- NFS服务器的创建和运行
- NFS客户端的连接和设置
NFS服务器的创建,以后会慢慢的详细讲述,这里暂时以系统默认的NFS为例,只要在系统进程中打开NFS服务进程就可以了。
包括nfs,nfslock.
把完整的linux iso文件放到一个目录下,如/mnt/iso目录
vi /etc/exports
/mnt/iso 10.4.0.0/16(ro) #允许10.4.0.0/16范围的机器有权只读/mnt/iso目录下的文件
设置完毕后,可以使用命令查看共享情况
exportfs
NFS安装连接的过程到1.5步都与FTP相同,这时,我们选择NFS image
针对安全性较高的场合,需要对NFS服务器的安全做一些特别设置来进行保护措施。
具体做法包括:
- 配置专业的硬件防火墙设备
- 使用iptables脚本来实现防火墙
- 通过 Tcpwrapper来实现连接控制和约束
/etc/hosts.allow
portmap: 192.168.10. nfsd: 192.168.10. nfslock: 192.168.10. mountd: 192.168.10.
硬盘安装方式
HTTP安装方式
自动化批量安装linux
很多时候,我们希望能自动安装RedHat Linux , 例如计算机教室、Linux集群系统,一次得安装多台Linux 的需求,如果一台一台利用光盘慢慢安装,岂不费时费力。为了满足这种需求,Red Hat 发展出kickstart 的安装方式。藉由使用 kickstart,系统管理员只需建立一个自动安装配置文件( RedHat Linux KickStart HOWTO ks.cfg),其中含有安装Red Hat Linux 所需回答的所有设置值,如此一来系统便会根据这个文件来完成安装的工作。
ks.cfg 文件可以存放在某台网络上的服务器上,以让欲安装Linux 的计算机来读取它。而且通常我们也会将RedHat 光盘的内容复制至这台服务器,并将内容共享出来,如此利用Kickstar 网络安装的方式便可很快速地安装多台Linux,这系统管理员带来很大的方便。
安装源服务器
Kickstart 的安装,安装的来源可以是本机的光驱、硬盘或透过 NFS,FTP 或 HTTP 来进行安装,利用NFS、FTP、HTTP 网络安装的方式是较有效率的,所以我们首先得先配置一台Installation Server,就是将4 片光盘的内容复制至Server 上并利用NFS、FTP 或HTTP 将其共享出来。通常Installation Server 会同时担任DHCP Server。所以在实作kickstart 自动安装之前我们得先配置这台Installation server。详见上述各安装方案。
kickstart自动安装配置文件
Kickstart 自动安装配置文件ks.cfg是一个普通的文本文件,其中含有安装Linux 所需的各项设置,例如语系、分区的配置、root 的密码、等各项安装时所需要的设置值。
Red Hat Linux 安装程序也根据您在安装过程中所选择的选项建立一个ks.cfg 的参考范例, 该文件会存放在 /root/anaconda-ks.cfg。
下面是笔者安装Installation Server 时系统所产生的anaconda-ks.cfg,ip 为「192.168.0.254」,主机名称为「server.example.com」,套件选择为「全部安装」。
# Kickstart file automatically generated by anaconda. lang en_US langsupport zh_CN en_US --default=en_US keyboard us #System mouse mouse generic3ps/2 #Sytem timezone timezone Asia/Shanghai #Root password rootpw --iscrypted $1$f97d093B$OY9uvHS/HvLNlC4m8xeTB1 #Reboot after installation reboot #Use text mode install text #Install Red Hat Linux instead of upgrade install url --url http://192.168.14.202/rhas #harddrive --partition=sdb1 --dir=rhas #nfs --server=192.168.14.227 --dir=/home/pyh/rhas text bootloader --location=mbr zerombr yes clearpart --drives sda --initlabel part / --fstype ext3 --size 3072 --asprimary --ondisk sda part swap --size 256 --asprimary --ondisk sda part /tmp --fstype ext2 --size 256 --ondisk sda part /home --fstype ext3 --size 1 --grow --ondisk sda auth --useshadow --enablemd5 #network --bootproto=dhcp --device=eth0 network --device=eth0 --bootproto=static --ip=192.168.14.144 --netmask=255.255.254.0 \ --gateway=192.168.14.15 --nameserver=202.96.128.68 --hostname=rhas.geminis.com firewall --disabled skipx %packages --resolvedeps @ development-tools @ kernel-development @ admin-tools @ system-tools %post /sbin/chkconfig --level 345 sshd on /sbin/chkconfig --level 0123456 kudzu off /sbin/chkconfig --level 0123456 cups off /sbin/chkconfig --level 0123456 autofs off /sbin/chkconfig --level 0123456 sendmail off /sbin/chkconfig --level 0123456 atd off ...... /sbin/chkconfig --level 0123456 audit off /sbin/chkconfig --level 0123456 firstboot off /sbin/chkconfig --level 0123456 vsftpd off mkdir /mnt/source mount 192.168.0.1:/etc /mnt/source cp /mnt/source/X11/Xorg.conf /etc/X11
kickstart详解
ks.cfg 文件由三个部份皆组成:
command 区段—此部份包含了必要安装选项 packages 区段—列出欲安装套件 %pre and %post 区段
command 区段
■lang(必要):安装时所使用的语言
例如:安装过程中选用中文语言,lang zh_TW.Big5
■langsupport (必要):指定系统使用的语言。假如你安装一至多国语系,你必需使用默认选项去指定默认语言。
语法为:langsupport –default enUS.UTF-8 zhTW.Big5 en_US.UTF-8
■键盘(必要):设置系统键盘的种类。
语法为:keyboard us
■鼠标(必要):设置鼠标。
语法为:mouse
--device=ttvS0(鼠标识别装置位置) --emulthree(仿真三个按键) generics/2(定义鼠标种类)
■timezone(必要) 设置系统时区。
timezone Asia/Taipei (指定你的时区位置)
■xconfig(非必要):在安装过程中手动设置X,假如你不想安装X,你不应该使用此选项。
命令的格式为:xconfig
--card(显示卡类别) --videoram(指定显示卡记忆容量) --hsync(指定屏幕水平扫描频率) --vsync(指定屏幕垂直扫描频率) --resolution(指定屏幕分辨率) --depth(指定X 窗口系统彩度) --startxonboot (假如你想在系统开机时激活X 时使用) --defaultdesktop gnome(或kde)(指定默认桌面)
■install (非必要):告知系统安装一个新的安装(install)或者是升级原系统(upgrade)。
这是默认模式,因此一个新的安装不需再选用这个命令。接着您必需指定安装方式,可以是cdrom、harddrive、nfs 或url。
cdrom harddrive --partition=来源分区 --dir=Red Hat 源目录 (请确定你所键入来源分区和子目录信息的正确性) nfs --server=指定安装来源服务器 --dir=Red Hat 源目录 (请确定你所键入来源分区和子目录信息的正确性) url --url http://your server/dir 使用HTTP 进行安装 url --url ftp://your username:password@your server/dir 使用FTP 进行安装
■rootpw (必要) 设置一组系统root 密码。
rootpw --iscrypted (表示密码已被加密) password
■firewall(非必要) 提供安全性等级来保护系统。
■authconfig (必要) 设置系统认证选项。
命令格式:
--enablemd5 (使用md5 编码使用者密码) --enableshadow (使用shadow 密码)
■bootloader (必要) 指定开机管理程序的位置和传递任何kernel 选项。默认开机管理程序为GRUB,但是你也能选择LILO 开机管理程序来取代GRUB。
命令格式为:
--location=mbr (指定开机管理程序的位置) --append= (指定要传递的核心参数)。 --useLilo (使用LILO 为开机管理程序)。
■clearpart (非必要)告知系统移除系统上的分区。你可以使用clearpart 移除Linux 分区以及移除所有的分区,或者你也能指定你想要移除分区的磁碟机。
命令格式为:
--linux (移除所有Linux 分区) --all (移除系统上所有的分区) --drives = (指定要移除分区的磁盘驱动器)
■Part (必要) 安装时是必要的,升级时请忽略。使用这个命令你能为系统建立分区。
package 区段
安装一个新的系统,你必需选择你想安装的套件。选择欲安装的套件是使用%packages 命令。套件可分为单一套件或者是套件组。你能在第一片Red Hat安装光盘下的/base/comps.xml 寻找群组套件清单。
通常,只需列出套件组不需要列出单一套件。注意!默认之下core 和base 群组是被选取的,所以也不需要在 %packages 这个区段下去指定它们。
如同利用ksconfig 所产生出来的ks.cfg %packages 区段中套件组是一行指定一个,以@节号开头,后面加上一格空白接下来是完整群组名称就如同comps.xml 文件所指定。如果个别单一套件并列出该单一套件名,不加上额外的字符。
套件组是一行指定一个,以@节号开头,后面加上一格空白接下来是完整群组名称就如同comps.xml 文件所指定。如果是个别单一套件则列出该单一套件名,前面不需加上额外的字符。
%package 有三个选项可以设置:
解决自动相依性问题及安装套件。建意选项,在安装中由于没使用自动决解相依性,若有相依性问题可能会造成中止安装并且做提示响应。
--resolvedeps
你选择安装套某套件但乎略它的相依性,可能造成此套件无法运作,尤其是此套件需要其它相依的套件。
--ignoredeps
标示忽视安装遗失套件及群组并且也不做提示响应。
--ignoremissing
%pre and %post 区段
%pre 区段内可填入在开始安装操作系统需要先执行的工作。
%post 系统必须在Kickstart 安装完成后执行相关指令,如安装其它的软件或者设置系统信息。
注意:默认的命令语言为bash shell. 如果要指定其它语言,可使用如下命令:
%post --interpreter /usr/bin/python







