发新话题
打印

进来看看,solaris20-80翻译认领,欢迎

进来看看,solaris20-80翻译认领,欢迎


http://www.sun.com/bigadmin/content/solSysadminGuide/solaris80.20.pdf 
20%的SOLARIS知识解决80%的常见问题,这本书是国外一个工程师写的,还在不断改进升级中,每有新版本出来后,就打印了放在桌边,时常翻看以下,收益匪浅。
为了使更多人从这本书中收益,特恳求论坛高手分段进行翻译,最后汇编一个文件,供大家下载,将在翻译的地方著名译者ID或名字。
认领翻译者请跟贴,并注明翻译哪页的哪部分,翻译后的请直接在论坛发贴,最后我来汇总。


如果这本书翻译顺利的话,就翻译更精彩的下一本。
http://www.sun.com/bigadmin/content/submitted/Solaris_build_document.pdf     


[color=red:393518bc7f][size=24:393518bc7f]本贴请勿灌水[/size:393518bc7f][/color:393518bc7f]

发表回复】【查看CU论坛原帖】【关闭

 race 回复于:2003-06-22 17:13:21
[size=24:23ca5d45fc]20%的SOLARIS知识解决80%的问题[/size:23ca5d45fc]
1 系统启动和测试
1.1 OK提示符
每套SUN都有一个Boot-PROM模式,可以在启动操作系统之前访问,也可以在运行的时候访问,可以用STOP+A进入,如果没有STOP键(PC),可以用ctrl+break.。一旦进入Boot-PROM模式,会出现OK提示符。如果操作系统运行时候出现,可以用go继续。
1.2 控制台测试
Boot-PROM模式可以用直接连接的键盘和显示器,也可以用终端。
如果系统启动时候没有检测到键盘,输入输出自动转到第1个串口(/dev/ttya,A),可以连接一个终端或者另一计算机(通过交叉串口线)到这个端口。
如果另外的计算机是SUN工作站,可以使用tip hardwire来查看启动控制台。Tip命令输入之后,所有的启动信息会出现在相应的终端窗口里面,如果被观察的机器用了STOP+A,必须使用Strg-]把tip改成telnet模式,然后输入一个BREAK:telnet>send brk
1.3 重新启动SUN工作站
重新启动之前,工作站需要进入一个合适的状态,可以使用下面及格命令退出:
# init 5  
# init 6
# init 0
SUN工作站在重新启动之前,会以一定的方式关闭系统,下面是几种可选择的方法:
最好、最干净的方法:
- # init 5 关闭所有进程,然后系统自动关掉电源。
- #init 6,关闭所有进程,然后系统自动从新启动。
- #init 0,关闭所有进程,然后系统自动回到OK状态。
在这3种情况下,在系统关闭之前执行/etc/rc0.d下面的K*脚本,这可以用于关闭数据库,或者关闭WEB服务器的进程ID文件等。
如果没有合适的shell窗口,可以使用远程登录来执行上面的命令。远程也不可以,可以使用下面的方法:
- STOP-A
- OK sync 同步文件系统,中断OS,然后重启。
注意:需要察看随之产生的保存在/var/crash/<hostname>下面的内核转储文件。
如果碰到STOP-A也不能使用的情况,必须关闭计算机电源,在打开电源。
1.4 系统的测试
   启动系统,在执行到内存测试的时候,按下STOP-A。
   下面的段落只描述很重要的命令。
   详细的描述可以在下面的书中《Hardware Diagnostics for Sun TM Systems: A Toolkit for System Adminis-trators》(Infodoc Number 23476 on http://sunsolve.sun.com)。
1.4.1 Banner(标识)
Banner显示下列信息:
 . CPU的数量、类型和频率
 . 内存
 . MAC地址和主机地址(主机号)
 . 控制台显示卡类型
   . Sun-Globe: Creator 3D
. Sun with face: Elite 3D
. Self-describing Logo: GX, Raptor GFX (=PGX32), Expert3D(lite) XVR-500, XVR-1000 etc.
1.4.2检测
probe-scsi-all列出内置和外置的所有SCSI设备。对于IDE硬盘,使用:probe-ide-all.
1.4.3 测试所有
test-all.运行所有的自检,可以检测象网线是否正常等情况。
1.4.4 printenv and devalias
devalias列出所有别名,printenv列出所有变量。例如boot-device变量,定义了计算机启动的路径,一般情况下是disk,disk是一个指向特定设备的别名。
1.4.5禁止网卡错误信息
当网卡在没连接网线启动的时候,"Interface: No link"会出现多次,可以在OK下面设置
setenv tpe_link test false 来禁止这个报错信息。

2 管理硬盘
2.1 逻辑设备名
所有的硬盘都有一个共同的命名方案,该方案包括一下四个部分:
 c 控制器号
 t  目标号,对于SCSU设备,就是对应的SCSI地址。
D  驱动号或者是RAID设备的LUN 号(一个地址,多个硬盘)
S  分区号(见下一段)     


我只翻译了开头的一点。


 朽木可雕 回复于:2003-06-22 17:57:30
翻译的可能不是很好,请大家原谅。
这些逻辑设备名以链接的形式存在于/dev/dsk和/dev/rdsk目录,这些链接指向实际的物理设备。但是这仅仅在改变启动设备时需要。典型的solaris oe管理命令需要逻辑设备名作为它们的参数。
例:c0t0d0s0指向机器的第一个设备,c0t1d0s0指向第二个,c0t6d0s0指向光驱(通常是scsi-id6)
/dev/dsk和/dev/rdsk目录的改变通常发生在系统启动(boot -r 在ok提示符下)或者在操作系统环境下用devfsadm命令(drvconfig,disks,devlinks).这些改变以的一,逻辑链接也随之在启动时产生
2.2 分区
在一个有两块硬盘的工作站上执行format命令时会产生以下的输出:
c0t0d0
c0t1d0
它列举出了存在的硬盘,而不是slice和partitions.format命令的目的是建立和管理这些分区。一块硬盘最多可以有8个分区。这些分区可以用format下的子命令print -partition来显示。
如果采用了缺省安装,solaris通常会将硬盘分为以下几个分区:/(root),/usr,/var,/export/home.solaris 8缺省安装会创建以下分区:
1,根分区,大约1G左右,2,swap分区(大小由内存决定)。3,剩余的空间是/export/home分区。
对一些工作站来说,这些配置并不是最优的,一个分区的容量在不损失数据的情况下是不能扩展的。在分区超过它的空间时,一些指向其它分区的链接就必须被创建。
以下操作是非常有用的:为了避免操作系统问题,保留一个分区给/var目录以使不断增长的日志文件和一些由用户产生的/var/tmp大文件不至于填满根分区。


 朽木可雕 回复于:2003-06-22 18:29:28
一个系统的硬盘分区应该是这样的:
 分区 0:/     根分区,包括/usr,/var,/opt和/exprot/home目录。
 分区 1:swap  交换分区,应该和物理内存一样大。
 分区 2:备份分区 不要改变这个分区,它应该和整个硬盘一样大
 分区 7:sds    一个小的为solstice disksuite(TM)数据保留的空间。
为了使用solstice 逻辑卷管理工具,推荐为拷贝“状态复制数据”保留大约30M的空间。关于这些内容的更多情况,请参见用SDS镜像根磁盘一章。
从solaris 8 02/02开始,动态自动升级就被安装了。通过动态升级,你可以在系统运行进升级你现在的系统环境。为了利用这个功能(例如在不改变现行运行环境的情况下测试一个新的操作系统版本),必须有足够的空间来建立一些启动环境。现在的磁盘通常应该使下列分区有足够的空间
 分区 0:/     根分区,包括/usr,/var,/opt和/exprot/home目录。
 分区 1:swap  交换分区,应该和物理内存一样大。
 分区 2:备份分区 不要改变这个分区,它应该和整个硬盘一样大
 分区 3:/ecport 存放一些系统数据,用户主目录等
 分区 4:<not mounted> 被用来用ABE动态升级进用(大约是整个根分区的150%)
 分区 7:sds    一个小的为solstice disksuite(TM)数据保留的空间。
在以上例子中,一些重要的分区应该被mounted "logging".这避免了在不正确的关机后重启时文件系统检查时间太长。在安装完成以后,你应该在文件/etc/vfstab中手工用“logging"来代替“-”。


 醉里方休 回复于:2003-06-23 11:37:34
2.5 可移动设备

2.5.1卷管理器

可移动设备由solaris 卷管理器来处理,这个卷管理器能发现CD-ROMS和自动的装载它们到 /cdrom/cdrom0.

举个例子:当卷管理器出现问题,手动不能弹出CD,我们只好用一个别针来代替命令:eject cdrom。在这种情况下,卷管理器可以用以下命令重新启动:
/etc/init.d/volmgt stop;
/etc/init.d/volmgt start.

2.5.2 软盘

插入的一张软盘(UNIX或者MS-DOS格式)首先应该被volcheck命令校验其是否能够正常与卷管理器通讯。
如果colcheck校验成功,这个软盘被装载到/floppy/floppy0.不要手动弹出软盘,应该用命令:eject floppy.


2.5.3 CD-ROM

CD-ROMs不需要volcheck命令校验。它们自动发现并装载到/cdrom/cdrom0.当没有SHELL或者命令占用CD-ROM路径,可以用命令:eject cdrom 弹出CD。命令fuser -/cdrom/cdrom0 显示出当前访问CD-ROM的SHELL或者命令的进程ID。(命令fuser -k 可以立即终止所有进程)

如果没有卷管理器,CD-ROM必须被明确的装载和弹出(example for SCSI-ID 6):

- 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 CD-R 和 CD-RW

CDRW,是一个与solaris 8 捆绑的工具,用来烧制CD-R或者CD-RW介质。这个工具也可以烧制用命令mkisofs从solaris文件系统和目录中创建的ISO镜象文件。

看下面带精确参数的例子:

#! /bin/sh
# ./nfscd <ARAMETER1> <ARAMETER2>
# 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 磁带

磁带设备不是用卷管理器来控制的,它们必须用命令tar来处理。典型的磁带设备被作为一个外部SCSI设备连接到系统。当solaris OE 运行时它们的连接和配置就已经被完成了,在运行以前版本的solaris命令devfsadm(solaris 8 OE) 或者drvconfig; tapes;devlinks,你能找到一些逻辑的连接在/dev/rmt 目录。0描述的是第一个磁带设备,1是第二个磁带设备。

通过以上,你就可以访问这个磁带,用命令 tar tvf /dev/rmt/0.

(*下面不懂,瞎译的)
注意:SGI系统写入的磁带通常只能用特定的块尺寸来读:

tar tvfb 512 /dev/rmt/0

In some rare cases an additional byte swap has to be performed:
dd if=/dev/rmt/0 conv=swab | tar tvfb 512 -


 飞鱼13 回复于:2003-06-23 13:42:11
我是新手,第一次翻译,见笑了

2.6 克隆磁盘
通过这部分的学习,你可以把一个系统克隆到另一个和它的硬件属于同一系列的系统中。例如克隆Ultra(TM) 10工作站到Ultra 10工作站是可以的,而克隆到Ultra 60工作站就是行不通的。

如果监测到目标系统的硬件结构和源系统有所不同的话(不同的结构缓冲,网卡等),目标系统在克隆以后需要用boot –r命令来重新配置。

2.6.1 使用内部磁盘来克隆
这种方式适合用于易于改变的内部磁盘:
·Ultra 30, Ultra 60, Ultra 80或者Sun Blade(TM) 100工作站或者E220R/E420R/E250R/E450
·Sun Enterprise(TM)220R, 420R, 250, 或者450服务器

内部的FC-AL磁盘(如Sun Blade 2000工作站和Sun Fire(TM) 280R或V880服务器)可能导致一些问题。

接下来是用Ultra 60工作站做的一个范例:
·将目标盘插入主板上的第二个硬盘口
·启动进入但用户模式(STOP-A; boot –s)
·用devfsadm重新配置所有的磁盘
·键入format察看硬盘的名称。在Ultra 60工作站上,你会看到c0t0d0和c0t1d0。C0t1d0是内部系统中最顶端的磁盘。
·决定哪个盘是源盘,哪个盘是目标盘(不要忘记备份你的数据!)。在我们的例子中c0t0d0(底部的盘)作为源盘,c0t1d0(上面的盘)是目标盘。
·dd if=/dev/rdsk/c0t0d0s2 of=/dev/dsk/c0t1d0s2 bs=128k(这条命令为整个盘,包括分区标的内容作了一个1:1的副本。如果源盘是一个9GB的盘,而目标盘是一个18GB的盘,那么将会有9GB的容量被浪费)。警告:仔细检查这一步,避免对你源盘的意外损坏。
·fsck –Y of=/dev/dsk/c0t1d0s0(检查启动分区的文件系统,一般来说是分区0)
·移除源盘,将克隆好的盘放进先前源盘所在的位置。重新启动你新做好的克隆的系统。

2.6.2 通过转接线来克隆
这种方式比上面描述的通过内部磁盘克隆要慢,但是它适合用于一些内部的磁盘不容易改变的系统(如Ultra 10或Ultra 5工作站)。

警告:记住文件“/.rhosts”仅仅在这个任务中使用,在完成这个任务之后删除它来避免系统的安全漏洞。

目标系统
启动
在注册屏幕上使用命令行注册(command line login)
尽可能地停止引起磁盘输入输出的进程
TERM=vt100vi /etc/inet/hosts
->添加目标和源
ifconfig hme0 plumb
ifconfig hme0 <target> netmask 255…up
->测试rsh源
rsh source “dd if=/dev/rdsk/c0t0d0s2 ibs=128k obs=8k” |                   dd of=dev/rdsk/cotodos2 bis=128k obs=128k
(9GB的盘需要等待大约40分钟)
STOP-Aboot cdrom –s(用可引导的光盘引导)
fsck –Y /dev/rdsk/c0t0d0s0

源系统
在文件/.rhosts中添加目标IP
sync; sync;


另外还有一段前言
用20%的solaris知识解决80%的问题
Rolf Kersten
德国Sun微系统股份有限公司
版本历史
日期 版本 简介
2002年05月25日 V1.8e 第一个英语发布版
2002年06月12日 V1.9e 第一次反馈(感谢Dnaiel Schmidberger!)
2002年07月19日 V1.10e 添加iostat章节
2002年09月04日 V1.11e Matt Ruetz的修订版
2002年12月05日 V1.12e 经过修正和增加的版本
2003年01月17日 V1.13e 被Halvard Halvorsen(www.sundot.com)和Sven Fink修正和附加的版本
2003年04月11日 V1.14e Sven和Andreas Fatum关于shell编译器和环境变量章节更多地说明

 
简介
这篇文档包含了你用solaris和Sun平台工作时所需要的最重要的20%的技术。它能处理你所遇到的80%的问题。

这篇文档并不打算覆盖Solaris处理环境的细节,也不会包含常见问题解答(相关的书和链接将在附录中给出)。这本书将用来为刚成为Solaris系统管理员的新手或没有每天管理Solaris系统基础的人提供一种怎样收集这种信息的服务。这篇文章关注的方向是用来做技术开发的图形工作站,也将对希望为建立一套用来演示或作为基准的Sun系统的人有所帮助。

两点提醒:
·  永远记住在记录日志中记录下你对系统的每一次改动
·  清楚的在头脑中记住这篇文档包含能让系统不可用的系统级的程序。除非你对它的破坏性做了仔细的分析,否则不要在正在使用的系统上执行这些程序。


 飞鱼13 回复于:2003-06-23 18:17:25
很多地方自己也不是看得很明白,如果错误比较多的话,麻烦race删掉,谢谢

2.7 用SDS制作磁盘镜像
Solaris逻辑卷面管理(SVM),一般是指Solstice Disksuite(SDS)软件,它可以把磁盘系统做成RAID 0, 1, 0+1或5。工作站最感兴趣的方式是RAID 1:为磁盘错误准备好了一个包含启动文件系统的磁盘镜像。

SVM是Solaris 9系统环境的一部分。在Solaris 8平台上,你可以在第二章光盘的“EA”目录下找到SDS软件。而在Solaris 7或者2.6系统环境中,服务器版,你可以查找一下光盘“Easy Access Server”。

我们假定一个工作站有两块内部的磁盘,c0t0d0和c0t1d0。这两块盘都以相同的方式被正确的分区:分区0被分配给/(root),分区1被分配给交换区(swap),一个比较小的分区7被分配用来记录复制数据库(State Replica Databases)。分区2被定义成一个备份区(参见“分区”一章)。
把第一块盘的分区信息复制到第二块盘,可以用如下的命令:
# prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2

记录复制数据库是一个包含了镜像信息纪录的小文件。镜像中的每个磁盘都必须知道有三个记录复制数据库文件:
# metadb -a -f -c 3 c0t0d0s3 c0t1d0s3

下一步,在第一块磁盘上创建第一个子镜像,它包含了启动文件系统:
# metainit -f d50 1 1 c0t0d0s0

然后在第二块磁盘上创建第二个子镜像:
# metainit d52 1 1 c0t1d0s0

使用第一个子镜像创建镜像的第一个部分:
# metainit d54 -m d50

用metaroot修改/etc/vfstab和/etc/system,让系统可以从元设备(metadevice)d54上启动:
# metaroot d54

重新启动系统,然后将添加第二个子镜像d54。这就强制了“镜像同步”,将第一块盘的内容复制到了第二块盘。这将在一小段时间内影响系统的性能。
# metattach d54 d52

为了避免在从第二块盘上紧急启动时发生错误信息,交换分区必须做成相同样式的镜像。否则,交换分区在损坏的磁盘上,/etc/vfstab仍然会定位到c0t0d0s1。

现在系统已经可以从第一块盘(boot disk),也可以从第二块盘(boot disk1)上启动了。

如果有一块磁盘损坏,Solstice DiskSuite会停止启动程序。这是因为如果要在一次错误以后成功地启动系统,纪录复制数据库的大部分必须依然“幸存”。在我们的两块镜像盘上仅仅需要六个复制中的三个依然存活。

超过两块盘的服务需要有第三块盘来用记录复制数据库来配置。两块盘的工作站必须手动地修复,下面的例子描述了这个过程:

·记录数据库复制在c0t0d0s7和c0t1d0s7上配置,c0t0d0盘发生故障。
·启动程序被Solstice DiskSuite停止,并转换进入到单用户模式。
·现在记录数据库复制希望发生错误的盘没有被配置:
metadb -d -f c0t0d0s7
·在下一次重启之后,对重置的磁盘进行分区,使它和仍然活动的磁盘的分区一致。
·做完这些之后,在重置的硬盘上创建记录数据库复制文件:
metadb -a -c 3 c0t0d0s7
·在下次的重启之后,镜像又可以重新同步了。

注意:
如果你有一个两块盘的系统,在一块盘上创建三个记录数据库复制,在另一块上面创建四个。在理论上有50%的机会可以在一次错误后重新启动系统而不需要手动地去使用元数据。
如果你能接受在2盘系统下发生错误后无人职守的重启,在两块盘上创建相同数量的记录数据库复制并且创建/etc/system条目:set
md:mirrored_root_flag=1
关于这方面内容更多的讨论可以在Sun的蓝皮书“Configuring Boot Disks With Solaris[tm] Volume Manager Software"(http://www.sun.com/blueprints/1002/817-0407-10.pdf)上找到。


 wangcf 回复于:2003-06-23 21:02:38
8 网络连接
8.1 /etc目录下的文件
Solaris 软件在/etc目录下存放网络配置文件。所有的配置数据比如ip地址、网关等可以被定义或者更改在运行层。无论如何,只有那些存放在/etc目录文件中的定义可以在系统重启后保留下来。
可以在这些文件中找到主机名(hostname):
- /etc/nodename
- /etc/hostname.<interface-name>
- /etc/inet/hosts
-/etc/net/{ticlts,ticots,ticotsord}/hosts

/etc/nodename 这个文件定义了系统名,从网络的观点看,一个有多块网卡和多个ip地址的系统可以有多个名字。每个都在/etc/inet/hosts中有定义。 这些名字中的任何一个都等价于系统命( nodename),但是他们不是必须的 。
  某些文件产生了ip地址于接口(interface name)名之间的连接。他们是/etc/hostname.<interface-name><number>。

最常见interface name是:
le 老的sparc系统上的以太网
hme 在绝大部分ultra sparc系统上的快速以太网
eri 绝大部分 UltraSPARC-III 系统上的快速以太网
qfe 基于四口扩展以太网卡上的快速以太网
举例: 一台有QFE (QuadFastEthernet)的Ultra 60 工作站有五个网络接口: hme0 (on board),qfe0,qfe1,qfe2 and qfe3 (on the QFE-card)。主机名是 hermione, 则 /etc/inet/hosts文件的内容如下:
127.0.0.1 localhost
157.168.34.12 hermione hermione.domain.com loghost
191.133.23.10 dumbledore
在公司的局域网上地址是157.168.34.12的系统就叫hermione,相应的,文件 hostname.hme0 必须包含 hermione 这个名字。
Dumbledore(191.133.23.10)是网络服务提供商分配的地址。这根缆线连接到QFE的第一个端口 qfe0 ,所以文件 hostname.qfe0 包含 dumbledore 这个字符串。
qfe1-3 现在没有使用。为了避免solaris出现“没有缆线连接”这种错误信息,对于没有使用的接口不要生成hostname.* 这种文件。
一个具有多个网络接口的系统会在各个子网之间自动路由,例如在我们例子中的157.168.*.* 和 191.133.*.* 子网之间。在系统启动的时候,会显示出来"machine is a router"这条信息。 如果不希望启动路由服务,手工生成一个空文件 /etc/notrouter 接着重新启动系统就可以了。


Ip地址的子网掩码定义在文件/etc/netmasks中。在X-Server运行时不要更改nodename,最好更改nodename或hostname之前,从当前的会话中退出来然后使用命令行界面重新登陆。


 wangcf 回复于:2003-06-23 21:20:44
8.2 虚拟网络接口
有时候,对于只有一块网卡的系统定义2个ip地址是很有用的。例如,商业演示用的demo工作站了为了与其它的主机通信而需要添加另一个地址的同时也需要保留自己公司的ip地址,这个需求可以通过虚拟网络接口得以实现。实现方法就和上一章节描述2块物理网卡的情形一样, 仅有的不同是我们这次不使用 hme0 和 qfe0 ,而是使用 hme0 和 hme0:1,所以如果你写dumbledore 字符串到/etc/hostname.hme0:1 文件,在商业演示时ISP提供的网线就可以接到 hme0, QFE网卡就不再需要了。


 wangcf 回复于:2003-06-23 21:33:33
8.3 ifconfig工具
ifconfig -a 列出所有物理和虚拟的接口定义,包括ip地址和子网掩码。
另外在系统运行期间我们还可以用ifconfig去定义ip地址和子网掩码(在hpux系统中这样的定义当系统重新启动后就不存在了,不知solaris是不是这样)。 让我们再来看Ultra 60 工作站的例子,这次首先假定dumbledore在/etc/inet/hosts中没有定义,那么 qfe0 在系统重新启动后就不再被使用。
现在第一步是去激活qfe0(加载驱动):ifconfig qfe0 plumb
开始配置这种网络接口:
ifconfig qfe0 191.133.23.10 netmask 255.255.255.0 up
ifconfig -a 可以看到新的配置
对于虚拟网络接口这个步骤是相同的:
ifconfig hme0:1 plumb
ifconfig hme0:1 191.133.23.10 netmask 255.255.255.0 up


 nothing 回复于:2003-06-24 09:55:30
8.4路由
可以将IP地址加入/etc/defaultrouter文件来设定默认路由(或者是标准网关)。如果在此文件中加入的是主机名,要确认/etc/inet/hosts文件中已经定义了此主机名。
等价的命令是:
*删除所有当前路由:route flush
*将1.2.3.4定义为默认路由:route add default 1.2.3.4
*用netstat -r命令可以查看更改结果。
如果机器上有两个以上可用的网络接口,Solaris会自动启用IP转发。
要检查IP转发是否已经启用:ndd -get /dev/ip_forwarding
启用IP转发:ndd -set /dev/ip_forwarding 1
关闭IP转发:ndd -set /dev/ip_forwarding 0
另一种关闭IP转发的方法是创建/etc/norouter文件,例如touch /etc/norouter


 nothing 回复于:2003-06-24 10:05:39
8.5NIS客户机
-首先将NIS域名加入/etc/defaultdomain文件(区分大小写)
-然后在/etc/inet/hosts文件中加入NIS服务器
-运行ypinit -c,输入NIS服务器名称
-运行/usr/lib/netsvc/yp/ypstart或者重启。
现在要告诉Solaris操作环境,对于哪些项目(主机名,用户等等)使用NIS。/etc/nsswitch.conf文件对此进行控制。要使Solaris软件在/etc/inet/hosts文件中找不到主机名时查询NIS服务器,可以在hosts开头的行中在files后面加上nis。
在/etc目录中有名为nsswitch.nis的预设文件,对于所有可用项目都带有nis定义。


 nothing 回复于:2003-06-24 10:14:26
8.6 DNS客户机
1. 在/etc/resolv.conf文件中输入DNS服务器地址:
    nameserver 192.168.0.1
   现在可以用nslookup www.sun.com测试DNS服务。
2. 告知Solaris解析主机名时使用DNS。编辑/etc/nsswitch.conf,在hosts开头的行的files后面加上dns。现在不只是可以使用nslookup www.sun.com,ping www.sun.com也应该可以。


 nothing 回复于:2003-06-24 10:34:59
8.9 10Mb还是100Mb,全双工还是半双工?
可以用ndd /dev/<interface-driver>命令查询网络接口状态。<interface-driver>一般是le, hme, eri或者是qfe。
-ndd /dev/eri link_status:   0=down, 1=up
-ndd /dev/eri link_speed:    0=10Mb, 1=100Mb
Solaris对于所有网络接口的参数默认为“自适应”。如果添加的网络设备不支持自适应,就要手动设置参数。将多余的参数设为0。
10Mb半双工的例子:
ndd -set /dev/eri adv_100fdx_cap 0
ndd -set /dev/eri adv_100hdx_cap 0
ndd -set /dev/eri adv_10fdx_cap 0
ndd -set /dev/eri adv_10hdx_cap 1
ndd -set /dev/eri adv_autoneg_cap 0
用ifconfig unplumb关闭网络接口然后用ifconfig plumb重启接口。也可以在/etc/system文件中定义这些设置。(set eri:  eri_adv_10hdx_cap=1)


 nothing 回复于:2003-06-24 10:21:07
8.7 DHCP客户机
如果创建两个空文件/etc/hostname.<网络接口名称>和/etc/dhcp.<网络接口名称>,此接口就配置为使用DHCP。Solaris会用30秒等待DHCP服务器应答。可以在/etc/dhcp.<网络接口名称>修改此时间: WAIT <以秒计的时间>
可以在网络接口运行时启用DHCP(在此例中是对接口qfe0):
ifconfig qfe0 plumb
ifconfig qfe0 dhcp start


 nothing 回复于:2003-06-24 10:25:29
8.8 sys-unconfig
如果要更改网络配置,但是对相关的文件不确定,有一个简单的方法:sys-unconfig,关闭机器。在下一次重启(在OK提示符下输入boot)时所有Solaris安装时网络相关的问题都会再次问到。(IP地址,网关,掩码等等)。


 saimen 回复于:2003-06-25 13:51:47
3 SWAP交换空间
3.1 固定配置文件 /etc/vfstab
#device   device  mount  FS fsck  mount
mount
#to mount  to fsck        point  type  pass   at boot
options
#
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr  ufs     1    yes  -
/dev/dsk/c0t0d0s1  -  -  swap  -  no  -
/usr/local/swapfile.1  -  -  swap  -  no  -
...
swap  -  /tmp  tmpfs  -  yes  -
交换文件系统可以使用像/dev/dsk/c0t0d0s1这样的裸分区或者象/usr/local/swapfile

.1的空文件。
你可以定义多个交换文件系统,所有这些都在逻辑上绑定并挂接到/tmp挂接点。这就意

味着只要物理内存是可用的,向/tmp中写文件将写入内存并耗尽内存(not very sure)
例如:
/dev/dsk/c0t0d0s1  -  -  swap  -  no  -
/dev/dsk/c0t1d0s1  -  -  swap  -  no  -
/dev/dsk/c0t2d0s1  -  -  swap  -  no  -
...
swap  -  /tmp  tmpfs  -  yes  -
上面创建了另外的6GB的虚拟内存(假设所有的分区大小为2G).Solaris将条带访问对所

有的磁盘。

3.2 "裸分区”和空文件的比较
最快速的交换就是不进行交换,假如物理交换不可避免,使用在多可磁盘上条带后的分

区。如果实在需要内存或者没有可用的分区或磁盘,则使用空文件系统。

3.3 临时配置
在标准的SOLARIS操作中,空文件可以加入到交换空间。
# mkfile 100m /usr/local/swapfile.1
# swap -a /usr/local/swapfile.1
# swap -l
在系统重启之前,这些额外的空间是临时的。可以使用命令swap -d /usr/local/swapfile.1去掉这些额外的交换空间。


 saimen 回复于:2003-06-25 15:04:22
4.1 CD安装
在安装过程中,你尽可以轻松地按照屏幕的提示进行,但也许会有一些小的缺陷;
- Name Service:选择 NONE.如果你这时候选择象NIS这样的内容,因为网络还没有安装好,所以没有NIS服务可用,这时系统可能会“挂起”等待NIS服务器响应,在基本的网络安装完成后再配置NIS或DNS会更好些。
- 安装群集:对于工作站而言,应该始终选择"Entire Plus OEM Software"项来确保安装所有的内容。对于专用服务器,去掉不必要的服务包可以最大降低安全风险。参考 SUN 蓝皮书《Minimizing the Solaris[tm] Operating Environment
for Security: Updated for Solaris 9 Operating Environment>>
(http://www.sun.com/blueprints/1102/816-5241.pdf) 可获得更多内容
- 磁盘分区:根据再“分区”这一章所提供的建议,为了能够对磁盘进行分区,当提示安装方式时,选择“定制”方式而不是“默认”方式。
从 Solaris 7 OE版本开始,安装CD内含有预打包的Solaris映像.如果需要升级以前的季度升级包到该映像文件的版本,参考“维护升级”

例如:安装“维护升级 7”(同Solaris 8 02/02 OE发布)到Solaris
8 07/01 OE版本需要升级Solaris 补丁包(只这些,没有功能的增强)到在02/02版本上的状态。升级安装在/etc/release文件中写入如下标记:"Solaris 8 07/01 Maintenance
Update 7"

“推荐补丁集”采用另外的方式,用户每月在“推荐补丁集”上可以看到不同补丁包和补丁版本。这些可以从http://www.sun.com/bigadmin下载并且在Solaris安装后安装。

安装完毕后,root用户只能从system控制台登录,这种终端方式直接连接到系统或键盘。为了允许通过TELNET,RSH等从远程登录,必须修改一个文件:注释该行:CONSOLE=/dev/console!in!/etc/default/login.注意:这是一项安全分险。


 lvpp 回复于:2003-06-25 16:25:47
2.3 崩溃信息转储(Crashdumps)
从Solaris7 OE 以来,系统默认崩溃信息转储写入swap分区。这是为什么swap分区和物理内存大小相同的另外一个原因。
在下一次重启期间,文件从swap读出,压缩并写入/var/crash/<hostname>,为了以后分析做准备。因此,/var(或/,当没有专门为/var分区时,/var在/根目录下)不要分配得太小。
如果一个有足够大空间的系统利用swap分区来作为信息转储设备,启动进程会因为上述的拷贝程序而花费一点时间。在这类情况下,最好是利用dumpadm命令来指定专门的信息转储(dump)分区。在后台, 从指定的专门信息转储(dump)设备拷贝比从swap拷贝性能要好。
提示:要经常检查和清空/var/crash/<hostname>目录下的内容,这样才会有足够的空间提供给下次的崩溃信息转储。
2.4 示例
假设你有一台Sun Enterprise(TM) 450 的系统和一个已经安装了完全配置样板的可启动的磁盘,但是你却不知道两件事:(I)磁盘放在哪里(450系统有20个插槽,但是只有磁盘放在安装配置时的同一个插槽,系统才能被正确启动)(II)root用户的密码是什么。先将磁盘插在任意一个插槽,然后按下列步骤执行:
步骤1:插入启动光盘(即Solaris Installation CD)然后重启系统。
由 STOP+A中断进入,按下boot cdrom –s。cdrom是内部cd-rom驱动的别名。如果你使用外部驱动,先利用probe-scsi-all命令找到设备路径,然后从该路径启动:boot <long, cryptic device-path> -s。
一旦系统被启动,你会有一个无需密码的root-shell。
步骤2:安装磁盘。首先用devfsadm命令使Solaris OE重构设备树,之后在/dev/dsk目录下会产生8个新文件。
使用format命令的子命令disk-print-partition验证新磁盘是否被正确地附属,同时找出根分区所在的逻辑片区(slice)。通常slice0为/根分区。假设你将磁盘插在系统的插槽2。Format将标记磁盘为c1t2d0(SCSI-ID2连在第一个控制器),带上区号slice(c1t2d0s0)作为根分区。接着你能安装磁盘:
fsck -Y /dev/rdsk/c1t2d0s0;
mkdir /tmp/disk; 
mount /dev/dsk/c1t2d0s0 /tmp/dsk;
步骤3:首先通过删除/tmp/dsk/etc/shadow的root用户的两个冒号之间的加密字符来使root的密码重置为空。然后查找/tmp/dsk/etc/vfstab在原来系统里磁盘是否被放在插槽2。如果是,则根文件系统“/”能够被安装(mount)在/dev/dsk/c1t2d0s0。如果在/tmp/dsk/etc/vfstab找到的disk安装点与实际不同,则相应调整磁盘到原先的插槽。
步骤4:假设你在/tmp/dsk/etc/vfstab找到/dev/dsk/c1t2d0s0, 这意味着磁盘在原来的系统里就占用插槽2。通常,sun Enterprise 450从第一个插槽(c1t0d0s0)启动。利用/dev/dsk目录找到并记下物理设备名c1t2d0s0指向。
步骤5:重启,STOP+A并按下boot <this physical device-Name>
步骤6:可以定义一个别名nvalias mydisk <this physical device-Name>,这样用boot mydisk就可以启动系统。如果你设置setenv boot-device mydisk,那么系统将始终从mydisk启动。


 viking_lee 回复于:2003-06-25 16:41:45



 yeohoton 回复于:2003-06-25 18:52:00
[size=18:2a68f33554][b:2a68f33554]     9   网络文件系统[/b:2a68f33554]
 
[/size:2a68f33554]
[b:2a68f33554]9.1 NFS服务器[/b:2a68f33554]
    Solaris将目录信息存储在/etc/dfs/dfstab 中,以便于在网络上的其他系统安装。该文件是一个被share命令使用的脚

本。
    如果这个文件没有包含任何share命令,Solaris OE(OE,操作系统引擎??)在重起时不会自动开始共享网络文件系统,

即使明确的调用执行了/etc/init.d/nfs.server start命令,dfstab也是空的。
例如:共享/export/home
  1、添加share /export/home 到/etc/dfs/dfstab中
  2、如果这是第一次添加该文件中的内容,执行/etc/init.d/nfs.server start命令
  3、输入shareall
  4、如果/export/home被正确共享的话,使用share命令检查
[b:2a68f33554]9.2NFS客户端[/b:2a68f33554]
   一个NFS客户端不需要制定任何域,但是,NFS服务器名是重要的。一个IP地址 (mount 192.168.0.1:/export/home)是不够的,所有的NFS服务器必须在/etc/inet/hosts,NIS或者DNS中定义。
  你能够安装(mount)一个网络目录,使用命令 mount server:/export/home /tmp/home。如果这个安装点需要在下次系统重起的时候自动的安装的话,在文件/etc/vfstab中插入该安装点的相关内容。
注意:当使用root用户在网络目录中拷贝文件的时候,注意,本地的root和网络目录上的root是不同的,都是作为"nobody"(除非在服务器上使用了anon=0)。网络目录下的文件没有"other"用户的读权限是禁止拷贝的,为了使用root用户从网络文件目录中拷贝所有的文件,不要使用下列命令:
   root# cd server:/verz;tar cvf - | (cd verz;tar xvf 
最好使用 rsh来在该服务器上获得 root用户的读权限:
 root# rsh server "cd /verz; tar cvf -"|(cd verz;tar xvf 
  **** 上段有点乱,请平批指正**********

*********时间不早了,我要下班了,剩下的2小节明天不上*******************


 pheobee 回复于:2003-06-27 15:12:48
7 管理
7.1 Hosts

   你可以用admintool或者smc创建hosts文件,但是直接编辑/etc/inet/hosts文件更省力。 

   提示:/etc/hosts文件是/etc/inet/hosts文件的连接。使用复制命令cp /etc/host.old /etc/hosts不会覆盖正确的文件。Solaris默认安装方式启动sendmail守护进程。如果主机名不包含点号(.)的话,sendmail守护进程会输出错误信息。为了抑制错误信息,在/etc/inet/hosts文件里应该像下面这样定义主机信息:

192.168.0.2 myhost myhost.domain.com loghost

7.2 串行口
   同样,常用的最佳工具是admintool或者是Solaris 9环境下的“Solaris 管理控制台(Solaris Management
Console)”smc。

7.3 打印机
   同样,常用的最佳工具是admintool。Solaris 9环境下,有系统自带的“打印机设置向导”/usr/sadm/admin/bin/printmgr。

7.4 创建用户
   创建用户常用的最佳工具是admintool。从Solaris 9平台开始,使用“Solaris 管理控制台”smc。当创建新用户时不要指定/home/<username>作为用户的起始目录。用下面的更好:
/export/home/<username>。

   /home/<username>目录默认作为Solaris自动装载器(automounter)的目标目录,因此不可写。一些第三方软件试图使用/home/xyz目录。为避免出错,应该关闭自动装载器或者改变它的默认设置。

7.5 命令解释器(Shells)和环境变量
   正确的设置环境变量是系统设置中最有效的减少错误的方法之一。不幸的是,在使用不同的命令解释器(或者设置为用户默认的命令解释器)情况下,如何设置变量以及针对特定用户的性能优化所用的语法各不相同。

   最常用的命令解释器是sh,ksh和csh。从Solaris 8开始,流行的bash也可以使用了。sh是安装完成后root用户默认的命令解释器。一般情况下,用户的默认命令解释器在/etc/passwd文件中定义,例如:demo:2003:10emo User:/export/home/demo:/bin/csh

   下表描述如何在不同的命令解释器中设置变量:表1(见附件)

   所有命令解释器在启动时读取一系列文件。登录命令解释器(login shell,通常在用户使用telnet,ssh等登录系统后启动)与子命令解释器(subshell,即sh,ksh,csh或者bash的统称)读取的文件不同。下表描述了不同命令解释器所读取的文件:表2(见附件)



我把表做成JPG图形格式贴上来。  race兄认为如何?



表1










表1










表2





表1




 solar 回复于:2003-07-01 14:43:29
没有校验, 请指正。

10.1 编译器
c, c++和fortran编译器通常安装在/opt/SUNWspro/bin目录, 通用工具象make安装在/usr/ccs/bin下.

10.2 GNU工具包
几乎所有GNU工具包都有基于solaris平台的预编译包. 它们可以从http://www.sunfreeware.com下载.从solaris 8 OE开始, 一些重要工具象perl,gzip或apache是自动安装的, 剩下的绝大多数GNU工具包都作为预编译包存放于solaris companion CD上.

10.3 SUN PCi和SUNPCi-II
很多工作站都装备有SUNPCi卡. 这是一个运行WINDOWS(98,ME,NT,2000,XP)系统的完整PC.这里有一些关于操作SUNPCi卡的提示.

*封装/opt/SUNWspci2/bin/sunpci进一个小脚本以设置一些环境变量:
setenv NVL_INTERFACE=hme0  (如果SUNPCi要用hme0网络界面)
setenv LANG=C
setenv KBCP=850                           (例如:德国键盘/代码页)
setenv KBTYPE=GR                       (还记得MS-DOS吗?)

*不但让root可写c:映像, 而且这个工作站上的每一个用户都要有666权限.当sunpci由一个用户启动时, 一个叫pc的子目录在该用户的HOME下产生.为让该用户同全局c:映像协同工作, 中断随后的特定用户映像的创建, 并且编辑sunpci.ini文件以指向那个全局映像(例如: /pc/C.diskimage).

10.4 staroffice 软件
如果staroffice软件由root执行setup /net安装, 所有用户能在他们的个别安装期间选择”工作站安装”选项. 工作站安装仅仅拷贝1MB数据进该用户的home目录, 而其他的情况使用集中式安装. 如果staroffice软件安装在/opt/Office60, 用户能用/opt/Office60/program/soffice来启动他的工作站安装.

10.5 netscape navigator浏览器
从solaris 8开始, netscape navigator作为标准浏览器. 它被安装在/usr/dt/bin/netscape.

10.6 杂项
提示: 当启动桌面时, 那个注册提醒器能用”more information”中的“never register”选项禁止.
要禁止所有用户的警告, 在/etc/default/solregis文件中加入一行ISABLE=1


 solar 回复于:2003-07-01 16:57:23
continued....


11.提示集

11.1 3个首要提示

* c-shell: 在~/.cshrc中定义 set filec和set history=100 savehist=50, 一旦你按下esc键,  shell将完成文件名和目录名.  History列出最后的100条命令, 用!13用让编号13的命令重新出现.!$用于列出先前命令的最后一个参数, 象: mkdir /export/home/demo/test后键入cd !$.
从solaris 8开始, tcsh有效了, 它有用光标键编辑命令行和浏览历史命令的功能.

*进程控制 : 从solaris 8 O以后, 可以用pkill <搜索文本> 去替代由ps –ef|grep <搜索文本>, 然后kill <搜索文本的PID>所能达到的功能. Kill -9 -1中断属于当前用户的所有进程.

*文件编辑: 不喜欢vi的人可用CDE的编辑器dtpad.

11.2 硬件配置分析

11.2.1 prtdiag
/usr/platform/`uname –i`/sbin/prtdiag –v命令显示CPU的数量及类型, RAM, 扩展卡等信息.

11.2.2 prtcon/path_to_inst
prtconf 以阶层的形式列出设备目录. 用逻辑设备(驱动程序在/dev)映射物理设备(在/devices下指定)的说明在/etc/path_to_inst文件中. 当执行boot –r或devfsadm时, 这个文件被重写. 在把一张卡从一个PCI槽移到另一个槽后, 必须编辑这个文件. 在该文件中, /dev/hme1被连接到一个特定槽. Reboot不能重新定义这个关系.
警告: 手工编辑/etc/path_to_inst需要设备路径操作的高级经验. 编辑错误会导致系统不能引导!

11.2.3 explorer
该工具能从SunSolve(http://sunsolve.sun.com/pub-cgi/show.pl?target=explorer/explorer) 下载. 它搜集所有重要的系统信息. 它能用于准备服务命令, 备份配置数据和快照配置等.

11.3 运行时数据分析

11.3.1 time/ptime
较简单的运行时分析工具有time(0.1sec解析)和ptime(1msec解析), 它们能加入命令行.  time gzip j2sdk.tar.gz 的结果分成用户(程序)时间, 系统时间和用去的时间.

11.3.2 top/prstat/ps
solaris下的prstat类似于其他平台下的top工具./usr/ucb/ps –aux显示相近的结果, 但它没有排序且不能自动更新. 
Ps –L –p <process-ID>列出有线程的进程及其线程数.

11.3.3 vmstat/mpstat
vmstat <以秒计频率>列出系统负载明细. 下面行列出大多数有趣的:
free: 空闲内存(直到solaris 7此值接近零, 因为有用磁盘缓存. 从solaris8开始, 是空闲内存的正确值.)
page pi/po:  页面调度行为.  系统不交换直到在交换设备上i/o流量被报告!
Cpu us: user-time. 被应用程序消耗的百分比.
Cpu sy: system-time.被solaris自己消耗的百分比.
Cpu id: idle-time.
Mpstat 打印类似信息, 每个处理器一行.

11.3.4 iostat
iostat –xtcP <以秒计频率>列出系统i/o负载.每一个分区或NFS装载打印一行. “kr/s”和”kw/s”行显示以千字节/秒为单位的读写吞吐量. 若”svc_t”大于100表明那磁盘用于磁头(?)分配的时间多过数据传送的时间.

11.3.5 sdtperfmeter, sdtprocess
sdtperfmeter是一个图形工具, 它将vmstat的数据作为柱形或条形图. 该工具的最小化版本显示在CDE面板.
Sdtprocess显示用某种方式排序的所有进程. 可用于深入察看进程特性, 中断进程等.

11.3.6 32或64位?
Isainfo –kv 显示系统内核是32还是64位. UltraSPACR-II系统自动启动64位内核 ; 在ok状态下, 用boot kernel/unix而不是boot kernel/sparcv9/unix可以明确地装入32位内核 . 而UltraSPARC III只有64位内核.


 guodc 回复于:2003-07-01 18:18:44
11.4 调试
11.4.1  Truss,
  命令truss <command>  列表应用程序执行过程中所有的系统调用,由于列表中还包含系统调用的参数和返回,因而我们可看到应用程序调用的共享库和配置文件以及它们的文件位置。
11.4.2  pstack,pmap
"p*-command"  输出属于该进程的详细信息
     pstack   <PID>      显示进程的最后一个子程序名
     pldd   <PID>         显示共享连接库列表
     pmap  -x  <PID>   显示该进程与它的装载模块的内存使用情况
11.4.3  snoop
    snoop 输出通过网卡所有的包


 醉里方休 回复于:2003-07-02 11:32:06
11.5 常见问题

1. 启动进程过长
OBP 设置:ls diag-swith?=true ??
2. 不能用FTP登陆,但telnet、ssh可以
在/ect/ftpuser中设置不允许用户FTP登陆
3. VI 不能正确的显示
查看变量term 是否定义,如果没有,设置term=vt100


 blade7712 回复于:2003-07-03 13:50:55
好像这两节没有翻译,我来试试,不当之处请指正。

9 网络文件系统(Network File System)

9.3 与其他的流行的UNIX系统的区别
    在Solaris上的NFS系统与其他流行的UNIX版本中(Linux,AIX等)的实现不完全相同:
    1)文件:Solaris 系统中文件/etc/dfs/dfstab,由/etc/exports取代;
    2)命令:Solaris 系统中的命令shareall由exportfs -a取代。

9.4 自动加载(AutoMounter)
    自动加载功能可以实现在用户访问相关目录的时候自动的将文件系统加载(mount)。在大型网络环  

  境中,如果大量主机和用户的具有如下目录路径/net/<hostname>或/home/<username>是,将会非常    

  有帮助。
     
     两个文件定义自动加载的基本操作:/etc/auto_master和/etc/auto_home.

     auto_master文件预定义了上述自动加载的行为。
     目录/net将会在访问相关的主机是自动加载。
     /home目录的自动加载功能在/etc/auto_home文件中定义。

     /net -hosts -nosuid,nobrowse
     /home auto_home -nobrowse

     如果/etc/auto_home文件包含以下行
     *     /export/home/&
     
     当有人访问/home/joe目录时,自动加载功能将起作用,把/export/home/joe 加载到这个加载点    

     (/home/joe)


 blade7712 回复于:2003-07-03 17:04:18
5 X-Server和CDE用户接口

5.1 常见的需要注意的问题

    X-Server和CDE总是按照以下顺序搜索配置文件:
    1. $HOME/.dt/...
    2. /etc/dt/...
    3. /usr/dt/...
    
    注意,永远不要改动在整个系统范围内都生效的/usr/dt/中的内容。如果系统的X-Server或CDE出现
    问题,总是使用/etc/dt/下的文件去维护或恢复设置。用户自己的配置如扩展按钮或面板的改变等
    配置总是保存在$HOME/.dt/目录下。在本节以下的内容中,将用<DT>来代替这些目录($HOME/.dt,
    /etc/dt,/usr/dt)。

5.2 定制登陆界面
    
    文件:<DT>/config/$LANG/Xresources
   
    Logo(象素图或位图,24位色或以下,广泛装载时间):
        Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/Mylogo.bm
    通用欢迎登陆语句:
        Dtlogin*greeting*labelString: Here's %LcoalHost%!
    输入用户名后的欢迎:
        Dtlogin*greeting*persLabelString: Hello %s

5.3 从多窗口登陆,X,使用24位色

    首先查看 /dev/fbs,找出有多少框架缓冲区用,它们是如何命名的. 确认有
    /dev/fbs/ifb0和/dev/fbs/ifb1,两个 Expert 3D的窗口缓存。
    
    然后,把X-Server文件从/usr/dt/config复制到/etc/dt/config,编辑该文件,确认最后一行与以下
    内容相同:
    
    :0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner

5.3.1 多窗口

    多窗口指CDE在每个窗口中运行一个完整的用户面板。鼠标可以在两个窗体间移动,而程序窗口不行
    运行在ifbo的显示被称为: :0.0, 运行在ifb1的显示被称为: :0.1

    :0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -dev /dev/fbs/ifb0 -dev 

/dev/fbs/ifb1 -nobanner

5.3.2 Xinerama
   Xinerama(Solaris 7 11/99 OE以后的版本有效)是一个覆盖无论显示屏的虚拟显示屏。鼠标和程序

窗口可以在屏幕之间移动, CDE只生成一个用户前端面板。只有一个显示号码: 0:0. Xinerama 只在使

用相同的窗口缓存时才可用。
   :0 Local local_uid@console root /usr/openwin/bin/Xsun :0 +xinerama -dev /dev/fbs/ifb0 

-dev/fbs/ifb1 -nobanner

   Xinerama 允许定义一个全局的X和Y方向。这种设置使显示画面边缘可以扩展到多个显示器上,形成统

一的图形显示(Xoverlap=<水平解析象素>),下面是一个1280象素的20%的水平解析。
  :0 Local local_uid@console root /usr/openwin/bin/Xsun :0 = xinerama -xoverlap 256 -dev 

/dev/fbs/ifb0 -dev /dev/fbs/ifb1 -nobaaner

5.3.3 使用24位色
   CDE本身默认使用8位色(256色). 不过这没有问题,因为每个窗口可以使用单独的颜色位深设置。
  某些框架缓冲区只有一个颜色表,这可能导致在某些应用中出现闪色的现象。只需要将CDE修改成使用  

24位色深。如果使用PGX显卡,需要使用命令fbconfig -degth 24, 将框架缓冲区切换到24位。
  
  注意:由于某些老的应用只支持8位色,不是24位,可能会出现问题。

  :0 Local local_uid@concole root /usr/openwin/bin/Xsun :0 -dev
  /dev/fbs/ifb0 defdepth 24 -dev /dev/fbs/ifb1 defdepth 24 -nobanner


 blade7712 回复于:2003-07-04 12:57:33
今早公司比较忙,有点晚了

     5.4 用户定制CDE面板
    CDE中的应用启动机制叫做“活动”。当用户将鼠标点到一个CDE图标是,“活动”发生预定义的行为

一旦定义以后,“活动”的关联到环境变量中:Menus, file manager, MIME-types 和定义文件

5.4.1 活动(Actions)
    CDE 按照以下顺序搜索*.dt-files配置文件:
    $HOME/.dt/types
    /etc/dt/types/$LANG/
    /usr/dt/types/$LANG/
    例如,StarOffice52.dt(这是在$HOME/.dt/types下安装完StarOffice之后)
ACTION StarOffice52
{
LABEL StarOffice 5.2
TYPE COMMAND
EXEC_STRING "/opt/Office52/program/soffice" "%(File)Args%"
ICON So52
WINDOW_TYPE NO_STDIO
DESCRIPTION StarOffice
}


5.4.2 图标

      一个活动的的定义还包含一个图标名。图标名按照以下顺序解析:
$HOME/.dt/icons
/etc/dt/icons/$LANG/
/usr/dt/icons/$LANG/
naming scheme: <name>.<size=m|t|l>.<format=bm|pm>     
       例如StarOffice52的图标文件存在以下位置:  $HOME/.dt/icons/So52.m.bm

5.4.3 用户前面板     
     
      通过添加*.fp-files文件到$HOME/.dt/types目录下,可以方便简单的扩展用户前面板。默认定义

存储在:
. /etc/dt/types/$LANG/
. /usr/dt/types/$LANG/

例如($HOME/.dt/types/tools.fp)
CONTROL Tools (Always define the main control before sub panel)
{
TYPE icon
CONTAINER_TYPE BOX
CONTAINER_NAME Top
POSITION_HINTS first
ICON Dtagen (This is a folder icon, Icon must
exist!)
LABEL Tools
}
SUBPANEL Toolspanel
{
CONTAINER_NAME Tools
TITLE My Tools
}
CONTROL StarOffice52
{
TYPE icon
CONTAINER_TYPE SUBPANEL
CONTAINER_NAME Toolpanel
ICON So52
LABEL Star Office 5.2
PUSH_ACTION StarOffice52 (compare ACTION StarOffice52)
DROP_ACTION StarOffice52
}

你可以通过在子面板(SUBPANEL)里添加额外的控制(CONTROLs),构建整个按钮


 blade7712 回复于:2003-07-04 15:49:15
6 框架缓冲区和OpenGL

6.1 Fbconfig
    在Solaris 8 系统环境中,fbconfig是配置框架缓冲区的唯一的接口。每个框架缓冲区驱动都有专用

的配置工具。在Solaris 8 软件中,通过有规则的命名方式来与/dev/fbs下的设备名对应。


. ffbconfig Creator, Creator3D
. afbconfig Elite3D
. ifbconfig Expert3D, Expert3Dlite
. m64config PGX24 (onboard U5, U10), PGX64
. gfxconfig PGX32

    在下面的内容中,只提及fbconfig,其他命令的参数都是一样的。如果没有在配置中把某个设备指定

给框架缓冲区,fbconfig工作在默认(console)框架缓冲区。

    可以使用 ls /dev/fbs命令查找系统中安装了哪些框架缓冲区。另外,可以使用下列命令通过设备名

直接列出系统中安装了的框架缓冲区。

    fbconfig -res /dev/fbs/afb1 -propt -prconf

    这个命令可以列出第二个Elite3D卡的框架缓冲区的配置信息,例如框架缓冲的类型、分辨率等。第

一个Elite3D的框架缓冲区使用的设备名是 afb0。

    fbconfig -res \?

    这条命令将列出可能的解析度,指定一个分辨率使用如下命令:
    
    fbconfig -res "1280x1024x86" -try -now
    
    使用"剪切&拷贝"

    -try和-now都是选项。
    -try将只会改变分辨率10秒。可以使用这个方法测试显示器是否可以同步视频信号。
    -now参数会立刻切换分辨率,不需要重启X-Server。
    然而,有些时候使用-now选项改变分辨率后,会有一点几何失真。可以用退出登陆再重新登陆来重启

X-Server的方法来解决。
    
   fbconfig -g 1.7

   命令将灰度因子设定到1.7。默认值是2.2,通常看起来可能太亮了。
   新的灰度设定,不用重启X-Server就可以立刻生效,而且重启后依然有效。


 blade7712 回复于:2003-07-04 16:13:18
6.2 ogl_install_check
   尽管在Solaris 2.5.1以后的版本的CD中都有OpenGL软件包,但在Solaris系统安装过程中,不会自动

安装。

   使用以下命令检查该系统上是否正确安装了OpenGL,以及OpenGl软件的版本:

   /usr/openwin/demo/GL/ogl_install_chech

   注意:在正确的设置了灰度后值后,rotatin ring(我是在不知该怎么翻了,请大家告诉我吧)的设置

也很简单了。

   推荐使用最新版本的OpenGL。 例如Xinerama只能支持OpenGL1.2.1以后的版本。OpenGL的下载地址
   http://www.sun.com/solaris/opengl

6.3 图形相关的布丁列表
    
    下面是一些重要的补丁列表,补丁对包含有。补丁集依赖与Solaris版本、OpenGL版本和框架缓冲区

类型。
    下表只列出来补丁号。请到http://sunsolve.sun.com下载最新版本的合适的布丁,并安装下列顺序

安装:
    1.框架缓冲区补丁 
    2.X-Server补丁
    3.OpenGl
    4.OpenGL补丁



              Graphics Patch Matrix
GRAPHICS CARDS      Solaris 9 OE       Solaris 8 OE        Solaris 7 OE
Expert3D (lite)              112540              108576              108787
XVR-500                       112540               108576         not supported
XVR-1000                     112565               112564         not supported
Elite3D                         111620               108604             106144
- and XFB                                                                         106148
- and VIS                                                109872              106147
Creator3D                    112621              108605              106145
- and XFB                                                                         106148
- and VIS                                                109872              106147
OpenGL 1.2.2 32 Bit: 111993         32 Bit: 111993   32 Bit: 111993
                       64 Bit: 111994        64 Bit: 111994   64 Bit: 111994

OpenGL 1.2.3 32 Bit: 112628        32 Bit: 112628     32 Bit: 112628
                       64 Bit: 112629        64 Bit: 112629     64 Bit: 112629
XSun                       112785           108652                  108376
PGX32 /64               112622           109154                 107716


 blade7712 回复于:2003-07-04 16:15:30
终于完了,不过最后那个表没有格式,RACE兄从PDF上抓图吧。好像其他部分都完成了,RACE兄什么时候有空整理审校后正式发布吧。


 race 回复于:2003-07-06 10:19:07
[quote:7d853461c5="blade7712"]终于完了,不过最后那个表没有格式,RACE兄从PDF上抓图吧。好像其他部分都完成了,RACE兄什么时候有空整理审校后正式发布吧。[/quote:7d853461c5]     

我正在整理,4.2和4.3还没有人翻译

你翻译的第5-6部分中frame buffers应该是显示卡
Multi-Screen是多屏幕,就是一个SUN的机器插了2块以上的显示卡,每个显示卡接一个屏幕,多用于图形领域。
Xinerama是用来把多个显示器屏幕当成一个虚拟屏幕来用,使应用程序的X窗口可以在几个显示屏幕之间自由移动。


 pheobee 回复于:2003-07-06 14:27:04
4.2 封包(Packages)

   基本上,封包指的是子目录或者是tar/compress/zip压缩的子目录,并遵循一种通用的命名模式:前4个大些字母代表开发商的美国上市公司股票代号(或者虚拟代号),后面的小写字母代表封包的功能。

   例如:包含SunPCi-card驱动程序的封包叫做SUNWspci2。“SUNW”是股票代号,“spci2”代表功能。

   可以用pkgadd程序加上存放封包的路径安装封包:
pkgadd -d /cdrom/cdrom0

   用pkginfo显示已安装的封包信息,pkgrm <Package-Name>卸载安装的封包。

   例如:你更换了工作站的显卡,将Creator3D(ffb)替换成Elite3D(afb)。启动时,你会看到“no console framebuffer is available”的出错信息。这意味着Elite3D的驱动程序没有安装。

   首先验证自己的推测:pkginfo | grep -i afb

   如果你在机器安装了Creator3D显卡,而没有Elite3D显卡时选择了Solaris的文本方式默认安装选项,上面的命令显示结果为空。Elite3D的驱动程序存放在Solaris光盘的s0/Solaris/Product目录里。

   进入这个目录,输入如下命令:pkgadd -d . *afb*

   重新启动后,所有Elite3D的驱动程序已经安装并可用了。


4.3 补丁(Patches)

   补丁的编号由两部分组成。6位数字的补丁号和后面的两位数字版本号,例如:123456-78。

   在Solaris 8 OE之前,补丁以*.tar.Z格式提供。Solaris 8的补丁以*.zip压缩格式封装。安装补丁时,将文件复制到/tmp目录并解压缩。不要忘记安装完成后删除文件:

zcat 123456-78.tar.Z | tar xvf -
unzip 123456-78.zip

   然后,运行patchadd <directory (= Patch number)>安装补丁。此例为:patchadd 123456-78。

   如果没有指定参数,patchadd用一种总可以使用patchrm <patch number>卸载补丁的方法来安装补丁。为了能够使用此功能,必须保证/var/sadm/patch目录有足够空间。

   用showrev -p | grep <patch number>可以确定某个补丁是否已经安装了。

LUPA社区系统帐号.转贴文章之用.

TOP