歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix教程 >> 新手必讀(solaris基礎和常用知識二)

新手必讀(solaris基礎和常用知識二)

日期:2017/2/27 17:43:58   编辑:Unix教程

  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 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"
  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得到函數的調用時間,發現在一個線程中,增加一
  個printf後,調用時間為5毫秒。去掉這個printf,調用時間卻為15毫秒。增加
  了一個printf為什麼後使該函數的執行更快了?
  A: ftime 得到系統當前時間,但具體到線程的執行時間,是和系統的調度情況有關
  的, 請用調試工具來檢查准確的執行時間.
  
  71 Q: 我們的技術支持人員遇到一個問題,向您請教:在安裝時沒有選擇安裝網絡,
  現在需要安裝網絡,怎樣增加一個interface。目前只有lo0,沒有hme0。
  A: 在 /etc 下 touch 一個空文件 hostname.hme0, 用 boot -r 命令重起.
  
  72 Q: 在Sun Ultra 5工作站(安裝SOLARIS 2.6),每次開機時,都出現以下問題:
  Restoring the system.Please Wait ... cpr_read_bitmap:Can't
  cpr_alloc bitmap0
  Can't read statefile bitmap,please reboot
  Program terminated
  {0} OK
  
  每次開機都需要boot才能進入。
  請問如何解決?
  A: 首先, 在 o
Copyright © Linux教程網 All Rights Reserved