1. Q: Solaris 的系统配置文件一般在什么地方?
A: 可以查看/etc/system文件,里面有一些solaris启动时默认加载的选项,包括
共享内存大小等的设置。
2. Q: 在solaris中,用户默认的Shell在什么文件中规定?
A: 可以查看/etc/passwd中,用户默认的shell在这里规定。
3. Q: 如果solaris不幸忘记了root密码,如何解决?
A: 可以有如下两种情况
1. 工作站只有root用户,无其他用户。
2. 工作站除了root用户以外,还有其他的用户
1. 如果连接了网络,我们可以采用远程缓冲溢出的方法,但是这样的方法不属
于“经典”方法,且有的远程缓冲溢出具有一定的破坏性,不建议使用。还
有一种方法就是采用SUN公司自带的光盘采取引导,建议采取这种方法:
1. boot cdrom -s
2. fsck /dev/dsk/c0t0d0s0 (取决于根分区的设备)
3. mount -F ufs /dev/dsk/c0t0d0s0 /mnt
4. TERM=ansi; export TERM
5. 编辑/mnt/etc shadow文件,把root对应的口令去掉。
6. 重启后的root的口令为空。
2. 如果还有普通用户,方法可以采用本地缓冲溢出,这种方法虽然破坏性小,
但是也有损毁硬盘引导区的危险,建议采用“文件连接”错误是获得root权
限,这种方法没有什么危险性。
4. Q: 有时候用vi编辑器的时候,显示窗口过大,如何处理?
A: 只需要用鼠标拖曳终端窗口,使其缩小,即可解决。
5. Q: 共享内存大小如何设置?
A: 在system文件的最后一行加入Set shmsys:shminfo_shmmax=XXX
/etc/set shmsys:shminfo_shmmin=XXX
这里的XXX是代表共享内存的大小。单位:字节
共享内存一般为内存的一半
例如内存为512M
设置应为512/2*1024*1000=262144000
6. Q: root用户的配置文件在什么地方?
A: root用户的配置文件和其他用户的配置文件有些不同,它在/etc/profile文件
中规定。
7. Q: SUN solaris 在远程X-win pro下无法以root进行登陆,如何解决?
A: 直接以root在终端上登录的时候,执行/etc/default/login脚本。在这个脚本
中限制了在远程终端上不能直接以用户root登录,如果想这样,修改此脚本,
将下面这一行注释掉即可
CONSOLE=/dev/console
8. Q: 在solaris下,如何查看网络是否配置成功?
A: 可以采用命令Ifconfig -a来查看,如果网卡绑定ip成功,而不是显示0.0.0.0
就证明网卡配置基本无误,主要检查网络介质(网线,RJ45插头...)是否损坏。
9. Q: 如果敲错一个命令如何结束它呢?
A: solaris和SCO有少许不一样,solaris可以采用ctrl+C来结束,而不是SCO的
ctrl+Del
10.Q: solaris的联网中,网关如何配置?
A: solaris的网关设置和SCO的设置不一样
SCO:
/etc/gateways
<net|host> name1 gateway name2 metric value <passive|active|external>
所有中间的很长的空均为TAB
Net,host 表示路由指向是网络还是主机,net和host是关键字
Name1 目的网络名或主机名
Gateway 关键字
Name2 网关名或网关ip地址
Metric 关键字
Value 跳数
Passive 关键字,表示被动方式,路由器不叫换路由信息
Active 关键字,表示主动方式,路由器交换路由信息
External 关键字,表示外部方式,其他进程已安装了路由
例如:
net 129.9 gateways 129.6.0.1 metric 1 passive
host 129.7.10.21 gateway 129.6.0.2 metric 1 passive
Solaris
为defautrouter,只需要在里面填入网关。
11.Q: 如何在网上安装Solaris?
A: 假设SERVER IP为10.11.41.10,hostname为inssvr;CLIENT IP为10.11.41.11
,hostname为inscli。
在SERVER端执行以下步骤
条件:有340M的剩余空间
1. 将Solaris 2.6的安装盘插入CD-ROM
2. 将Solaris 2.6 CD-ROM的slice 0拷贝到硬盘
# cd /cdrom/sol_2_6_sparc_smcc_svr/s0/solaris_2.6/Tools
# ./setup_install_server /export/install
3. 编辑文件/export/autocfg/sysidcfg,以下是它的内容
#Sample sysidcfg file for SPARC systems
system_locale=en_US
timezone=GMT-8
timeserver=10.11.41.10
terminal=dtterm
name_service=NONE
root_password=...(取自/etc/shadow文件)
4. 编辑文件/etc/hosts,以下是它的内容
10.11.41.10 inssvr loghost
10.11.41.11 inscli
5. 增加安装客户
# cd /export/install
#./add_install_client -e CLIENT的以太网地址 -i CLIENT的IP地址 -s inssvr:/export/install -c inssvr:/export/autocfg -p inssvr:/export/autocfg inscli sun4u
在CLIENT端的OK提示符下执行
OK boot net - install
Solaris 7 for sparc与2.6的区别,7没有默认的sysidcfg和autocfg目录,需要自
己建立,而且OK boot net即可
12.Q: DHCP in Solaris8?
A: 1. # touch /etc/dhcp.hme0,hme0:请用相应的网卡设备名;
2. 修改/etc/init.d/network,/etc/init.d/inetsvc
先备份
# cp /etc/init.d/network /etc/init.d/network.org
# cp /etc/init.d/inetsvc /etc/init.d/inetsvc.org
修改/etc/init.d/network第278行:
"dhcp") #hostname=`/sbin/dhcpinfo Hostname`
hostname=`cat /etc/nodename`
修改/etc/init.d/inetsvc第168行:
hostname=`/sbin/dhcpinfo Hostname`
if [ -z "$hostname" ]; then
#hostname="unknown"
hostname=`cat /etc/nodename`
fi
修改/etc/init.d/inetsvc第82行:
if [ "$_INIT_NET_STRATEGY" = "dhcp" ]; then
#dnsdomain=`/sbin/dhcpinfo DNSdmain`
dnsdomain=`cat /etc/defaultdomain`
else
dnsdomain=
fi
if [ -n "$dnsdomain" ]; then
#dnsservers=`/sbin/dhcpinfo DNSserv`
dnsservers=`cat /etc/dnsservers`
修改/etc/init.d/inetsvc第220行:
/usr/bin/mv /tmp/hosts_clear.$$ /tmp/hosts.$$
mydomain=`cat /etc/defaultdomain`
echo "${ipaddr}\t${hostname}\t${hostname}.${mydomain}\t# Added by DHCP" >>/tmp/hosts.$$
在/etc/init.d/inetsvc第一行加入如下语句:
if [ -f /etc/dhcp.*[0-9] ]; then
_INIT_NET_STRATEGY="dhcp"
export _INIT_NET_STRATEGY
fi
3. 创建/etc/defaultdomain,内容为huawei.com.cn
4. 创建/etc/nodename,内容为你的机器名
5. 创建/etc/dnsservers:129.9.111.100 10.15.1.3
之所以要修改,究其原因我们的DHCP服务器支持的协议可能比较老,不能返回给
客户端DNSdomain,DNSServer,Nodename;
13. Q:SUN上如何编译动态库?
A:
CC=cc
C++=CC +w
.SUFFIXES:.cpp
.cpp.o:
$(C++) -g -c -Kpic $<
liberrlog.so:ErrLog.o
ld -o liberrlog.so -G ErrLog.o
14. Q: 在sun工作站上安装solaris软件时没有安装网卡,安装完成后应该修改那些文
件添加网卡?
A:
1. #reboot --r 或者ok boot -r
2. 在1.成功找到你新加的硬件之后,再执行相应的硬件设置命令,对网卡执行:
ifconfig hme0 <ip> [ipmask],其中hme0是你网卡的设备名,可以通过dmesg知
道你的网卡设备名.
15. Q: 如何设置DNS?
A: (1)/etc/nsswitch.conf的hosts解析加上nis或/和dns,内容如下
hosts: files dns
(2)设置到DNS服务器网关于/etc/defaultrouter,内容如下
10.11.43.254
(3)设置DNS服务器的IP地址/etc/resolv.conf,内容如下
nameserver 10.15.1.3
nameserver 129.9.111.100
domain huawei.com
16. Q: Ultra60工作站从外挂光驱启动?
A: Ultra60 工作站缺省配置是内置光驱,用外挂光驱重新安装Solars时,用boot
cdrom命令则不能从光驱启动,屏幕上打印错误信息:Drive not found.
原因如下:由于Ultra60工作站缺省支持内置光驱,cdrom的缺省配置是内置光
驱的物理设备名。当使用外挂光驱时,当使用boot cdrom命令时,cdrom的替
换为内置光驱的物理设备名。这就是不能从光驱启动的原因。
解决办法如下:
(1)stop+a命令
(2)在ok提示符下输入:probe-scsi-all
则出现硬盘、光驱、磁带机等设备的实际物理名。
如:/pci@1f,4000/scsi@3,1
cdrom
(3)在ok提示符下输入:devalias
则出现硬盘、光驱、磁带机等设备的缺省设置。
如:cdrom /pci@1f,4000/scsi@3/disk6,0:f
这是缺省配置,用boot cdorm命令时,cdrom被解释为
/pci@1f,4000/scsi@3/disk6,0:f
而/pci@1f,4000/scsi@3/disk6,0:f指示的是内置光驱的设备名,
因此不能从外挂光驱启动!
(4)在ok提示符下输入:boot /pci@1f,4000/scsi@3,1/disk6,0:f
说明:[boot后的参数参看(2)和(3)中的cdrom的设备名,由两者组合而来
即可正确的从外挂光驱启动。
17. Q: 一台Sun Ultra80工作站安装SunOS 5.6失败,请问其原因以及如何避免?
A: 硬件环境为Ultra-80/2CPU(450M)/1harddisk(18G)/2G Memory,从网络启动安
装SunOS 5.6。安装过程中途中断并出现以下提示:
panic[CPU3]/thread=0x301bde80: CPU3 privileged UE Error: AFSR 0x00000000 80200000
AFAR 0x00000000 7c5e0190 SIMM U1302 U0302 U1301 U0301
syning file systems... [27[ 406 136 done
12535 static and sysmap kernel pages
50 dynamic kernel data pages
205 kernel pageable pages
0 segkmap kernel pages
0 segvn kernel pages
0 current user process pages
12790 total pages (12790 chunks)
dumping to vp 6145608c, offset: 3989467
panic[CPU3]/thread=0x30043e80: panic dump timeout
Dump Aborted
Type 'go' to resume{3} ok
随后输入‘go'或者‘boot -r’都无法使系统启动,提示如下:
Can not open Kernel/unix
input filename [Kernel/unix]:
只有重新从网络启动。这是由于CPU硬件结构与Solaris系统不兼容造成的,
需要补丁。这个问题不仅仅是在Ultra80的机器上,如果Ultra60使用了SUN的
新推出的高速CPU(400M以上,一般为450M)且操作系统为Solaris 2.6或者
Solaris 2.5.1,也会出现类似问题。如果工作站使用的是这种高速CPU,在
随新机器一起的附件中会有一本手册:Installing Solaris 2.5.1 or
Solaris 2.6 Software on 419+ MHz Systems,其中详细描述了如何解决这
个问题(在zh-6页)。另外,附件中还有一张补丁光盘,名字叫做:
Operating Environment Installation CD May 1999,此光盘专门用于解决
此问题.
18. Q :在solaris上如何进行数据的备份和恢复?
A: 备份整个文件系统,也称作完全备份(full dump);在完全备份的基础上备
份修改过的文件,称作渐进备份(incremental dump);
ufsdump
ufsdump命令用于备份文件系统,可以完全备份也可以渐进备份。ufsdump命令的格式
为:/usr/sbin/ufsdump [options] dump_device files_to_dump
options包括:
0-9:指定备份的级别。0为最低,即完全备份;9为最高。假设当前备份级别为i,那
么ufsdump命令在执行时将寻找最近一次级别等于i或小于i的备份,将以前备份过后修
改过的文件备份下来。例如,星期一执行了一次级别为2的备份, 星期二执行了一次
级别为4的备份,那么当星期三执行级别为3的备份时备份文件中将包括自星期一备份
以来所有修改过或新创建的文件。如果星期三执行级别为4的备份,那么备份文件中将
包括自星期二备份以来所有修改过或新创建的文件。
f:指定备份的设备,例如/dev/rmt/0;
u:更新备份记录(/etc/dumpdates)。使用这一选项后ufsdump将创建或更新
/etc/dumpdates文件,文件内容包括文件系统名、备份级别、和备份时间,例如:
pioneer# ufsdump 0uf /tmp/ddd /dev/dsk/c0t0d0s0
DUMP: Writing 32 Kilobyte records
DUMP: Date of this level 0 dump: Mon Sep 07 22:37:16 1998
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/rdsk/c0t0d0s0 (pioneer:/) to /tmp/ddd.
DUMP: Mapping (Pass I) [regular files]
DUMP: Mapping (Pass II) [directories]
DUMP: Estimated 25234 blocks (12.32MB).
DUMP: Dumping (Pass III) [directories]
DUMP: Dumping (Pass IV) [regular files]
DUMP: 25214 blocks (12.31MB) on