2 solaris基础和常用知识( 二 )


和 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 analysis 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"

推荐阅读