当前位置:操作系统 > Unix/Linux >>

新手必读(solaris基础和常用知识二)

51 Q: 一个进程里最多可以打开多少文件?

  A: 操作系统为每个进程维护一个所打开文件的数组,进程能够打开的文件与此数组

  的大小有关.此数组的大小由两个系统变量限制: rlim_fd_max , rlim_fd_cur,

  这两个变量可以用limit或ulimit 命令察看和修改,要扩大rlim_fd_max需要

  root权限,rlim_fd_cur不能超过rlim_fd_max. 编程时则有库函数 getrlimit

  和 setrlimit 可以使用. 另外一种改法是在 /etc/system文件中修改. 如果是

  调用stdio函数打开文件,则还有另外一种限制,32位内核Solaris 的 FILE 结构

  中的 文件句柄是一个字节,所以同时打开文件的上限是256

  52 Q: 如何改变登录CDE时的语言环境?

  A: 修改/usr/dt/config/Xconfig文件中的变量 Dtlogin*language即可.

  53 Q: 如何防止用户通过CDE 环境中的 suspend 菜单关闭计算机?

  A: 修改 /usr/openwin/bin/sys-suspend的执行权限就可以了.

  54 Q: 我安装完solaris5.7之后(安装时选择简体中文),运行C语言编译器cc不成功

  ,提示“language optional software package not installed.”。请问这是

  怎么回事,该如何解决?

  A: Solaris本身带有adb,mdb,make工具,但不带C语言编译器.若要使用需要单独购

  买软件包及license.

  55 Q: 想修改ROOT的缺省PATH,在哪改?不要告诉我LOCAL.PROFILE,不管用.

  A: 如果以root用户身份登录或者用 su - 命令进行切换,则修改 home目录下

  .profile是管用的. 如果是简单的 用 su 进行切换, 则系统保留除 PATH之外

  的所有环境变量, PATH被设为 /etc/default/su 中的 SUPATH ,缺省时为

  /usr/sbin:/usr/bin

  56 Q: 问一下,现在在Solaris下有什么比较好的测试程序语句以及条件覆盖率的工具

  A: prof 和 gprof 都有. 如果您使用workshop 或者 Forte 6.0,则其中有

  performence 易做图ysis tools 可以使用.

  57 Q: 怎么样让系统启动时就自动在一个网卡上绑定两个IP地址

  A: 创建文件 /etc/hostname.hme0:1,其中写上第二个ip地址.

  58 Q: Sun solaris7系统中有一下几种SHELL,sh,csh,ksh,另外还有一个jsh.

  我的问题是:jsh是什麽SHELL?另外有bash SHELL吗?

  A: jsh 就是 sh, 只不过是激活了job control 模式. 但现在 sh 本身就有job

  control 功能,所以只用 sh 就可以了. bash 是 sh 的增强, 如果你的系统没

  有这个shell, 可以到 www.sunfreeware.com 下载.

  ls /bin/*sh 可以看到系统所有存在的shell.

  59 Q: 我的光驱无法读取光盘?且总是显示设备忙,如何搞定?mount显示没有被

  mount.

  A: 查找进程 vold 并将其杀死,就可以手工打开光驱.

  60 Q: 如何将root用户的shell改掉,我知道一般用户可在admintool下修改,但root

  用户不能。

  A: 1. chmod 666 /etc/passwd (一定要让普通用户有些权限,切记!)

  2. vi /etc/passwd(最后一个字段试root 的 shell,要确保该程序存在方可改

  掉它. )

  61 Q: 我在安装Solaris 8时启用了DHCP,现在我的主机名是unknown,在启动时工作

  站启用DHCP并分配IP,主机名也自动改为unknow。请问怎样改主机名?

  A: DHCP in Solaris8

  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

  62 Q: 我用msgget建一消息队列:

  ret = msgget(IPC_PRIVATE, (0660)|IPC_CREAT);

  在一个线程用msgsnd发消息,另一个msgrcv收:

  ulReturnCode = msgsnd( QueueID, pBufferAddr, 8 ,IPC_NOWAIT);

  当消息队列中的消息个数等于40时(每个消息尺寸为8字节),msgsnd函数返

  回-1,errno= 11,请问是什么原因。是消息队列满吗?怎样调整系统参数,使

  消息队列能大些。

  A: msgmap : 100 maximum size of resource map for messages

  msgmax : 2048 maximum size ,in byte, of a massages

  msgmnb: 4096 maximum number of bytes on a message queue.

  msgmni: 50 maximum size of message queue identifiers.

  msgssi: 8 message segment size.

  msgtql: 40 maximum number of message headers

  msgseg: 1024 maximum number of message segments.

  msgseg 最大为 32k, 其他参数最大值都是 2 billion.

  63 Q: license server 如何启动?

  A: run /opt/SUNWste/bin/lmgrd.ste 可启动 license server

  64 Q: 在Solaris8下,如何修改一个目录的大小。安装时系统自动的设置

  /export/home目录空间很大,而其他目录空间很小。

  A: 1, 备份 /export/home,

  2. umount /export/home,

  3. 用 format 修改盘片大小,

  4. 备份要增大的目录,

  5, umount

  5. 用 format 增加盘片大小.

  6. 重新mount.

  65 Q: 请问用什么命令可以确定是否有磁带设备?多谢。

  A: 看一下 /dev/rmt 如果是空就没有.

  .

  66 Q: 在solaris 8下安装Forte Developer 6 到达:

  installing Forte C++ Entep Ed 6/SPARC

  installing Forte Developer 6

  时死掉应如何解决

  A: 在安装之前,应当清除所有以前安装时添加进系统的package.

  另外,不用缺省目录 /opt , 换一个新建的空目录也有效.

  67 Q: Forte c/c++版本可以用在solaris2.6操作系统上吗?

  A: 可以

  68 Q: 在输入用户名后启动很慢,有时甚至进不了,停在启动画面,不知如何解决(我用

  过fsck,也不好使,有没有更好的办法)!能否重装操作系统,而不影响现有的已装

  软件.谢谢!

  A: 一般说来, 这与家目录下配置文件有关.新建一个用户试一试.

  69 Q: 现在远程维护的解决方式是通过Modem拨号,建立连接,通过我们自己编写的IP

  代理转发程序,完成对传输设备远程维护。在PC机上的拨号网络,拨号程序运

  行都比较正常,对连接速度,稳定性方面目前使用还算可以。但是在设置Sun工

  作站的拨号程序的时候,我常常会遇到一些“奇怪”的问题, 比如Modem不握

  手,没有拨号音等。现在我们的拨号设置是自己编写的脚本文件方式。可能对

  各种情况考虑的不全面,因此请问是否有相应的软件包(程序)可以帮助我们

  机型拨号设置,保证拨号成功?

  A. 连接失败通常与配置参数有关,由于硬件种类繁多,很难保证一个程序在所有的

  硬件环境下都能顺利配置成功.我们只能针对具体情况进行分析.但我们发现,改

  变串口的流倥方式经常有助于问题的解决.Sun solstice 中有一个拨号软件据

  说比aspppd 更容易使用,我没有用过,或许您愿意试一试?

  70 Q: 我这多线程程序,我用ftime得到
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,