服务器 频道

solaris基础和常用知识FAQ下篇

  【IT168 服务器学院】86 Q: 我希望在一台ultra机器为以下网络配置路由
  子网:10.1.0.0
  掩码:255.255.0.0
  网关:10.220.10.113
  应该如何配置?
  用以下命令可以吗?如果永久配置需要修改那些文件?
  %route add 10.1.0.0 10.220.10.113
  A: no,try this commond:
  #route add default 10.220.10.113
  
  87 Q: 有个patch 107311-09,能解决CC4.2不能处理#pragma pack()的问题吗?
  A: the right patch is 104631, but you should add all related patch
  to avoid other problem,find them at: sunsolve.sun.com
  
  88 Q: 在CSH下我输入以下命令?
  $setenv IWAVE ''pwd''
  $echo $IWAVE
  结果显示为:pwd
  在我的理解中应该是将pwd的输出(如/tmp)赋值给变量IWAVE,所以我想象的
  输出是/tmp
  A: use ` instead '' apparently,they are different. read some unix books
  for reference
  
  89 Q: 为什么有时普通用户不能登录CDE?
  A: 这个错误可能是由于CDE的不正确设置造成的。在每一个用户的home目录下有一
  个.dt子目录.在此目录下有一个errorlog文件记录了CDE登录失败的原因.查
  看此文件可以找到失败的原因.一个可行的方法是:使用root登录并且删除对
  应用户home目录下的.dt目录,同时可以删除<home>/.dtprofile文件, 然后使用
  用户口令登录即可.外检查/usr/dt/bin/dtsessoin的使用权限.正确的权限应
  当是-r-sr-xr-x
  
  90 Q: 关于Solaris8上DHCP的配置问题安装Solaris8后,进程dhcpagent的CPU占用率一
  直都超过88%, 请问有什么方法可以解决.谢谢.
  A: I solve this program by going to the field sit.
  The update period parameter can not be set longer than 2 weeks in the
  DHCP server side.
  
  91 Q(1)能否在Ultra60上只安装64位的Solaris8?
  (2) Solaris8安装在Ultra60上,内核是32位还是64位?
  (3)在其上安装的Oracle 8是安装的32位版本还是64位版本?
  A: Solaris8 的内核是64位的, 但是,它同时带有32位程序的解释器,也就是说32位
  的程序也可以在Solaris8上面运行。事实上Solaris8上面有一些系统命令就是
  32位的程序,如link等。所有的Solaris8都是64位的,但是都带有32位的解释
  器。(就现在的情况而言,32位的解释器是必 须的)。在Solairs 8上面运行
  的应用程序可以是64位,也可以是32位的,包括Oracle 8在内
  
  92 Q: 很感谢你的答复。原来不能创建用户的原因应该是文件系统已满,我删除了一
  些用户账号后,创建正常。现在的问题是c0d0t0s0文件系统的容量太小,现在
  已经达到100%,如何扩展这个文件系统,是否只有重装系统这一个办法?
  A: 在系统安装时,各个分区划分的有些不太合理。/ 目录和 /usr 太小
  /export/home和/tmp 太大。实际上在安装时,比较合理的办法是只设置 / 和
  /tmp,/tmp最多 500M即可。然后在 / 上面建立/usr,/opt 和/export/home。
  现在补救的办法是利用软link的办法:首先将一些在/或/usr中不太是系统直接
  使用的目录(一定不可以包含/usr/sbin,/sbin, /etc,等等)转移到有空间的分
  区上面,然后使用ln建立软连接。关于ln的使用可以man.这种办法是不得已而
  为之。不是很好把握,搞不好就会死机,并且启动不起来。所以在进行此项活
  动时,首先要备份数据,以免发生以上情况时丢失。如果您在下午下班的时间
  可以抽出一点时间,最好还是将系统重新安装一遍的好。因为,每一个目录都
  有一定的用意,一些软件的安装不是地方会让人感到很别扭。而使用软连接又
  会降低系统的运行速度。
  
  93 Q: 求助--请教一个多线程编程问题。关于我们发现的问题具体现象如下:
  函数 void* A(void *pInput)
  {
  char szBuf[30000]; //this buffer maybe larger than 30,000
  ...
  ...
  }
  在多线程程序中,该函数在main中运行(此时相当于在主线程中运行)正常。
  如果使用pthread_create创建一个线程,以A作为线程入口函数,用内存测试工
  具purify可以观察到该线程运行过程中出现Beyond Stack Read、Beyond Stack
  Write错误。如果把szBuf改为堆中分配的内存,则无此问题。据此,我们判断
  是线程的栈空间溢出造成该问题。按资料描述,主线程的缺省栈空间大小为8M
  ,子线程缺省栈空间为2M;我们使用pthread_attr_setstack函数将子线程的栈
  空间设置为8M,但仍未解决问题。后又将线程属 性设置为
  PTHREAD_SCOPE_SYSTEM, 问题仍然存在。函数A以静态库方式由第三方提供,
  我们现需要使之在一个子线程中运行,因此希望能够提供主线程与子线程差异
  的资料,除堆栈空间、调度方式外,是否还有其他差别,造成以上错误的发生
  A: In fact, there is no problem in the program. I think there is a bug
  in their debug tool: purify. You can use dbx to debug your program.
  
  94 Q: 请问一块硬盘上可以有两个Solaris分区吗?在一块硬盘上分了两个solaris分
  区,一个是active的系统安装分区,另一个是后来用fdisk创建的,请问怎样把
  第二个分区加入到solaris系统中使用。谢谢。
  A: Yes, There can be up to six partitions in a disk. you can see the
  partition using utility format. Command list:
  #format
  Then you will see the disks installed in you system.then select the
  disks you are interested in. then print "partition" and then "print"
  to see the partition information. The partition you want to add to
  the system can be identified as c#t#d#s#. Make sure the mount point(
  a empty directory in file system). such as /disk1.then run the
  command:
  #mount /dev/dsk/c#t#d#s# /disk1
  
  run the command
  #df -k
  to verify the slice(partition) is properly installed.
  
  95 Q: 请问在Solaris 2.7上,可以动态改变分区大小吗? 我的工作站划分分区不合理,
  根分区太小,已经满了,可以使用工具动态改变吗?
  A: No, If you want to modify it, the whole disk data will be lost.
  In fact, I think it high time for you to re-instal the solaris
  system. In the new installation. You really need just two partitions
  swap and root. Leave no more than 1G to swap partition and all the
  left to root.Don''t forget to backup all you data before re-installation.
  
  96 Q: 用CC编译器如何实现结构成员按字节对齐,类似于其他编译器的#pragma pack(1)
  功能。
  A: It is a standard compilation option(#pragma pack). It is also
  supported in Solaris C.You can get documents about SC options from
  http://sunlibray under workshop directory.
  
  97 Q: 为什么SUN的本地界面有时候会出现死掉的情况,此时kill掉用户的dtsession
  是否就可以恢复正常。如不能恢复正常还需要做那些操作。
  A: In my experince, the interface dying, may be caused by other
  application other than dtsession. You should determine which
  program''s interface causes the interface dying. This situation is not
  often happens, and most of them happened when you are manipulating a
  program''s interface by mouse. When it happen, login the system from
  network as "root" or the account which cause the dying, kill the
  program.
  
  98 Q: 系统不能启动, 任何二级目录都没有了,但用户下,所有命令都不能用,怎么
  安装Solaris,能直接从光盘启动吗?
  A: You harddisk is damaged. It may be salvaged manually, or can not.
  You should restall the system. Or even worse, you should change your
  harddisk.
  
  99 Q: Can you tell me if I want to add a new CPU chip to a only one CPU
  chip machine on solaris system,Can the application run continually in
  the old cpu chip without interruption on solaris system ?
  A: Please tell me the machine''s type. If your machine is a workstation.
  CPU chips can not be added without turning down the power. I don''t
  know so much in this field. But, I have forwarded this message to the
  specitest in our company. You will get much more detailed answers.
  But you should wait several days. Another way for you is to consult
  the vender who sell you the machine directly.
  
  100 Q: what''s deference between the processor_bind() and pset_bind()?
  A: You can get the differences between two functions by seeing the
  manual:
  # man processor_bind
  # man pset_bind
  
0
相关文章