Chinaunix首页 | 论坛 | 博客
  • 博客访问: 422495
  • 博文数量: 77
  • 博客积分: 2303
  • 博客等级: 大尉
  • 技术积分: 808
  • 用 户 组: 普通用户
  • 注册时间: 2004-11-30 09:15
文章存档

2015年(1)

2013年(3)

2012年(2)

2011年(46)

2009年(4)

2008年(2)

2005年(12)

2004年(7)

我的朋友

分类:

2005-09-27 12:38:35

这些可能是大家所不熟知的一些问题(也是俺水平低-_-!)

#ldd oracle 

libskgxp8.so => /app/oracle/product/8.1.6/lib/libskgxp8.so
libjox8.so => /app/oracle/product/8.1.6/lib/libjox8.so
libobk.so => /app/oracle/product/8.1.6/lib/libobk.so
libnsl.so.1 => /usr/lib/libnsl.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libsched.so.1 => /usr/lib/libsched.so.1
libc.so.1 => /usr/lib/libc.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libposix4.so.1 => /usr/lib/libposix4.so.1
libkstat.so.1 => /usr/lib/libkstat.so.1
libm.so.1 => /usr/lib/libm.so.1
libkvm.so.1 => /usr/lib/libkvm.so.1
libelf.so.1 => /usr/lib/libelf.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-Enterprise/lib/libc_psr.so.1

    这个参数指示了freelist的大小,这是由page daemon标记为free的内存。freelist会根据需要收缩到lotsfree指定的大小,而且会保持这个大小。这个值并不能真正指出到底有多少空闲的内存,因为可能有大量的仍要被page daemon回收(reclaim)的内存,而page daemon并没有回收它们的必要。

  检查内存短缺的方法:

   vmstat 中的sr列或sar -g 中的pagescan。它指出了page daemon是多么频繁的来找没有用的内存,并回收给需要的进程(以每秒的page数为单位)。当新启动一个进程时,可能会增加,但马上会恢复为0。

    /etc/path_to_inst文件有对应的类似

  /sbus@3,0/SUNW,fas@3,8800000/sd@5,5

  的名字,到/dev/dsk下用ls -l 找吧。

  另:用iostat的-n参数可以显示为cxtxdx。

    这种情况,一般是说这个block已经物理损坏了,只能把这个block映射到系统不会用到的地方,以免以后又使用这个block,提示出错信息。

   先从控制台或/var/adm/messages中找出block的号

  # format -> 选disk -> repair -> 输入 block 号 -> 确认(如果没有损坏,会有提示)

  ulimit -n 1024 for /bin/sh and /bin/ksh users

  limit descriptors 1024 for csh users

 

  /etc/system

 set rlim_fd_cur = 128

 set rlim_fd_max = 2048

 

用于snmp

/etc/rc3.d/S76snmpdx

/etc/rc3.d/s76snmpdx

 

用于 nfs server

/etc/rc3.d/S15nfs.server

 

用于从nfs server 上mount文件系统 

/etc/rc2.d/S73nfs.client

 

用于使用 cachefs

/etc/rc2.d/S73cachefs.daemon

/etc/rc2.d/S93cacheos.finish

 

 用 ntp 来执行时间同步

/etc/rc2.d/S74xntpd

 

用于 Ultra 10000

/etc/rc2.d/S99tsquantum

 

使用 automounter (generally NIS, NIS+ use this)

/etc/rc2.d/S72autoinstall

 

sendmail

/etc/rc2.d/S88sendmail

 

打印或发送打印任务

/etc/rc2.d/S80spc

/etc/rc2.d/S80lp

 

自动启动CDE login画面

/etc/rc2.d/S99dtlogin

 

卷管理,自动mount cdrom

/etc/rc2.d/S92volmgt

 

  Q:用"ps -ef"看到syslogd有" -n -z 14 "的参数,但用/etc/rc2.d/S74syslog来启动则没有这个参数?

  A:当对syslogd一个HUP信号(kill -1)时,它会修改它的参数。所以当root的crontab在每个星期日的3:10am运行/usr/lib/newsyslog时,syslogd变成"syslogd -n -z 14"。其中:

    "-n"    表示no fork

    "-z 14"  告诉syslogd /dev/log的文件描述符已经打开了

  #newfs -N /dev/dsk/c0t0d0s0

  然后就可以用fsck -F ufs -o b=block_number /dev/dsk/c0t0d0s0  来完成fsck

#iostat -nE

c0t1d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: SEAGATE Product: ST34371W SUN4.2G Revision: 7462 Serial No: 9805V87451
RPM: 7200 Heads: 16 Size: 4.29GB <4292075520 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0

设备:

   /dev/lofictl:    Master control device

   /dev/lofi/n:     Block device for file n

   /dev/rlofi/n:    Character device for file n

