Solaris 基础知识

(编辑:jimmy 日期: 2024/12/25 浏览:2)

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,此光盘专门用于解决
       此问题.
 

  上一页12 下一页 阅读全文