分类:
2007-06-05 14:56:13
1.1 OK提示符
在进入Solaris操作系统或者系统启动之前,SUN的操作系统有一个BOOT-PROM状态。进入这个状态的方法是同时按键盘上的stop+a,如果键盘上没有STOP这个功能键(PC键盘),可以使用Ctrl+break键进入。
如果你进入了BOOT-PROM状态,在OK提示符下,而你的Solaris操作系统还在运行,你可以在ok提示符下使用go这个命令使系统继续运行。
1.2 在串口状态测试
BOOT-PROM可以进入意味着计算机有一台显示器和键盘或者显示终端。如果系统启动了,而并没有键盘和显示器,那么输入输出将被默认为第一个串口(/dev/ttya,通常是叫A)。可以使用终端或者其他的计算机使用交叉串口来连接到这里。
1.3重启SUN的工作站
在重启之前,sun的工作站需要一个适当的方式,可以从以下的几个命令中选择一个:
# init 5 关闭所有的进程,并且关闭计算机电源
# init 6 关闭所有的进程,并且重新启动计算机
# init 0 关闭所有的进程,并且使计算机回到OK状态
在这3个命令方式中,/etc/rc0.d目录下的K*的脚本将会被执行,使系统重新启动或者关机,重要的数据库也会被关闭,网络服务器也将会关闭所有的进程ID。如果以上的命令都没有反应,可以尝试使用以下的命令:
-stop+a
-sync
注意:系统的核心将会临时存储在/var/crash/
1.4测试系统
启动系统,在内存自检的时候按下stop+a,在下面的段落里将可以看到硬件的测试命令。
1.4.1标题
banner这个命令将可以显示下消息:
cpu的数量,频率以及CPU的基本信息
内存的大小和信息
MAC地址和Host-ID
如果有显示设备,还可以看见显卡的信息
1.4.2 probe
probe-scsi-all将可以看见所有的SCSI设备,如果是IDE接口的计算机,可以使用probe-ide-all这个命令。
1.4.3测试全部
test-all将执行安全检测来测试所有的设备,并且如果网络连接的话,还可以通过发送信息包的方式来测试网络。
1.4.4 printenv和devalias
printenv可以列出所有的变量而devalias将列出所有的别名,例如启动设备的变量如果是disk,那么系统将从硬盘开始启动,而disk就是默认的硬件设备的别名。
提示:如果想将所有的变量恢复到初始状态,可以在ok状态下按stop+n键来实现。注意:在恢复所有变量到默认初始状态的时候,会失去你的启动设备的别名,将会造成系统不能自动启动。
1.4.5关闭网络错误提示
如果在开机的时候不想看见“Interface: No link”这样的错误信息,可以在ok状态下使用setenv tpelink-test? false 这个命令来禁止显示。
注意:如果不想让未连接网线的网卡显示信息,也可以在进入系统后用ifconfig interface unplumb这个命令来停止网卡的工作。
2、 系统管理硬盘
2.1逻辑硬盘地址
所有的硬盘命名规则都有一个普通的规定。由以下4个部分组成:
c 控制接口
t 目标地址(scsi设备将给予scsi-ID)
d 设备地址或者卷的raid地址(一个地址,多个盘)
s 片地址,也就是说分区地址
所有的设备地址都将作为链接文件存于/dev/dsk 和 /dev/rdsk.这两个目录下,这些链接点将直接链接到物理设备名。添加了新的设备可以在ok状态下使用boot –r这个命令或者进入系统后使用devfsadm来使新的设备被确认,而且可以在ok状态下用probe-scsi-all来查看新的设备。
2.2分区
在一个有两块内置硬盘的工作站中,使用format命令将可以看见以下的输出选择:
c0t0d
c0t1d0
这里列出的是硬盘,而没有单独的扇区或分区,而使用format的目的就是为了建立或者管理分区,一块硬盘可以分8个分区,这个可以在format命令后用print-partition来看见。
如果使用solaris的默认安装,那么系统将会默认建立以下几个分区:/(root),/usr,/var,/export/home,如果是solaris 8的默认安装,将会建立3个分区:/分区将有
但是对于一个工作站来说,这样的分区并不是最理想的,分区的大小不适应于数据的展开,对于不同的应用,应该采取不同的分区方式。(原书中给了很多示例,但是个人认为应该根据自己的经验和客户的要求来处理硬盘的分区。)
2.3意外错误记录
从solaris 7开始,意外错误记录都会默认的被写在swap分区中,这就是为什么要把swap分区的大小与内存的大小联系起来的原因。
在下次启动的时候,系统会把文件和摘要从swap里读出来,并且写入到/var/crash/
如果系统突然使用了很多的swap分区(上GB的),那么系统进程将会使用一些时间因为某些程序会被使用。具体的一些方式可以去参照dumpadm这个命令。
注意:经常检查并且清除/var/crash/
2.4示例
如果有一台sun E450的服务器,并且有可以启动操作系统的硬盘,但是并不知道以下的两件事情:
1、 硬盘放在什么位置(因为450有20个硬盘的插槽,并且如果需要硬盘启动,硬盘必须插在第一次安装时所在的那个槽位)。
2、 root用户的密码。
那么可以把硬盘插在一个可用的的槽位上,开始以下的步骤。
第一步:将一张系统盘放在光驱中,并且在ok状态下输入boot cdrom –s,cdrom的地址是系统默认的,如果不能使用,可以用probe-scsi-all来查看cdrom的实际地址,用boot 实际地址 –s来启动。
系统启动后,可以看到一个无需密码的root用户提示符。
第二步:然后开始mount硬盘,首先使用devfsadm命令,可以在/dev/dsk形成硬盘的信息。使用format-disk-print-partition命令来看这块新添加的硬盘,如果它的地址是c2t1d0,那么c2t1d0s0就是它的root分区,使用fsck –y /dev/dsk/c2t1d0s0,mkdir /tmp/dsk,mount /dev/dsk/c2t1d0s0 /tmp/dsk,cd /tmp/dsk。
第三步:首先,把root的密码设置为空,需要进入到/tmp/dsk/etc/shadow文件中,删除root用户后的字符。然后,修改/tmp/dsk/etc/vfstab文件,将/的启动地址设置为/dev/dsk/c2t1d0s0,根据实际情况的不同,修改的地址也是不一样的。
第四步:如果我们在/tmp/dsk/etc/vfstab中看见实际的/的启动地址就是/dev/dsk/c2t1d0s0,那么说明本来安装的时候就在这个槽位,但是一般默认的地址是/dev/dsk/c1t0d0s0,如果是这样,需要找到实际的挂接点,然后写入。
第五步:重新启动系统,ok提示符下输入boot 硬盘的物理地址。
第六步:可以用nvalias mydisk 硬盘的物理地址来给新的启动盘起一个别名,这样我们可以用boot mydisk或者setenv boot-device mydisk让系统总是从这块硬盘启动。
2.5可移动设备
所有的可移动设备都是由卷管理器来管理的,卷管理器默认的光驱加载点是/cdrom/cdrom0。Solaris下卷管理器是自动启动的,如果没有启动,可以用
/etc/init.d/volmgt stop,/etc/init.d/volmgt start,来手工启动。
2.5.2 软盘驱动器
软盘(unix文件系统格式化或者MS-dos文件系统格式化)是与卷管理器中的volcheck相关联的,默认的加载点是/floppy/floppy0,如果不能自动退出软盘的话,可以用eject floppy命令来实现。
2.5.3 光盘驱动器
光盘不需要volcheck命令支持,退出光盘可以用eject cdrom来实现。
如果光盘不能自动mount,或者卷管理器不可用,可以用以下命令实现:
- mkdir /tmp/cdrom
- mount -F hsfs /dev/dsk/c0t6d0s0 /tmp/cdrom
- (Work with CD mounted on /tmp/cdrom)
- umount /tmp/cdrom
- eject /dev/dsk/c0t6d0s0
2.5.4 可擦写光盘驱动器
在solaris8下可以使用可擦写光盘,这是solaris 8下的一个工具,可以刻录iso的镜像,可以用mkisofs命令来将solaris系统做成镜像文件。
例子:
#! /bin/sh
# ./nfscd
# PARAMETER1 = Application ID
# PARAMETER2 = from where
#
# ./nfscd SunNetManager /net/center2000/export/pkg/SUNWsnm
# set Umask
umask 022
# Remove old image
rm /data/disk.img
# Create image
mkisofs -A $1 -d -l -L -o /data/disk.img -P "Sun Microsystems" -p
"Solaris SPARC" -r -R -J -V "$1" -v $2
# Burn
cdrw -i /data/disk.img
(我没有试过,如果有尝试成功的朋友可以共享以下)
2.5.5 USB存储设备
现在很多新的设备都有USB的接口,所以很多USB的存储设备可以在sun的机器上使用。如果卷管理软件可以自动加载,我们可以建立/rmdisk目录,并且把权限做的和/cdrom目录相同,这样就可以自动看见USB存储里的文件,如果不能自动加载,需要在/dev/dsk中去查找,并且手动mount。
例子:
mkdir /tmp/usbstick
mount -F pcfs /dev/dsk/c1t0d0s2:c /tmp/usbstick
2.5.6磁带
磁带设备并不使用卷管理器,对于它的使用需要用一些命令,例如tar或者cpio。通常磁带机将会链接在主机的SCSI总线上,在系统启动的时候会自动加载,也可以使用devfsadm命令来使磁带机被加载上来。可以使用命令tar tvf /dev/rmt/0对磁带机进行操作。
2.6复制硬盘
可以用类似克隆的方法来复制硬盘,但是必须是相同接口的,例如ultra 10的硬盘就不可以用在ultra 60的工作站上。如果硬件不同的计算机,例如有不同的显卡,网卡等设备的计算机,可以在开机时使用boot –r命令来重新认出新的设备。
2.6.1复制内置硬盘
对于同样接口的硬盘,目标盘的容量一定要大于或等于源盘的大小。
方法:
1、 将目标硬盘插入硬盘插槽,使用devfsadm认出新的硬盘。
2、 使用dd if=/dev/rdsk/c0t0d0s2 of=/dev/dsk/c0t1d0s2 Bs=1024k命令开始复制。
3、 复制完成后用fsck –y /dev/dsk/c0t1d0s0检查新硬盘的文件系统。
4、 取出目标硬盘,放入未安装系统的计算机后启动。
注意:对于使用光纤硬盘的机器,需要使用可以启动的光盘来启动后将源盘加载,并且在复制完成后需要将/etc/path_to_inst文件修改为/etc/path_to_inst.old,在新的计算机上使用boot –ar来重新建立系统信息。(光纤硬盘的dd我没有做成功过,如果哪位有成功的经验也可以共享)
2.7使用SDS软件将系统硬盘镜像
SDS软件是sun自己的软件raid工具,支持raid 0,1,5,0+1等多种raid方式。
镜像就是将两块硬盘做成一模一样的文件和系统,并且相互冗余,在一块硬盘损坏时可以使用另一块硬盘,是一种保护数据安全的方式。
方法:
1、 分区,可以用format命令将两个盘的分区做成一样,也可以使用命令,但是需要两块同样的硬盘,命令:prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2
2、 建立raid数据库, metadb -a -f -c
3、 对两块硬盘进行操作:步骤:metainit –f d1 1
metainit d2 1
metainit d0 –m d1
metaroot d0
lockfs –fa
reboot
(如果需要给其他的分区做镜像,也可以参照以上命令,可能略有不同,实际情况实际操作。)
3、 交换分区
3.1在vfstab文件中永久修改
大家可以看见,在/etc/vfstab文件中,关于swap的写法是这样的:
/dev/dsk/c0t0d0s1 - - swap - no –
如果需要添加,可以按照这个方式添加分区就可以,或者用mkfile等办法,关于这个方法在SA-288的教材中有很详细的介绍,这里就不多说了。
3.2临时添加swap分区
示例:
# mkfile
# swap –a /export/home/swapfile
# swap –l
4、 系统的安装和维护
4.1从光盘安装
在安装过程中,可以根据显示器上的提示一步步的进行安装,也可能会有一些缺陷发生:
――名称服务:选择none,如果你选择了例如NIS这样的服务而NIS网络服务器并不可用,系统就会当在这里,并且开始寻找NIS服务器。更好的方法是安装完成以后再去设置这些东西,例如NIS或者DNS。
――安装cluster:如果是工作站,应该选择“Entire Plus OEM Software”这个安装模式,因为cluster的安装需要一些组件的支持。
――硬盘分区:由于不同的需求会有不同的安装方式,所以在磁盘分区的时候不要选择default,而应该选择custom。
注意:solaris 8以后的系统中,安装完成后root用户只能在控制终端上登陆,如果需要使用telnet或者rsh的方式来登陆的话,请修改/etc/default/login中的CONSOLE=/dev/console,把这串字符注释掉就可以。
4.2软件包的安装
通常情况下,所有的软件包都会被使用tar,zcat,zip等方式来打包,所以需要先把软件包打开之后使用pakadd命令安装,或者用pkginfo查看。
示例:
pkgadd –d .
pkginfo | grep ***
4.3系统补丁的安装
系统的补丁是sun公司为了修正系统内的一些bug或者增加一些系统的功能而专门发行的一些软件包,在solaris 8以前,所有的包都是*.tar.Z格式的,而从solaris 8开始,所有的包都是*.zip格式的,所有的patch都是以一个8位数的集合存在的,例如123456-78,前面的6位代表patch的号码,而后面的两位代表其版本号,可以用以下命令打开:
zcat 123456-78.tar.Z | tar xvf -
unzip 123456-78.zip
然后,进入patchID的目录,使用patchadd安装,patchrm删除。安装后的记录都存在于/var/sadm/patch的下面,也可以使用showrev -p | grep
5、X-Server和CDE用户使用界面
5.1综合设置
关于X-Server和CDE用户使用界面的设置文件总是存在于下面3个文件中,查找顺序为:
1. $HOME/.dt/...
2. /etc/dt/...
3. /usr/dt/...
系统宽度的文件是不可修改的,存在于/usr/dt/,而/etc/dt/下面的文件是为了维持系统不出现问题的,而用户个人的设置文件总是存在$HOME/.dt/下面。
5.2定制登陆界面
可以通过修改
象素和分辨率需要修改Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/Mylogo.bm
标题显示修改可以通过Dtlogin*greeting*labelString: Here's %LocalHost%!
而欢迎语可以修改Dtlogin*greeting*persLabelString: Hello %s
5.3双屏显示,双屏连接和24位深色的设置
首先,假设有两块Expert3D的显卡,那么在/dev/fbs下就可以看到/dev/fbs/ifb0和/dev/fbs/ifb1这两个文件,而将Xservers文件从/usr/dt/config拷贝到/etc/dt/config下,然后查看,将可以看到以下内容,:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner
双屏显示就是说CDE桌面将会出现在每一个前端的显示器上,鼠标的指针也可以在两个前端使用,在ifb0上显示的显示设备叫:0.0,而ifb1上的设备则叫:0.1。
只要修改Xservers文件,将最后一行改为
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -dev /dev/fbs/ifb0 -dev /dev/fbs/ifb1 –nobanner就可以实现了
5.3.2连屏显示
连屏显示是一种将虚拟显示覆盖在所有的物理设备上的方式。鼠标和窗口将可以在所有的显示器中移动,但是只有一个前端的显示,将会只有一个显示器端口号:0.0。连屏显示只能支持两块同样的显卡,同样是修改文件:
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 +xinerama -dev /dev/fbs/ifb0 -dev /dev/fbs/ifb1 –nobanner
连屏同样可以定义于交迭于x轴和y轴,可以缓慢的混和交迭或者将双面的图片显示在两个显示器上,修改方式:
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 +xinerama -xoverlap -dev /dev/fbs/ifb0 -dev /dev/fbs/ifb1 –nobanner
5.3.3 24位色深的设置
CDE默认都是使用8位色深(256色)的,如果想修改,PGX的显卡可以使用命令fbconfig -depth 24来实现,但是有的显卡不支持这样的命令,所以需要将文件修改成为:
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -dev /dev/fbs/ifb0 defdepth 24 -dev /dev/fbs/ifb1 defdepth 24 –nobanner
6、系统管理
6.1主机名
可以使用admintool或者smc来建立主机名,也可以通过修改/etc/下的文件来实现,(/etc/hosts文件是链接在/etc/inet/hosts文件上的),系统默认安装时会启动sendmail-daemon,这个会使你的系统在开机时报错,如果不想系统出现提示信息,可以将/etc/inet/hosts文件中关于主机名的那一行修改为:192.168.0.2 myhost myhost.domain.com loghost
6.2串口连接
在solaris 8下最好使用admintool或者solaris 9下使用smc。
6.3打印机
在solaris 8下最好使用admintool而在solaris 9下使用"Printer Setup Wizard"/usr/sadm/admin/bin/printmgr.
6.4用户建立
在solaris 8下最好使用admintool或者solaris 9下使用smc,但是用户目录不可以使用/home/xxx,只能使用/export/home/xxx,很多使用其它操作系统的人总是习惯将用户目录建立在/home下,但是solaris下/home目录属于autofs管理,如果关闭autofs,可能会造成某些不必要的麻烦。