日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Solaris中文FAQ

發(fā)布時(shí)間:2024/1/8 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Solaris中文FAQ 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近花了一些時(shí)間在寫Solaris中文FAQ,現(xiàn)在補(bǔ)充的差不多,總共有60多條,涵蓋了新手以及一些我們常見的問題。基本上我的補(bǔ)充告了一個(gè)段落,復(fù)制一份在此,作為一個(gè)milestone。

首先感謝 oliver, 他先開始了這個(gè)項(xiàng)目,并是主要的創(chuàng)作者。用wiki的方式來維護(hù)FAQ,非常合適,一個(gè)很好點(diǎn)子。 同時(shí)也歡迎大家一同創(chuàng)作,和大家分享使用Solaris的經(jīng)驗(yàn)和技巧。




OpenSolaris/Solaris中文FAQ

Wikipedia,自由的百科全書

維護(hù)者: oliver laoeyu?


本文來自: OpenSolaris中國社區(qū)

URL: Solaris中文FAQ

聲明: 本文可自由拷貝、分發(fā)、修改及再創(chuàng)作;

任何問題/回答/建議/勘誤請(qǐng)mail至討論組以幫助和回饋社區(qū);

討論組: opensolaris-chinese-faq AT googlegroups.com

注:

  • 本文檔只覆蓋Solaris 9及以后的平臺(tái)上的常見問題
  • S9/10/11 分別對(duì)應(yīng)目前Solaris的發(fā)行版本9/10/11
  • x86/x32/x64/Sparc 分別對(duì)應(yīng)x86包括32和64位/IA32專有/AMD64或EMT64位專有/Sparc等特定平臺(tái)

  • 目錄

    [隱藏]
    • 1 一般討論
      • 1.1 OpenSolaris和Solaris的區(qū)別?
      • 1.2 Solaris有那些主要版本?
      • 1.3 Sun OS和Solaris有什么區(qū)別?
      • 1.4 OpenSolaris的版本有哪些?
      • 1.5 OpenSolaris是GPL的嗎?
      • 1.6 學(xué)習(xí)OpenSolaris/Solaris有哪些可用的資源?
    • 2 系統(tǒng)安裝
      • 2.1 如何得到和安裝Solaris?
      • 2.2 安裝Solaris對(duì)硬件有什么要求?
      • 2.3 安裝Solaris X86不能識(shí)別網(wǎng)卡怎么辦?
      • 2.4 安裝Solaris X86不能識(shí)別聲卡怎么辦?
      • 2.5 如何讓安裝一個(gè)Solaris/Windows XP/Linux共存的操作系統(tǒng)?
      • 2.6 VMware 5.5版本上,Solaris安裝停止在skipped interface pcn0就不動(dòng)了?
      • 2.7 安裝后,顯示分辨率太低,如何調(diào)整分辨率啊?
    • 3 使用/管理/配置
      • 3.1 Solaris下有PDF閱讀器嗎?
      • 3.2 Solaris有電子詞典嗎?
      • 3.3 如何查看OpenSolaris/Solaris的版本信息?
      • 3.4 如何查看系統(tǒng)內(nèi)核是32位的還是64位的?
      • 3.5 如何查看系統(tǒng)中CPU的數(shù)目?
      • 3.6 為什么不能在/home下創(chuàng)建目錄?
      • 3.7 如何查看solaris下安裝了有幾塊硬盤?
      • 3.8 如何在Solaris下使用USB存儲(chǔ)設(shè)備?
      • 3.9 如何察看Solaris系統(tǒng)的內(nèi)存大小及使用情況?
      • 3.10 如何修改主機(jī)名?
      • 3.11 如何修改IP地址?
      • 3.12 DNS客戶端的設(shè)置
      • 3.13 DHCP客戶端設(shè)置
      • 3.14 網(wǎng)絡(luò)配置生效的問題
      • 3.15 Solaris下如何修改mac地址?
      • 3.16 Solaris下如何給機(jī)器添加一個(gè)新硬件?
      • 3.17 忘記了root密碼,如何解決?
      • 3.18 使用FTP時(shí),不能以root用戶登錄系統(tǒng),應(yīng)修改什么配置文件?
      • 3.19 使用Telnet時(shí),不能以root用戶登錄系統(tǒng),應(yīng)修改什么配置文件?
      • 3.20 Solaris下如何修改網(wǎng)卡的傳輸模式呢?
      • 3.21 如何使用串口做系統(tǒng)控制臺(tái)?
      • 3.22 /目錄的空間滿了,怎么擴(kuò)容?
      • 3.23 Solaris如何設(shè)置ADSL撥號(hào)上網(wǎng)?
      • 3.24 怎么讓Solaris默認(rèn)不啟動(dòng)X window?
      • 3.25 如何mount上文件系統(tǒng)為FAT32/PCFS/DOS的硬盤
      • 3.26 如何檢查硬盤壞道
      • 3.27 如何刻錄光盤?
      • 3.28 如何制作光盤鏡像iso文件?
      • 3.29 如何虛擬光驅(qū),讀取iso中的文件
      • 3.30 重裝 Windows后Grub失效,如何重新安裝Grub
      • 3.31 bootblk損壞,如何修復(fù)
      • 3.32 如何添加用戶
      • 3.33 如何設(shè)置Shell環(huán)境變量
      • 3.34 Shell的配置文件和讀取順序
      • 3.35 如何安裝軟件包軟(Package)?
      • 3.36 如何打Patch?
      • 3.37 如何打開壓縮的文件?
      • 3.38 如何去掉文本中^M?
      • 3.39 如何運(yùn)行Linux下的程序?
    • 4 常用軟件使用
      • 4.1 常用軟件下載
      • 4.2 Solaris軟件下載站點(diǎn)
    • 5 應(yīng)用程序開發(fā)
      • 5.1 Solaris下如何安裝gcc編譯器?
      • 5.2 Solaris下cc為什么不能用?
      • 5.3 在Solaris下編譯socket程序時(shí)發(fā)生“符號(hào)參照錯(cuò)誤”提示?
      • 5.4 Python在Solaris下是默認(rèn)安裝的嗎?
      • 5.5 如何修改文件描述符限制?
    • 6 內(nèi)核和驅(qū)動(dòng)程序開發(fā)
      • 6.1 Solaris是微內(nèi)核操作系統(tǒng)嗎?
      • 6.2 Solaris上有什么樣的內(nèi)核級(jí)調(diào)試器?
      • 6.3 哪里可以找到Solaris下的usb驅(qū)動(dòng)程序的開發(fā)資料?
      • 6.4 Solaris默認(rèn)內(nèi)核棧大小是多少?
      • 6.5 OpenSolaris的內(nèi)核源碼中的assert()函數(shù)起什么作用?

    <script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "顯示"; var tocHideText = "隱藏"; showTocToggle(); } </script>

    [ 編輯]

    一般討論

    [ 編輯]

    OpenSolaris和Solaris的區(qū)別?

    簡(jiǎn)單說,所以O(shè)penSolaris是一個(gè)的開源項(xiàng)目,而Solaris是Sun公司的基于OpenSolaris推出的一個(gè)自己的產(chǎn)品。

    Solaris和OpenSolaris的關(guān)系和Redhat和Linux的是類似的。

    OpenSolaris是一個(gè)開源項(xiàng)目包括了以CDDL為L(zhǎng)icense的OpenSolaris代碼,OpenSolaris開發(fā)組織, 還有OpenSolaris網(wǎng)站。 而Solaris操作系統(tǒng)是Sun公司的一個(gè)產(chǎn)品,Solaris從Solaris 10(2005)后的以后版本都將基于OpenSolaris的代碼和技術(shù)。Solaris也是免費(fèi)下載,Sun公司提供相應(yīng)的service packages和regular updates。

    [ 編輯]

    Solaris有那些主要版本?

    Solaris最新正式版本是10。以前的還有2.5/2.6/7/8/9等。

    類似于Windows的Service pack,Sun還會(huì)定期推出基于主板本之上的Update版本。例如,Solaris 10的第一個(gè)Update版本是Solaris 10 update 1。

    Solaris按支持平臺(tái)可分為x86和Sparc版本,其中x86版本支持32位和64位。Sparc也有32(較早的機(jī)器)和64位之分。

    Sun公司還推出Solaris Enterprise System。Solaris Enterprise System是一個(gè)免費(fèi)企業(yè)級(jí)解決方案套件:除了包含Solaris 10,還有Java Enterprise System,開發(fā)工具(Sun Studio, Netbeans, Sun Java Studio Creator, Sun Java Studio Enterprise), 桌面軟件和N1管理軟件。

    目前Solaris開發(fā)版本是11,項(xiàng)目代號(hào)是Nevada,(美國西部?jī)?nèi)陸州-內(nèi)華達(dá)州)。

    每月5號(hào),Sun會(huì)發(fā)布一個(gè)當(dāng)前Solaris開發(fā)版本叫做Solaris Express。目前的Solaris Express來自于Solaris 11最新的較穩(wěn)定的版本,其中包含了Solaris最新的功能和特性。該產(chǎn)品主要針對(duì)合作伙伴、開發(fā)者和希望使用最新技術(shù)的用戶。Sun公司也對(duì)該產(chǎn)品提 供一定支持。

    Solaris Nevada的核心部分,ON(即OS&Network)和JDS(Java Desktop System)也作為OpenSolaris開放,目前OpenSolaris和Nevada的代碼保持同步。

    OpenSolaris也出現(xiàn)了很多衍生版本,如Polaris、Nexenta、Schillix和Belenix。其中Polaris已經(jīng)支持了IBM的PowerPC平臺(tái)。

    [ 編輯]

    Sun OS和Solaris有什么區(qū)別?

    簡(jiǎn)單得說,Sun OS是Solaris的其中一個(gè)部分。
    Solaris是SOE - Solaris Operating Environment的縮寫,它包括以下主要部件:

    1.SunOS - 系統(tǒng)內(nèi)核 (版本號(hào)是5.x)
    2.Windowing - 桌面環(huán)境JDS/CDE
    [ 編輯]

    OpenSolaris的版本有哪些?

    OpenSolaris出現(xiàn)了很多衍生版本,如Polaris、Nexenta、Schillix和Belenix。其中Polaris已經(jīng)支持了IBM的PowerPC平臺(tái)。

    [ 編輯]

    OpenSolaris是GPL的嗎?

    OpenSolaris和GNU/Linux不同,它是以CDDL License發(fā)布的。
    CDDL是一種新的Open Source的License,與GPL相比,它的條款更寬松,更具有優(yōu)越性。
    關(guān)于CDDL的細(xì)節(jié),你可以訪問:CDDL License FAQ

    [ 編輯]

    學(xué)習(xí)OpenSolaris/Solaris有哪些可用的資源?

    OpenSolaris中文wiki社區(qū)有專門的文檔項(xiàng)目來收錄OpenSolaris學(xué)習(xí)和研究的相關(guān)資源:

    http://wiki.gceclub.sun.com.cn/index.php/Opensolaris_resource

    [ 編輯]

    系統(tǒng)安裝

    [ 編輯]

    如何得到和安裝Solaris?

    Sun的官方站點(diǎn)提供Solaris 10 免費(fèi)下載,有DVD和CD格式:http://www.sun.com/software/solaris/get.jsp (服務(wù)器在國外), 需要Sun Online Account賬號(hào)(免費(fèi)注冊(cè))。

    Sun的中國技術(shù)社區(qū)gceclub也提供Solaris 10 免費(fèi)下載: http://gceclub.sun.com.cn/download.html (服務(wù)器在國內(nèi)),需要gceclub Account賬號(hào)(免費(fèi)注冊(cè))。

    安裝方法參考這個(gè)網(wǎng)頁http://blog.gceclub.sun.com.cn/index.php?op=ViewArticle&articleId=121&blogId=4 你可以選擇中文安裝。

    [ 編輯]

    安裝Solaris對(duì)硬件有什么要求?

    Solaris 10的對(duì)硬件配置最低標(biāo)準(zhǔn)是:

    256MB的內(nèi)存 (如果使用PXE啟動(dòng),需要512MB)

    2G的硬盤空間

    120MHZ的X86(X64)的芯片或者250MHZ的SPARC芯片

    DVD或者CD-ROM驅(qū)動(dòng)器


    [ 編輯]

    安裝Solaris X86不能識(shí)別網(wǎng)卡怎么辦?

    1.確認(rèn)你的網(wǎng)卡型號(hào),從而得到網(wǎng)卡的vendor id:

    主板/硬件手冊(cè)或者windows設(shè)備管理器都能得到設(shè)備的廠商名稱,然后到PCI設(shè)備的數(shù)據(jù)庫去搜索相應(yīng)的vendor id。

    推薦站點(diǎn):http://pci-ids.ucw.cz

    2.通過vendorid確認(rèn)網(wǎng)卡的devide id:

    # prtconf -vp | grep <網(wǎng)卡的vendor id>

    得到可能的devideid后到PCI設(shè)備的數(shù)據(jù)庫得到準(zhǔn)確的設(shè)備型號(hào)。

    推薦站點(diǎn):http://pci-ids.ucw.cz/


    3.確認(rèn)vendorid和deviceid后,嘗試Solaris系統(tǒng)自帶的驅(qū)動(dòng)

    尋找和系統(tǒng)內(nèi)和自己device id近似的驅(qū)動(dòng)名:

    # grep vendorid /etc/driver_aliases

    需要確認(rèn)設(shè)備的廠商和型號(hào)是否與找到的驅(qū)動(dòng)相近,可以再次利用PCI設(shè)備的數(shù)據(jù)庫。

    如果可以確認(rèn),可以嘗試加載該驅(qū)動(dòng):

    # devfsadm
    # add_drv -i '"vendorid,deviceid"' <驅(qū)動(dòng)名>


    4.尋找其它網(wǎng)卡驅(qū)動(dòng)

    1) 第三方網(wǎng)卡驅(qū)動(dòng)列表:http://homepage2.nifty.com/mrym3/taiyodo/eng/index.htm
    2)HCL的network列表:http://www.sun.com/bigadmin/hcl/data/sol/
    3) 網(wǎng)卡廠家的網(wǎng)站。例如,Broadcom的網(wǎng)站就有其Solaris平臺(tái)的驅(qū)動(dòng)下載
    4) Solaris x86驅(qū)動(dòng)的資源:http://solaris-x86.org/software/drivers/
    5)Sun DryDog參考:http://www.sun.drydog.com/faq/6.html#6.7
    6) Google
    7) 發(fā)郵件到OpenSolaris社區(qū)求助,最好提供prtconf -vp的輸出和具體網(wǎng)卡型號(hào)

    [ 編輯]

    安裝Solaris X86不能識(shí)別聲卡怎么辦?

    1.確定你的聲卡型號(hào):通過主板/硬件手冊(cè)或者windows設(shè)備管理器。

    2.Solaris10目前支持audioi810和audiovia823x:

    audioi810:主板集成AC97的音頻控制器,包括Intel ICH/ICH0/ICH2/ICH4/ICH5芯片組(i810/i815/i845e/i850/i855pm/i865/440mx)或者兼容芯片 組(nVidia nForce MCP, SiS7012, AMD-768, AMD-8111).

    audiovia823x:主板集成AC97音頻控制器,包括VIA芯片組(VT8233/VT8235,Apollo KT266/ KT266A, Apollo Pro266/ Pro266T).

    目前可自動(dòng)識(shí)別的vendorid,deviceid如下:

    # grep audio810 /etc/driver_aliases
    audio810 "pci1022,746d"
    audio810 "pci8086,2485"
    audio810 "pci8086,24c5"
    audio810 "pci8086,24d5"
    audio810 "pci8086,266e"
    audio810 "pci10de,6a"
    audio810 "pci10de,da"
    audio810 "pci10de,ea"
    audio810 "pci10de,59"
    # grep audiovia823x /etc/driver_aliases
    audiovia823x "pci1106,3059"

    如果你的聲卡屬于audioi810和audiovia823x類型,但是沒有自動(dòng)被識(shí)別出來,則可以通過prtconf -vp找到聲卡的vendorid,deviceid,然后嘗試以下命令:

    # devfsadm
    # add_drv -i '"vendorid,deviceid"' <audio810|audiovia823x>

    3.尋找其它聲卡驅(qū)動(dòng)

    如果不屬于udioi810和audiovia823x,請(qǐng)查看第三方驅(qū)動(dòng):

    1) 第三方聲卡驅(qū)動(dòng)列表:http://www.tools.de/solaris/audio/beta/
    2)HCL的聲卡列表:http://www.sun.com/bigadmin/hcl/data/sol/
    3) Solaris x86驅(qū)動(dòng)的資源:http://solaris-x86.org/software/drivers/
    4)Sun DryDog參考:http://www.sun.drydog.com/faq/6.html#6.7
    5) Google
    6) 發(fā)郵件到OpenSolaris社區(qū)求助,最好提供prtconf -vp的輸出和具體網(wǎng)卡型號(hào)

    [ 編輯]

    如何讓安裝一個(gè)Solaris/Windows XP/Linux共存的操作系統(tǒng)?

    1.安裝Windows XP

    2.安裝Linux

    安裝完Linux后,Grub一般都會(huì)自動(dòng)設(shè)置好啟動(dòng)選項(xiàng),達(dá)到Windows和Linux雙系統(tǒng)。 察看/boot/grub/menu.lst,找到啟動(dòng)Linux的幾行配置,類似如下:

    title Ubuntu, kernel 2.6.12-10-386
    root (hd0,1)
    kernel /vmlinuz-2.6.12-10-386 root=/dev/hda3 ro quiet
    initrd /initrd.img-2.6.12-10-386]]

    記下這幾行

    3.安裝Solaris 10 1/06 x86

    Soalris 10 1/06也用grub引導(dǎo),但安裝好后自動(dòng)的配置只有Solaris和Windows的選項(xiàng),不能引Linux,需手工修改grub的配置文件。

    4.修改grub的配置文件

    進(jìn)入Soalris系統(tǒng),編輯/boot/grub/menu.lst,將第3步中記下的幾行加入,保存。 重新啟動(dòng),grub即可引導(dǎo)Solaris,Linux和WindowsXP。


    參考于Multi-Booting the Solaris 10 OS, Linux, and Microsoft Windows on a Laptop

    [ 編輯]

    VMware 5.5版本上,Solaris安裝停止在skipped interface pcn0就不動(dòng)了?

    [x86]: 大概是Solaris顯卡檢測(cè)的問題,引導(dǎo)的時(shí)候,安裝方式那里選擇文本方式安裝即可。

    [ 編輯]

    安裝后,顯示分辨率太低,如何調(diào)整分辨率啊?

    [X86] 可以使用kdmconfig. 如果你不熟悉Xorg的Xserver,你可以選擇使用Xsun,接著該命令會(huì)引導(dǎo)你設(shè)置顯卡,分辨率等。 Xorg的Xserver,就需要你另外配置xorg.conf或者通過使用xorgconfig命令來配置。

    [ 編輯]

    使用/管理/配置

    [ 編輯]

    Solaris下有PDF閱讀器嗎?

    Solaris Express on sparc集成了Acrobat Reader,但是最新的Acrobat Reader目前不支持Solaris x86。

    不過有一個(gè)4.05版 可以在Solaris x86上,看一般的PDF文檔和中文都沒有問題:

    http://download.adobe.com/pub/adobe/acrobatreader/unix/4.x/sunx86-ar-405.tar.gz

    http://download.adobe.com/pub/adobe/acrobatreader/unix/4.x/chsfont.tar.gz


    [ 編輯]

    Solaris有電子詞典嗎?

    如果有SUNWstardict,就運(yùn)行:

    /usr/bin/stardict

    更多中文詞典:http://stardict.sourceforge.net/Dictionaries_zh_CN.php

    [ 編輯]

    如何查看OpenSolaris/Solaris的版本信息?

    通常的“uname -a"命令就可以知道Solaris的版本:
    想知道是哪一個(gè)Solaris Update版本,可以查看/etc/release文件。
    對(duì)于曾經(jīng)使用過Opensolaris的BFU升級(jí)的用戶,應(yīng)該查看/etc/motd文件。


    [ 編輯]

    如何查看系統(tǒng)內(nèi)核是32位的還是64位的?

    isainfo -b


    [ 編輯]

    如何查看系統(tǒng)中CPU的數(shù)目?

    用psrinfo(1M)就可以查看。由于多內(nèi)核/多線程技術(shù)的廣泛采用,要查出物理CPU的數(shù)目可以使用-vp參數(shù),例如:

    # psrinfo -vp
    The physical processor has 32 virtual processors (0-31)
    UltraSPARC-T1 (cpuid 0 clock 1000 MHz)

    UltraSPARC-T1的CPU共有8內(nèi)核,每?jī)?nèi)核4個(gè)線程,因此如果單用-v參數(shù)看到的CPU數(shù)目是32個(gè),而不是1個(gè)。


    [ 編輯]

    為什么不能在/home下創(chuàng)建目錄?

    Solaris的用戶目錄應(yīng)該創(chuàng)建在/export/home下,不建議直接使用/home。

    這是因?yàn)镾olaris的/home目錄是由automounter控制的,只有automounter可以在這個(gè)目錄下創(chuàng)建文件。如果不 希望automounter管理/home目錄,可以在刪除/etc/auto_master文件中包含"/home"的那行,并且運(yùn)行 automount -v讓設(shè)置生效,當(dāng)然reboot也可以。


    [ 編輯]

    如何查看solaris下安裝了有幾塊硬盤?

    format命令可以看有幾塊物理盤

    Searching for disks...done
    AVAILABLE DISK SELECTIONS:
    0. c0t0d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
    /pci@1f,4000/scsi@3/sd@0,0
    1. c0t1d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
    /pci@1f,4000/scsi@3/sd@1,0
    2. c0t2d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
    /pci@1f,4000/scsi@3/sd@2,0
    3. c0t3d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
    /pci@1f,4000/scsi@3/sd@3,0
    4. c2t0d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
    /pci@6,4000/scsi@4/sd@0,0
    5. c2t1d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
    /pci@6,4000/scsi@4/sd@1,0
    6. c2t2d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
    /pci@6,4000/scsi@4/sd@2,0
    Specify disk (enter its number): 0
    selecting c0t0d0
    [disk formatted]

    隨便選一個(gè)盤 再按Q退出就可以了


    [ 編輯]

    如何在Solaris下使用USB存儲(chǔ)設(shè)備?


    [S11|S10]: Solaris可以自動(dòng)檢測(cè)并mount USB存儲(chǔ)設(shè)備上的文件系統(tǒng),在CDE和JDS下會(huì)自動(dòng)在桌面上給出U盤的文件夾,不過要等一會(huì)兒,大概半分鐘的時(shí)間不到。

    如果系統(tǒng)沒有自動(dòng)識(shí)別,主要有以下2種情況:

    1.較早版本的Solaris的vold不能立即檢測(cè)熱插拔,需要重新啟動(dòng)vold才可以識(shí)別:

    將U盤插入U(xiǎn)SB口,再重新啟動(dòng)vold,vold會(huì)自動(dòng)mount usb設(shè)備:

    # /etc/init.d/volmgt stop
    # /etc/init.d/volmgt start

    /rmdisk/rmdisk0可能就是被mount上的U盤,如果不是,請(qǐng)依次檢查/rmdisk/rmdisk1,/rmdisk/rmdisk2...

    2.直接查詢?cè)O(shè)備路徑,mount該設(shè)備:

    如果該USB設(shè)備已經(jīng)存在文件系統(tǒng),且Solaris支持該文件系統(tǒng),可以直接mount該文件系統(tǒng)。 以FAT32文件系統(tǒng)為例,首先要了解USB設(shè)備的路徑:

    # rmformat
    Looking for devices...
    1. Logical Node: /dev/rdsk/c3t0d0p0
    Physical Node: /pci@0,0/pci1028,151@1d,7/storage@4/disk@0,0
    Connected Device: HTS42404 0M9AT00
    Device Type: Removable

    然后,直接mount該設(shè)備:

    # mount -F pcfs /dev/dsk/c3t0d0p0:c /mnt

    卸載U盤前,需要確保該mount目錄沒有正在使用:

    # umount /mnt
    # eject rmdisk0

    或者,

    # umount /mnt
    # eject /dev/rdsk/c3t0d0p0


    [ 編輯]

    如何察看Solaris系統(tǒng)的內(nèi)存大小及使用情況?

    [S9|S10|S11]: 看物理內(nèi)存用prtconf,在x86和sparc都通用的:

    # prtconf -vp | grep Mem
    Memory size: 2047 Megabytes

    再有就是vmstat了:

    # vmstat 1

    看vmstat的輸出時(shí),從第2行開始看,如果sr列數(shù)值比較大,就表明內(nèi)存緊張。

    Solaris 9開始,可以使用mdb來查看內(nèi)存:

    # echo?::memstat | mdb -k

    如需要看具體那個(gè)進(jìn)程占用內(nèi)存的情況可以使用:prstat -a 另外還有GNU的top命令(top需要從www.sunfreeware.com上下載安裝)

    [S8]:Solaris 8的mdb命令沒有::memstat命令,需要從www.solarisinternals.com下載,然后運(yùn)行如下命令裝入::memstat:

    # mdb -k
    >::load memory
    >::memstat

    就可以看你真實(shí)的物理內(nèi)存的占用情況了。


    [ 編輯]

    如何修改主機(jī)名?

    新手可以使用sys-unconfig

    也可以修改以下文件:

    /etc/inet/hosts
    /etc/hostname.xxx(xxx代表你的網(wǎng)卡的名稱)
    /etc/nodename
    /etc/inet/ipnodes(ipv6協(xié)議使用的主機(jī)文件)

    然后重新啟動(dòng)即可。


    [ 編輯]

    如何修改IP地址?

    新手可以使用sys-unconfig

    也可以修改以下文件:

    /etc/hosts
    /etc/hostname.xxx
    /etc/defaultrouter(默認(rèn)網(wǎng)關(guān))
    /etc/netmasks(掩碼)

    然后重新啟動(dòng)系統(tǒng),或者用ifconfig 來添加臨時(shí)的IP地址.用route add default xxx.xxx.xxx.xxx來添加臨時(shí)的默認(rèn)網(wǎng)關(guān).


    [ 編輯]

    DNS客戶端的設(shè)置

    1. /etc/resolv.conf文件,用于記錄DNS服務(wù)器的地址和域名

    若文件不存在就創(chuàng)建一個(gè)新文件。

    # vi /etc/resolv.conf
    nameserver 192.168.2.1

    2./etc/nsswitch.conf文件,用于記錄主機(jī)名的搜索順序等信息

    找到hosts:起始的行,將其修改為:

    vi /etc/nsswitch.conf
    ................
    hosts: files dns


    [ 編輯]

    DHCP客戶端設(shè)置

    創(chuàng)建兩個(gè)空文件,<interface>是網(wǎng)卡適配器的名字,這兩個(gè)文件用于系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)dhcp。

    # touch /etc/hostname.<interface>
    # touch /etc/dhcp.<interface>

    網(wǎng)卡適配器的名字的我們可以通過ifconfig -a 或者文件/etc/path_to_inst得到。 如果需要立即使用dhcp的話,可以執(zhí)行一下命令:

    # ifconfig <interface> dhcp start


    [ 編輯]

    網(wǎng)絡(luò)配置生效的問題

    配置項(xiàng)臨時(shí)使用重啟失效永久生效需要重啟
    主機(jī)名hostname <new name>
    不要在Window(CDE, JDS)界面中使用
    /etc/nodename
    /etc/hostname.<Interface>
    /etc/inet/hosts
    IP地址ifconfig <Interface> plumb
    ifconfig <Interface> <IP> up
    /etc/inet/hosts
    網(wǎng)絡(luò)掩碼ifconfig <Interface> <netmask> up/etc/netmasks
    Gateway網(wǎng)關(guān)route add default <IP Gateway>/etc/defaultrouter
    DHCP 客戶端ifconfig <Interface> plumb
    ifconfig <Interface> dhcp start
    touch /etc/hostname.<Interface>
    touch /etc/dhcp.<Interface>
    [ 編輯]

    Solaris下如何修改mac地址?

    用ifconfig 命令即可修改mac地址,假設(shè)接口名為nge0,要將mac地址修改為0:1:2:3:4:5,可以運(yùn)行如下命令:

    # ifconfig nge0 ether 0:1:2:3:4:5
    [ 編輯]

    Solaris下如何給機(jī)器添加一個(gè)新硬件?

    [Sparc|X86]:添加好新硬件后,啟動(dòng)系統(tǒng)后,執(zhí)行drvconfig或者devfsadm即可檢測(cè)到新硬件。例如,添加新的硬盤,在硬盤加好后,執(zhí)行一下drvconfig disks或者devfsadm。

    另外,可以在關(guān)機(jī)或重啟系統(tǒng)時(shí),設(shè)置開機(jī)檢測(cè)新硬件,然后關(guān)閉電源,再添加或更換硬件。

    # touch /reconfigure;init 0

    任何時(shí)候,給重啟命令制定-r選項(xiàng),即可在啟動(dòng)時(shí)檢測(cè)硬件。

    # reboot -- -r

    第三方的設(shè)備是需要相應(yīng)廠家的驅(qū)動(dòng)程序,可以讀設(shè)備的說明書進(jìn)行安裝.


    [Sparc]:關(guān)掉電源添加SUN相應(yīng)的設(shè)備后,啟動(dòng)時(shí)按住stop+A(SUN鍵盤),ctrl+break(PC鍵盤)進(jìn)入OBP提示符ok下,然后boot -r
    某些支持動(dòng)態(tài)配置和熱插拔的硬件的Sparc服務(wù)器,可以用cfgadm和devfsadm在不停機(jī)狀態(tài)下增加硬件,詳見手冊(cè)。

    [X86]:關(guān)掉電源添加相應(yīng)的設(shè)備后,啟動(dòng)時(shí)輸入b -r


    [ 編輯]

    忘記了root密碼,如何解決?

    [S10u1|S11]:新版本的Solaris系統(tǒng)采用grub作為引導(dǎo)程序,因此不需要光盤引導(dǎo):

  • 首先,在grub的菜單中選擇fail safe的選項(xiàng)引導(dǎo)系統(tǒng)
  • 引導(dǎo)后,系統(tǒng)會(huì)提問是否mount根分區(qū)到/a上,選擇是
  • 按照前面的方法編輯/a/etc/shadow文件,保存、重啟系統(tǒng)。

  • [S9|S10]:用solaris的software1/2光盤引導(dǎo)系統(tǒng),修改口令即可。

    • 首先要用光盤引導(dǎo)系統(tǒng):
    [X86]:x86沒有OBP,只需要設(shè)置BIOS或者通過引導(dǎo)菜單,選擇從CDROM上引導(dǎo)系統(tǒng)。
    [Sparc]:任何時(shí)候通過Stop+a(SUN鍵盤)或者ctrl+break(PC鍵盤)進(jìn)入到OBP提示符下輸入:
    ok boot cdrom -s
    • 然后,mount根分區(qū),打開shadow文件:
    mount /dev/dsk/c0t0d0s0 /mnt (這里假設(shè)你的硬盤上的/區(qū)是/dev/dsk/c0t0d0s0)
    vi /mnt/etc/shadow
    • 最后,編輯shadow文件,把root用戶的密碼刪除,保存文件、重新啟動(dòng)后,就不會(huì)有口令了。


    [ 編輯]

    使用FTP時(shí),不能以root用戶登錄系統(tǒng),應(yīng)修改什么配置文件?

    打開文件 /etc/ftpusers,如果有root,注釋掉就可以了。


    [ 編輯]

    使用Telnet時(shí),不能以root用戶登錄系統(tǒng),應(yīng)修改什么配置文件?

    將/etc/default/login把CONSOLE=/dev/console該行注釋掉,就可以用root遠(yuǎn)程telnet本機(jī)。


    [ 編輯]

    Solaris下如何修改網(wǎng)卡的傳輸模式呢?

    用ndd /dev/hme /? 看到的link_mode是只讀的不能修改.但是可以觀看. ndd -get /dev/hme link_mode 1 = Full Duplex (FDX) 0 = Half Duplex (HDX)


    [ 編輯]

    如何使用串口做系統(tǒng)控制臺(tái)?


    [ 編輯]

    /目錄的空間滿了,怎么擴(kuò)容?

    這個(gè)比較麻煩.如果沒有引入卷管理方式的話,擴(kuò)容/一般認(rèn)為不能這樣做. 因?yàn)樵诜峙渲娴牡刂窙]有辦法做到. SDS上增加可以用growfs veritas上:vxresize 或者vxassist


    [ 編輯]

    Solaris如何設(shè)置ADSL撥號(hào)上網(wǎng)?

    一、系統(tǒng)基本設(shè)置

    # touch /etc/ppp/pppoe.if

    重啟系統(tǒng)后會(huì)創(chuàng)建撥號(hào)相關(guān)的文件

    # touch /etc/gateways

    重啟后會(huì)添加IP路由功能

    # touch /etc/hostname.hme1

    重啟后會(huì)添加上第二塊網(wǎng)卡,該網(wǎng)卡如果已經(jīng)添加,那么可省去此步。通過ifconfig -a可以查看該網(wǎng)卡是否啟用。該網(wǎng)卡hme1是和adsl modem相連的網(wǎng)卡。

    # echo "nameserver 202.96.134.133" >; /etc/resolv.conf

    添加上離你最近的DNS服務(wù)器,重啟生效,可以在此文件中添加多個(gè)DNS server。

    # cp /etc/nsswitch.dns /etc/nsswitch.conf

    此步驟的目的是修改/etc/nsswitch.conf,當(dāng)然直接改動(dòng)/etc/nsswitch.conf。

    二、PPPOE基本設(shè)置

    確認(rèn)系統(tǒng)中已經(jīng)安裝上如下的軟件:

    SUNWpppd - Solaris PPP Device Drivers
    SUNWpppdr - Solaris PPP configuration files
    SUNWpppdt - Solaris PPP Tunneling
    SUNWpppdu - Solaris PPP daemon and utilities
    SUNWpppdx - Solaris PPP 64-bit (ONLY needed for SPARC's with 64-bit kernels)

    如果沒有,那么從solaris的第二張安裝光盤盤中進(jìn)行補(bǔ)裝。有兩個(gè)ppp的大軟件包,選上即可。

    # reboot -- -r

    重新進(jìn)入系統(tǒng)之后,going on.......

    # ls /dev | grep ppp 確認(rèn)存在sppp和sppptun
    # grep sppp /etc/name_to_major
    sppp 146
    sppptun 147

    編輯撥號(hào)配置文件

    # vi /etc/ppp/peers/bohao 添加如下幾行
    sppptun
    plugin pppoe.so
    connect "/usr/lib/inet/pppoec hme1" #hme1是與MODEM相連的網(wǎng)卡
    persist #自動(dòng)重播
    user "USERNAME" # username
    noauth
    noipdefault
    noccp
    novj
    noaccomp
    nopcomp
    defaultroute

    存盤退出 由于你的ISP需要對(duì)你進(jìn)行密碼驗(yàn)證,所以你還要編輯一下密碼文件,但是ISP可能用到的文件是/etc/ppp/chap-secrets和/etc/ppp/pap-secrets 因此分別要到這兩個(gè)文件中的最后一行中追加: username * password 我要提醒的是:上行中的字段之間是TAB鍵分割的,而不是空格。 到此為止,配置已經(jīng)結(jié)束了,接下來就是撥號(hào)。 綁定網(wǎng)卡

    # sppptun plumb pppoed hme1
    # sppptun plumb pppoe hme1
    # sppptun query 檢查是否綁定成功
    # /usr/lib/inet/pppoec -i hme1 探測(cè)與hme1相連的ISP網(wǎng)卡的MAC地址信息,主要是確保物理線路是否存在問題。
    # /usr/bin/pppd call bohao bohao為/etc/ppp/peers的一個(gè)撥號(hào)配置文件。
    # ifconfig -a 驗(yàn)證是否出現(xiàn)sppp0的網(wǎng)口,如果網(wǎng)絡(luò)不暢,此處可能需要等一段時(shí)間。

    可以把上述的操作簡(jiǎn)單的寫成一個(gè)教本,開機(jī)自動(dòng)執(zhí)行。

    # vi /etc/rc2.d/S48bohao 添加如下幾行
    sppptun plumb pppoed hme1
    sppptun plumb pppoe hme1
    /usr/bin/pppd call bohao

    存盤退出

    # chmod u+x /etc/rc2.d/S48bohao

    到此,服務(wù)器的撥號(hào)設(shè)置告一段落。 (轉(zhuǎn)自CU網(wǎng)友nimysun)


    [ 編輯]

    怎么讓Solaris默認(rèn)不啟動(dòng)X window?

    關(guān)閉X window自動(dòng)啟動(dòng)

    # /usr/dt/bin/dtconfig -d

    恢復(fù)X window自動(dòng)啟動(dòng)

    # /usr/dt/bin/dtconfig -e

    其它選項(xiàng):

    # /usr/dt/bin/dtconfig --help
    Usage:
    CDE configuration utility
    /usr/dt/bin/dtconfig -d (disable auto-start)
    /usr/dt/bin/dtconfig -e (enable auto-start)
    /usr/dt/bin/dtconfig -kill (kill dtlogin)
    /usr/dt/bin/dtconfig -reset (reset dtlogin)
    /usr/dt/bin/dtconfig -p (printer action update)
    /usr/dt/bin/dtconfig -inetd (inetd.conf /usr/dt daemons)
    /usr/dt/bin/dtconfig -inetd.ow (inetd.conf /usr/openwin daemons)


    [ 編輯]

    如何mount上文件系統(tǒng)為FAT32/PCFS/DOS的硬盤

    先創(chuàng)建加載點(diǎn),這個(gè)目錄將用于加載后加載系統(tǒng)的主目錄。

    # mkdir /mount-point
    # mount -F pcfs [-o rw | ro] /dev/dsk/<device-name>:<logical-drive> /mount-point

    <device-name>是指硬盤的設(shè)備名。可以參考format命令的。 在Solaris X86中硬盤的設(shè)備名的通常命名方式是含有Controller,Target,Disk和Partition的信息。舉個(gè)例子/dev/dsk/c0t0d0p0

    <logical-drive>是指在DOS中硬盤有英文盤符(從c到z)來區(qū)別,也可以用數(shù)字(從1到24)代表。即C盤對(duì)應(yīng)1,即D盤對(duì)應(yīng)2,依此類推。

    其中參數(shù)rw是指read,write,即可讀寫。也可用ro, o;對(duì)應(yīng)只讀,

    給出兩個(gè)例子

    # mount -F pcfs /dev/dsk/c0t0d0p0:c /pcfs/c
    # mount -F pcfs -o ro /dev/dsk/c0t0d0p0:2 /mnt

    檢查是否成功mount,可以同過mount命令直接得到所有加載的系統(tǒng)

    # mount

    unmount該文件系統(tǒng),則用命令umount /mount-point
    系統(tǒng)關(guān)機(jī)時(shí),會(huì)自動(dòng)umount該文件系統(tǒng)。所以系統(tǒng)再次啟動(dòng)后,需要通過mount再次加載。不過我們可以讓系統(tǒng)自動(dòng)加載,自動(dòng)加載的定義文件:/etc/vfstab 加入相應(yīng)的紀(jì)錄,例如

    /dev/dsk/c0d0p2:c /dev/rdsk/c0d0p2:c /wind pcfs 2 yes -

    第一項(xiàng)說明要加載的硬盤設(shè)備名。第二項(xiàng)說明相應(yīng)的硬盤裸設(shè)備名,用于fsck使用。第三項(xiàng)說明加載點(diǎn)目錄。第四項(xiàng)說明文件系統(tǒng)的類型。第五項(xiàng)用于fsck的參數(shù)。第六項(xiàng)說明是否在啟動(dòng)時(shí)候加載。最后一項(xiàng)定義系統(tǒng)mount加載時(shí)候的參數(shù)。


    [ 編輯]

    如何檢查硬盤壞道

    # format

    先選擇硬盤,接著選擇鍵入analyze,然后選擇鍵入read。 或者:

    # iostat -En
    [ 編輯]

    如何刻錄光盤?

    Solaris 自帶的cdrw工具既支持cd刻錄也支持dvd刻錄。常見用法:


    • 從iso文件刻錄。從網(wǎng)上下載的光盤映象文件一般為iso格式.
    # cdrw -i /full-path/xxx.iso
    • 復(fù)制光盤:
    # cdrw -c [-m tmpdir] 會(huì)提示你換盤的。
    • 刻錄一些目錄文件到CD/DVD:

    這反而成了麻煩事,要?jiǎng)?chuàng)建iso文件:

    # mkisofs -o xxx.iso -J -R /full-path-data/

    建議使用-J -R 選項(xiàng)以同時(shí)支持Windows下的長(zhǎng)文件名格式(Joliet)和Unix下的長(zhǎng) 文件名格式(Rock Ridge). 然后再從iso文件刻錄:

    # cdrw -i /full-path/xxx.iso
    • 抹除CD-RW的內(nèi)容
    # cdrw -b fast


    [ 編輯]

    如何制作光盤鏡像iso文件?

    這反而成了麻煩事,要?jiǎng)?chuàng)建iso文件:

    # mkisofs -o xxx.iso -J -R /full-path-data/

    建議使用-J -R 選項(xiàng)以同時(shí)支持Windows下的長(zhǎng)文件名格式(Joliet)和Unix下的長(zhǎng) 文件名格式(Rock Ridge). 然后再從iso文件刻錄:

    # cdrw -i /full-path/xxx.iso


    [ 編輯]

    如何虛擬光驅(qū),讀取iso中的文件

    # lofiadm -a xxx.iso

    在系統(tǒng)目錄/dev/lofi/中會(huì)自動(dòng)多出一個(gè)目錄(累計(jì))。然后使用mount命令將給目錄映射到一個(gè)本地目錄,比如/mnt
    # mount -F hsfs /dev/lofi/1 /mnt


    [ 編輯]

    重裝 Windows后Grub失效,如何重新安裝Grub

    [S10u1]: 在同一臺(tái)X86機(jī)器上即安裝了Solaris 1/06, 又安裝了Windows,并且使用 Solaris的Grub作為引導(dǎo)程序。 由于某些原因不得不重裝Windows,會(huì)重新覆蓋 MBR,導(dǎo)致Grub不能使用,不能直接啟動(dòng)Solaris。 我們只需要 Solaris 1/06的第一張CD光盤或者DVD光盤,就可以重新安裝Grub 步驟:

    1 設(shè)置機(jī)器并從Solaris 1/06光盤啟動(dòng)

    2 在出現(xiàn)Grub界面的時(shí)候,按c進(jìn)入grub命令模式

    3 找到硬盤上已安裝的Solaris系統(tǒng)的


    grub>find /platform/i86pc/multiboot

    (hd0,2,a)

    我們也可以查找另一個(gè)文件:find /boot/grub/menu.lst

    4 得到硬盤編號(hào),將它設(shè)為root device

    例子里的(hd0,2,a),指的是第1塊硬盤第三個(gè)fdisk分區(qū)中的第一個(gè)slice。

    grub>root(hd0,2,a)

    Filesystem type is ufs, partition type 0x000000bf


    5 指定boot和archive文件,啟動(dòng)Solaris

    grub>kernel /platform/i86pc/multiboot

    grub>module /platform/i86pc/boot_archive

    grub>boot

    如果記不住這些命令,我們可以借助menu.lst文件,其實(shí)這個(gè)文件是原grub用于啟動(dòng)的菜單,并含有這些啟動(dòng)命令,可供我們參考。 一般這個(gè)文件的位置在/boot/grub/menu.lst,我們可以使用cat顯示內(nèi)容。 grub>cat /boot/grub/menu.lst


    6 進(jìn)入Solaris后,使用root身份安裝grub

    # /usr/sbin/installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0d0s0

    其中c0d0s0是指一塊硬盤,該命令會(huì)將Grub文件安裝到該硬盤的MBR。


    [ 編輯]

    bootblk損壞,如何修復(fù)

    bootblk損壞,系統(tǒng)啟動(dòng)的時(shí)候會(huì)報(bào)出這樣的錯(cuò)誤"The file just loaded does not appear to be executable."。

    [S10]: 從光盤啟動(dòng),在ok模式下輸入boot cdrom -s

    ok boot cdrom -s

    [S10u1]: 從光盤啟動(dòng),選擇6, Single User Shell

    # mount /dev/dsk/c1t0d0s0 /a (將損壞硬盤映射成目錄a, 為了版本問題,必須使用原來根系統(tǒng)里面的bootblk塊)
    # installboot /a/usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t0d0s0


    [ 編輯]

    如何添加用戶

    [S10]' Solaris 10帶有smc的圖形化工具,含有用戶管理。

    # smc

    Solaris也同時(shí)提供命令用于用戶管理

    添加組

    # groupadd -g 102 testgroup

    -g,指定組id,102。testgroup是組名。

    添加用戶

    # useradd -g 102 -d /export/home/user1 -s /bin/bash -m user1

    配置用戶密碼:

    # passwd user1


    [ 編輯]

    如何設(shè)置Shell環(huán)境變量

    Shell設(shè)置添加顯示當(dāng)前值注解
    shNAME=value1
    export NAME
    NAME=value2:$$NAMEset(internal)或者env(exported)如果需要子進(jìn)程也看到該環(huán)境變量,需要使用export
    kshNAME=value1
    export NAME
    NAME=value2:$NAMEset(internal)或者env(exported)如果需要子進(jìn)程也看到該環(huán)境變量,需要使用export
    cshsetenv NAME value1setenv NAME value2:$NAMEset不需要使用export
    bashNAME=value1NAME=value2:$NAMEset或者env不需要使用export


    [ 編輯]

    Shell的配置文件和讀取順序

    前提Shell配置文件1配置文件2配置文件3配置文件4
    Subshell
    (直接輸入sh,ksh,csh,bash命令
    或者su)
    sh????
    ksh????
    csh~/.cshrc ???
    bash~/.bashrc ~/.inputrc/etc/inputrc?
    su -
    telnet
    ssh
    rlogin
    sh/etc/profile ${HOME}/.profile??
    ksh/etc/profile~/.profile ??
    csh~/.cshrc ~/.login ??
    bash~/.bash_profile~/.bash_login/etc/profile~/.profile

    參考Rolf Kersten的Solaris OE Guide for New System Administrators


    [ 編輯]

    如何安裝軟件包軟(Package)?

    安裝#pkgadd -d <pkg絕對(duì)路徑名>
    察看#pkginfo #pkgchk #prodreg
    刪除#pkgrm <軟件包pkg名>


    [ 編輯]

    如何打Patch?

    安裝#patchadd
    察看#patchchk #showrev -p
    刪除#patchrm


    [ 編輯]

    如何打開壓縮的文件?

    在solaris下,會(huì)有這么幾種格式的軟件:
    1) .gz結(jié)尾的文件,用gunzip或者gzip -d來解壓,再用tar來解壓。推薦使用GNU的gtar,/usr/sfw/bin/gtar zxvf。gtar支持長(zhǎng)文件名,bug也較少。
    2) .tar結(jié)尾的文件,用tar xvf的格式來解壓。推薦使用GNU的gtar,/usr/sfw/bin/gtar xvf。
    3) .zip結(jié)尾的文件,用unzip。
    4) .Z結(jié)尾的文件,一般用uncompress來解壓。


    [ 編輯]

    如何去掉文本中^M?

    # dos2unix a.txt b.txt,

    dos2unix會(huì)去掉a.txt中的^M,生成b.txt文件。


    [ 編輯]

    如何運(yùn)行Linux下的程序?

    Linux下的程序是不能直接運(yùn)行,這是由于可執(zhí)行文件格式不同。解決辦法由大概有下面幾種方法:

    1. 因?yàn)長(zhǎng)inux的程序大多都是開源的,有很多社區(qū)包括Sun公司都提供Solaris平臺(tái)下編譯好的軟件包,可以通過google搜索一下。

    2. 直接獲得Linux程序的源文件,在solaris下直接編譯。

    3. 通過軟件虛擬,Sun提供一個(gè)lxrun軟件作為中間層,來滿足程序所需的linux的API,該lxrun軟件含在Companion CD中, 也可免費(fèi)單獨(dú)下載:

    http://www.sun.com/software/solaris/freeware/

    4. OpenSolaris的BrandZ技術(shù),通過Solaris的Container技術(shù)虛擬Linux,這個(gè)已經(jīng)在OpenSolaris開源,現(xiàn)在這個(gè)技術(shù)還沒有產(chǎn)品化,不過我們可以試先體驗(yàn)一下:

    http://www.sun.com/download/products.xml?id=44247cfd

    這里還有一個(gè)中文安裝實(shí)例 http://blog.gceclub.sun.com.cn/index.php?op=ViewArticle&articleId=943&blogId=520

    5. 通過開源Xen技術(shù):http://xen.sourceforge.net/

    6. 通過CPU模擬器 - QEMU, 可以在Solaris的qemu上安裝Linux: http://www.blastwave.org/packages.php/qemu

    [ 編輯]

    常用軟件使用

    [ 編輯]

    常用軟件下載

    Web瀏覽器:
    Mozilla FireFox: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.1/contrib/

    郵件客戶端:
    Mozilla Thunderbird: ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/1.5/contrib/

    Acrobat: Solaris下有PDF閱讀器嗎?

    辦公軟件:
    Solaris 10自帶StarOffice 7。也選擇高版本的OpenOffice 2.0,該版本對(duì)應(yīng)于StarOffice 8.0。

    多媒體播放器:
    RealPlayer:http://forms.helixcommunity.org/helix/builds/?category=realplay-stable

    聊天工具:
    gaim

    [ 編輯]

    Solaris軟件下載站點(diǎn)

    Sun Solaris Companion CD

    Sunfreeware

    BlastWave

    Solaris Packages Archive

    [ 編輯]

    應(yīng)用程序開發(fā)

    [ 編輯]

    Solaris下如何安裝gcc編譯器?

    [S10|S11] Solaris10以后,gcc缺省安裝在/usr/sfw/bin目錄下。因此,只需要設(shè)置好環(huán)境變量即可:

    PATH=/usr/sfw/bin:/usr/ccs/bin:$PATH; export PATH

    [S9] 另外,還可以到大名鼎鼎的sunfreeware或者blastwave.org去直接下載二進(jìn)制文件來安裝


    [ 編輯]

    Solaris下cc為什么不能用?

    當(dāng)運(yùn)行里面的/usr/ucb/cc時(shí),提示“l(fā)anguage optional software package not installed”。 那個(gè)cc是為了編譯BSD兼容的程序的準(zhǔn)備的腳本

    可以直接使用solaris自帶的編譯器:/usr/sfw/bin/gcc

    如果想要其他的版本的gcc可以到Sun的官方站點(diǎn)免費(fèi)下載http://www.sun.com/software/solaris/freeware/

    Sun Studio 11可以免費(fèi)下載 http://developers.sun.com/prodtech/cc/products/get.html


    [ 編輯]

    在Solaris下編譯socket程序時(shí)發(fā)生“符號(hào)參照錯(cuò)誤”提示?

    需要確保頭文件包含正確,并且指定-lsocket選項(xiàng)如下:

    cc [ flag ... ] file ... -lsocket -lnsl [ library ... ]
    #include <sys/types.h>
    #include <sys/socket.h>

    Linux下socket調(diào)用是在libc中實(shí)現(xiàn)的,因此不需要指定-lsocket;但Solaris下,由于存在兩套socket庫的實(shí)現(xiàn):

    3SOCKET - BSD風(fēng)格socket庫,大多數(shù)GNU/Linux軟件使用這個(gè)庫

    3XNET - 標(biāo)準(zhǔn)socket庫

    因此Solaris socket庫并不包含在libc中,需要給鏈接器指定-lsocket參數(shù)。


    [ 編輯]

    Python在Solaris下是默認(rèn)安裝的嗎?

    [S10] Python在含在Solaris 10光盤中,安裝的時(shí)候可以選擇是否安裝。

    可以通過以下方式察看是否安裝:

    # pkginfo | grep Python
    GNOME2 SUNWPython The Python interpreter, libraries and utilities
    GNOME2 SUNWPython-devel The Python interpreter, libraries and utilities - develper files - platform dependent, /usr filesystem
    GNOME2 SUNWPython-share The Python interperer, libraries and utilities - platform independent files, /usr/sfw/share


    [ 編輯]

    如何修改文件描述符限制?

    Solaris有兩個(gè)參數(shù)控制進(jìn)程可打開的文件描述符:rlim_fd_max,rlim_fd_cur。前者修改是個(gè)硬設(shè)置,修改需要權(quán)限,后者 是個(gè)軟設(shè)置,用戶可以limit或者setrlimit() 修改,該值最大不能超過前者。一般我們?cè)?etc/system里修改這兩個(gè)參數(shù)

    set rlim_fd_max = 65535

    set rlim_fd_cur = 65535

    [ 編輯]

    內(nèi)核和驅(qū)動(dòng)程序開發(fā)

    [ 編輯]

    Solaris是微內(nèi)核操作系統(tǒng)嗎?

    [ 編輯]

    Solaris上有什么樣的內(nèi)核級(jí)調(diào)試器?

    [S10|S11]:主要有mdb、kmdb和dtrace。

    Solaris較早版本的內(nèi)核調(diào)試器是adb和kadb。Solaris 8開始,有了mdb,Solaris 10后,kadb被kmdb取代。 除了mdb和kmdb以外,內(nèi)核開發(fā)人員還可以利用強(qiáng)大的dtrace來調(diào)試內(nèi)核。
    mdb和kmdb類似于windows的ICE或者linux的kdb。不同的是,這些都是solaris操作系統(tǒng)自帶,不需要額外安裝。
    有了這些工具,動(dòng)態(tài)觀察內(nèi)核的狀態(tài)、設(shè)置斷點(diǎn),修改內(nèi)核數(shù)據(jù)都成為可能。

    [ 編輯]

    哪里可以找到Solaris下的usb驅(qū)動(dòng)程序的開發(fā)資料?

    Solaris 下的有USB DDK,具體可以參考下面的地址:

    http://developers.sun.com/solaris/developer/support/driver/usb.html

    站點(diǎn)上面有文檔,還有USB DDK下載地址,還有USB skeleton drivers。

    另外,還有一個(gè)介紹ugen的白皮書:

    http://developers.sun.com/solaris/developer/support/driver/docs/usbups_whitepaper.html

    [ 編輯]

    Solaris默認(rèn)內(nèi)核棧大小是多少?

    amd64的默認(rèn)內(nèi)核棧尺寸是5*PAGESIZE(20k),i386的是2*PAGESIZE(8k),在uts/i86pc/sys/machparam.h中定義;
    sparc的默認(rèn)內(nèi)核棧尺寸是3*PAGESIZE(24k),在uts/sun4u/sys/machparam.h中定義;

    [ 編輯]

    OpenSolaris的內(nèi)核源碼中的assert()函數(shù)起什么作用?

    assert()就是斷言函數(shù)。

    Solaris內(nèi)核可以編譯成debug版和非debug版。

    assert()只在debug版起作用,如果assert()返回失敗,系統(tǒng)會(huì)強(qiáng)制因?yàn)閍ssertion failed而panic,并將內(nèi)存映象存入crash dump文件。

    這樣程序員可以通過mdb來檢查crash dump文件,來分析問題。

    ?

    總結(jié)

    以上是生活随笔為你收集整理的Solaris中文FAQ的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。