具体操作:

   #cd /dev

   #mkdir lofi;cd lofi

   #ln -s ../../devices/pseudo/lofi@0:ctl

此时在/dev/lofi/下有:

   1 -> ../../devices/pseudo/lofi@0:ctl指向主控设备,当运行

   #lofiadm -a /abc/abc.img /dev/lofi/1时会自动生成

   /dev/lofi/1 -> ../../devices/pseudo/lofi@0:1

这时,已有一设备/dev/lofi/1可供mount了。

   mount /dev/lofi/1 /mnt

举例:

例一、将mkisofs生成的iso映像作为lofi设备

#mkisofs -o test.iso /.../mypath        (生成一个/mypath目录的光盘映像文件test.iso)

#lofiadm -a /.../test.iso /dev/lofi/1   (将test.iso文件作为块设备)

这时,用lofiadm可以看到

Block Device     File

/dev/lofi/1      /.../test.iso

#mount -F HSFS -ro /dev/lofi/1 /mnt

#cd /mnt;ls -l可以看到原test.iso的映像内容了。

例二、将mkfile生成的一空白文件制作成设备

#mkfile 20m test.img

#lofiadm -a /.../test.img /dev/lofi/2

#newfs /dev/lofi/2

#mount -F ufs /dev/lofi/2 /mnt

#df -k

/dev/lofi/2     /mnt    ......

可以当作一块磁盘来用。

用完后可

#umount /mnt

#lofiadm -d /dev/lofi/n取消回环映射

   (此例中安装server与client在同一网段内的,如不从同网段的server上安装,必须有一台同一网段的主机做boot server:#setup_install_server -b)

   a. server的/.rhosts里添加"+"

   b. /etc/hosts里添加server与client的IP与主机名

   c. /etc/ethers里添加server与client的MAC地址与主机名

   d. 放入安装光盘Software 1/2(这里用的是Solaris 8)

#cd /cdrom/cdrom0/s0/solaris/Tools

#add_install_client [client的名字] [client的系统平台],如:

#add_install_client temp sun4u---------->uname -i可以知道

   e. server上运行/etc/init.d/nfs.server start

   f. client上boot net

开始安装。

换光盘的时候需要unshare /cdrom/sol_8_sparc; eject,然后修改/etc/dfs/dfstab中share -F nfs -o ro,anon=0 /cdrom/sol_8_sparc_2,重新启动nfs.server,client上输入servername:/cdrom/sol_8_sparc_2,

继续即可。

说明:add_install_client会修改/etc/dfs/dfstab,创建/tftpboot目录,修改/etc/bootparams文件。

   #init 0

   开机箱,将jumper J2003(具体位置可以在answerbookII里的图上查到)跳到2-3上(write-enable),重新启动

   #init -s

   #bin/sh /usr/platform/sun4u/lib/prom/`/usr/bin/uname -i`

   开始升级。完成后还原J2003

   cat /var/adm/wtmpx|fwtmp

   cat /var/adm/utmpx|fwtmp

   #./configure

   出错,提示ncurses库未安装(据称ncurse<>curse)

   下载后安装ncurse库:

   #./configure --enable-termcap

   (如果直接configure,make后运行test下的测试程序会提示open terminal error:vt100...

--enable-termcap参数表示在安装terminfo database前先找/etc/termcap文件,把terminfo指向/etc/termcap翻译成的TERM环境变量。)

   #make

   进入test目录测试ncurses库是否正确安装,如正确则运行make install安装man, share等,也可以直接进入相应的组件目录运行#make install安装相应组件。

   然后可以安装sniffit了:

   #cp patch.1 ->sniffit源代码目录

   #patch

   compile

   /usr/lib/fs/ufs/installboot bootblk /dev/rdsk/c0t0d0s0


  安装了两块磁盘到阵列后,系统无法正常启动,找不到本地磁盘。据代理商说,E3000系列都有此问题,只用在OK状态下reset all一把,就好了。reset all后,boot disk。

运行drvconfig, devlinks, disks,然后就可以看到新增的硬盘了。据SUN的手册说这些命令最好由devfsadm来替代。同时还提供devfsadmd,是daemon进程,实现自动检测新增设备的功能。

drvconfig的作用是配置/devices,确认设备已安装上电,驱动程序已安装。

devlinks的作用是在/dev下为各设备和伪设备增加新的entries。在/dev下创建符号链接到/device下的字符设备或块设备。

disks/tapes/ports...之类的作用在/dev下创建entries。(不知道和devlinks有什么区别)

crontab里增加如下语句:

2,7,12,17,22,27,32,37,42,47,52,57 * * * * /usr/lib/sa/sa1

每格5分钟采集一次数据,用sar -A命令可以查看结果了。

/var/ld/ld.conf (32位)

/var/ld/64 (64位)

crle可以设置默认库函数目录,LD_LIBRIARY_PATH不推荐使用,应淘汰

阅读(2182) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~