如果你希望安装solaris操作系统的时候,系统不会问你一大堆问题而耽误你的时间,或者你想在系统塌掉以后,在很短的时间内做出一个全新的操作系统,或者只去敲入一条命令,所有的安装过程不再需要人为的干预,或者在你为经常的手动升级系统感到厌烦的话,那么就来跟着我一起配置一台jumpstart server吧,它能让你从繁重的安装或者升级的工作中解脱出来,而且还可以很灵活的安排安装和升级任务,它可以根据不同的情况,不同的机器,选择不同的安装或升级脚本。 1,原理 jumpstart方式安装需要下面四种服务 Boot services Identification services Configuration services Installation services 以上四项服务可以分别由不同的机器来完成,要注意的是Boot server一定要和client在一个子网里,其他的倒不一定,一般情况下我习惯将他们做到同一个机器里。 Boot services为客户端提供启动服务,能够提供客户端的ip地址,hostname等启动参数,服务器要想提供boot services,下面的文件和目录必须要正确配置: /etc/ethers /etc/inet/hosts /tftpboot(目录) /etc/inet/inetd.conf /etc/bootparams /etc/dfs/dfstab 除了hosts和ethers文件外,其他的文件和目录可以由add_install_client工具来生成,该工具存在于solaris安装光盘的第一张光盘里。 hosts和ethers文件存储有客户端的主机名,MAC地址,ip地址,可以响应RARP查询,提供客户端的主机名和ip地址。 /tftpboot目录下面存储有对应于特定机型的启动文件,使用tftp协议传送给客户端,因此服务器要起tftp服务,所以inetd.conf里面的tftp服务前面的注释要去掉。 添加/tftpboot目录及下面的内容,以及修改inetd.conf文件都可以由add_install_client工具来完成。 bootparams文件指定client所需要的Root文件系统,以及安装所需要的config目录,install目录所在服务器的正确位置,以便正确mount到自己的本地。dfstab文件指定服务器要把那些目录给share出去,以便让client端mount到自己的本地使用,否则client是无法mount上去的,这要求服务器端要开nfs服务。 修改bootparams和dfstab文件也都可以有add_install_client工具来完成。 Identification Services响应client发出的identification查询请求,这些identification信息包括:网络信息,安全策略,nameserver,timezone,terminal type,时间取得方式,还有root的密码等,也就是当你手动安装时,需要回答的问题。可以以文件的形式提供,也可以使用NIS或NIS+服务提供,我习惯以 文件sysidcfg的形式。以文件形式提供时,要确保该文件所在目录已经share出去,保证client能够mount上。 我的sysidcfg文件如下: #cat sysidcfg network_interface=primary {protocol_ipv6=no netmask=255.255.255.0 default_route=192.168.1.1} security_policy=none name_service=NONE timezone=Asia/Shanghai system_locale=en_US terminal=vt100 timeserver=localhost root_password=W8Dhz34xImLI. 有关sysidcfg文件的关键字,以及取值请参考sun的文档: http://docs.sun.com/app/docs/doc/806-5205/6je7vd5ra?a=view#indexterm-75 Configuration Services提供的信息包括:安装类型(初始化安装还是升级安装),系统类型(standalone,server),硬盘分区,文件系统,软件安装类型(Core,End Use,Developer,Entire Distribution,Entire Distribution plus OEM)以及不同的客户端采用的不同的安装配置脚本等。有rules文件和profiles文件决定。rules文件决定客户端的类型,决定客户端适用于那个安装配置文件。profiles文件是真正安装配置文件,决定系统如何安装,安装那些东西。rules文件就一个,而profiles文件由多个,由rules文件决定使用哪一个配置文件。 Installation Services最好理解,提供安装操作系统所需要的程序包,只需将光盘里的内容copy到硬盘里就行了。 2,具体步骤 步骤大概解释如下: 我的两台solaris机器,hostname分别为sun1和sun2,用sun2做jumpstart服务器,sun1做client。 在安装服务器的solaris操作系统(sun2)上新建一目录,我的是/jumpstart目录,下面建目录solaris9,以区别于其他solaris版本的jumpstart安装目录,在solaris9下面建两个目录install和config,也就是说两个目录分别是: /jumpstart/solaris9/install /jumpstart/solaris9/config config目录用来存储sysidcfg文件,rules文件,profiles文件 install目录用来保存操作系统光盘复制过来的操作系统安装程序。 配置客户端启动需要的参数文件。最后将install和config两个目录share出去 详细步骤如下: 生成install server: 将光盘上的文件copy到硬盘上的/jumpstart/solaris9/install目录。 如果vold daemon没有起来,需要手动mount光驱,如果起来,就不需要,插入光驱就能用,vold是一个能够自动mount光驱和软驱的后台进程。 插入第一张光盘 #mkdir -m 755 /jumpstart/solaris9/install #cd /cdrom/cdrom0/s0/Solaris_9/Tools #./setup_install_server /jumpstart/solaris9/install #cd / #eject cdrom 插入第二张光盘 #cd /cdrom/cdrom0/Solaris_9/Tools