OpenSolaris/Solaris中文FAQ
生活随笔
收集整理的這篇文章主要介紹了
OpenSolaris/Solaris中文FAQ
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
本文轉(zhuǎn)載于 http://blog.chinaunix.net/uid-11193716-id-2896321.html
?
?
OpenSolaris/Solaris中文FAQ (2008-08-04 19:30) 分類: Solaris注:
1.本文檔只覆蓋Solaris 9及以后的平臺(tái)上的常見(jiàn)問(wèn)題
2.S9/10/11 分別對(duì)應(yīng)目前Solaris的發(fā)行版本9/10/11
3.x86/x32/x64/Sparc 分別對(duì)應(yīng)x86包括32和64位/IA32專有/AMD64或EMT64位專有/Sparc等特定平臺(tái)
目錄
1 一般討論
2 系統(tǒng)安裝
3 使用/管理/配置
4 應(yīng)用程序開(kāi)發(fā)
5 內(nèi)核和驅(qū)動(dòng)程序開(kāi)發(fā)
6 其他
一般討論
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有哪些可用的資源?
1.7 哪里能夠得到OpenSolaris的源代碼?
1.8 Solaris是免費(fèi)的嗎?
系統(tǒng)安裝
2.1 如何得到和安裝Solaris?
2.2 哪里下載64位的Solaris?
2.3 安裝Solaris對(duì)硬件有什么要求?
2.4 安裝Solaris X86不能識(shí)別網(wǎng)卡怎么辦?
2.5 安裝Solaris X86不能識(shí)別聲卡怎么辦?
2.6 如何安裝一個(gè)Solaris/Windows XP/Linux共存的操作系統(tǒng)?
2.7 VMware 5.5版本上,Solaris安裝停止在skipped interface pcn0就不動(dòng)了?
2.8 安裝后,顯示分辨率太低,如何調(diào)整分辨率啊?
2.9 安裝后想添加新的語(yǔ)言支持怎么辦?
2.10 如何網(wǎng)絡(luò)安裝Solaris?
2.11 如何從硬盤(pán)安裝Solaris?
2.12 安裝Solaris失敗怎么辦?
2.13 如何知道我的硬件Solaris是否支持?
2.14 在安裝的過(guò)程中出現(xiàn)“不能發(fā)現(xiàn)硬盤(pán)”的錯(cuò)誤,該怎么解決?
2.15 Solaris支持雙核嗎?
使用/管理/配置
3.1 系統(tǒng)啟動(dòng)和關(guān)閉
3.1.1 重裝 Windows后Grub失效,如何重新安裝Grub?
3.1.2 bootblk損壞,如何修復(fù)?
3.1.3 系統(tǒng)啟動(dòng)報(bào)錯(cuò),進(jìn)入單用戶模式?
3.1.4 如何重新啟動(dòng)系統(tǒng)?
3.1.5 如何關(guān)閉系統(tǒng)?
3.1.6 如何用命令關(guān)閉系統(tǒng)并斷電?
3.2 系統(tǒng)基本操作
3.2.1 如何虛擬光驅(qū),讀取iso中的文件?
3.2.2 如何安裝軟件包(Package)?
3.2.3 如何打Patch?
3.2.4 如何去掉文本中^M?
3.2.5 如何運(yùn)行Linux下的程序?
3.2.6 如何打開(kāi)壓縮的文件?
3.2.7 為什么不能在/home下創(chuàng)建目錄?
3.2.8 怎么讓Solaris默認(rèn)不啟動(dòng)X window?
3.2.9 如何添加用戶?
3.2.10 忘記了root密碼,如何解決?
3.2.11 如何使用串口做系統(tǒng)控制臺(tái)?
3.2.12 根目錄的空間滿了,怎么擴(kuò)容?
3.2.13 如何配置Xorg的配置文件?
3.2.14 從桌面方式下如何打開(kāi)一個(gè)終端(即命令行輸入窗口)?
3.2.15 如何查看某一個(gè)命令的使用方法?
3.2.16 為什么在用man命令查看某一個(gè)命令的使用方法時(shí)提示“沒(méi)有用于xxx命令的手冊(cè)”?
3.2.17 在運(yùn)行一個(gè)可執(zhí)行的程序的時(shí)候被提示“權(quán)限被否定”是怎么回事?
3.2.18 在solaris中如何對(duì)文件進(jìn)行常規(guī)的操作?
3.2.19 如何創(chuàng)建目錄?
3.2.20 如何刪除一個(gè)目錄?
3.2.21 如何設(shè)定文件或目錄的擁有者?
3.2.22 如何添加一個(gè)用戶組?
3.2.23 如何添加一個(gè)用戶?
3.2.24 如何修改一個(gè)用戶的密鑰?
3.2.25 用戶的缺省profile文件是哪一個(gè)?
3.2.26 如何切換用戶?
3.2.27 如何查看當(dāng)前用戶的id?
3.2.28 怎么解壓縮zip文件?
3.2.29 怎么解壓縮gz文件?
3.2.30 怎么解壓縮tar文件?
3.2.31 怎樣在命令提示符前隨著目錄的改變一直顯示當(dāng)前所在的目錄或路徑呢?
3.2.32 為什么在Login圖形界面中登陸失敗?
3.2.33 怎樣才能使用中文輸入法呢?
3.2.33 在Solaris中如何打開(kāi)Winrar文件?
3.3 Shell操作和使用
3.3.1 如何設(shè)置Shell環(huán)境變量?
3.3.2 Shell的配置文件和讀取順序?
3.3.3 如何設(shè)置當(dāng)前會(huì)話中的環(huán)境變量?
3.3.4 在會(huì)話過(guò)程中如何取消已經(jīng)設(shè)置好的環(huán)境變量?
3.3.5 如何查看當(dāng)前用戶的缺省SHELL?
3.2.6 如何更改某用戶的默認(rèn)Shell?
3.4 系統(tǒng)基本配置(系統(tǒng),CPU,內(nèi)存,網(wǎng)絡(luò))
3.4.1 如何查看OpenSolaris/Solaris的版本信息?
3.4.2 如何查看系統(tǒng)內(nèi)核是32位的還是64位的?
3.4.3 如何查看系統(tǒng)中CPU的數(shù)目?
3.4.4 如何修改主機(jī)名?
3.2.5 如何查看ip地址?
3.4.6 如何修改IP地址?
3.4.7 DNS客戶端的設(shè)置?
3.4.8 DHCP客戶端設(shè)置?
3.4.9 網(wǎng)絡(luò)配置生效的問(wèn)題?
3.4.10 Solaris下如何修改mac地址?
3.4.11 如何察看Solaris系統(tǒng)的內(nèi)存大小及使用情況?
3.4.12 Solaris下如何給機(jī)器添加一個(gè)新硬件?
3.4.13 Solaris下如何修改網(wǎng)卡的傳輸模式呢?
3.4.14 Solaris如何設(shè)置ADSL撥號(hào)上網(wǎng)?
3.4.15 如何設(shè)置域名?
3.4.16 如何設(shè)置兩個(gè)網(wǎng)關(guān)?
3.4.16 如何修改默認(rèn)locale?
3.2.17 如何查看網(wǎng)關(guān)信息?
3.5 存儲(chǔ)設(shè)備使用(硬盤(pán),USB硬盤(pán),CD, DVD等)
3.5.1 如何查看solaris下安裝了有幾塊硬盤(pán)?
3.5.2 如何在Solaris下使用USB存儲(chǔ)設(shè)備?
3.5.3 如何mount上文件系統(tǒng)為FAT32/PCFS/DOS的硬盤(pán)?
3.5.4 如何檢查硬盤(pán)壞道,修復(fù)硬盤(pán)壞道?
3.5.5 如何刻錄光盤(pán)?
3.5.6 如何制作光盤(pán)鏡像iso文件?
3.5.7 如何mount上文件系統(tǒng)為FAT32/PCFS/DOS的硬盤(pán)顯示中文文件和文件夾?
3.5.8 如何mount上EXT文件系統(tǒng)?
3.5.9 如何mount上NTFS文件系統(tǒng)(read-only)?
3.6 系統(tǒng)軟件使用
3.6.1 常用軟件下載
3.6.2 Solaris軟件下載站點(diǎn)
3.6.3 Solaris下有PDF閱讀器嗎?
3.6.4 Solaris有電子詞典嗎?
3.7 系統(tǒng)常用服務(wù)管理(Telnet,FTP, SSH等)
3.7.1 使用FTP時(shí),不能以root用戶登錄系統(tǒng),應(yīng)修改什么配置文件?
3.7.2 使用Telnet時(shí),不能以root用戶登錄系統(tǒng),應(yīng)修改什么配置文件?
3.7.3 使用SSH時(shí),不能以root用戶登錄系統(tǒng),應(yīng)修改什么配置文件?
3.7.4 使用Samba,如何在客戶機(jī)上顯示中文?
3.7.5 如何使用Samba實(shí)現(xiàn)Solaris10與Windows間的文件共享?
3.7.6 如何限制用戶可使用FTP不能用Telnet?
3.7.7 如何限制用戶FTP只能使用指定目錄?
3.8 ZFS
3.9 Container and Zone
3.10 DTrace
3.11 Oracle
3.11.1 Oracle能安裝在Solaris 10 x86-32上嗎?
3.11.2 在Solaris 10下如何安裝Oralce?
3.11.3 在Solaris 10下如何安裝Oralce 10g RAC?
3.12 系統(tǒng)安全管理
3.12.1 如何修改登陸系統(tǒng)記錄
[編輯]應(yīng)用程序開(kāi)發(fā)
4.1 Sun Studio
4.1.1 Sun Studio是免費(fèi)的嗎?
4.1.2 哪里可以下載到Sun Studio?
4.1.3 Sun Studio和GCC相比有什么優(yōu)勢(shì)?
4.1.4 用dbx打開(kāi)core文件后,敲入where命令后dbx崩潰?
4.1.5 如何卸載Sun Studio?
4.2 Java
4.2.1 Solaris10在安裝完成后是否已經(jīng)預(yù)裝了JDK?
4.2.2 JDK安裝在什么目錄下?
4.2.3 如何查看當(dāng)前java的版本?Solaris10默認(rèn)的版本是哪一個(gè)?
4.2.4 如果想把Solaris10中的缺省JDK從1.5改變?yōu)?.4,如何操作?
4.2.5 如何設(shè)置java環(huán)境變量?
4.2.6 如何查看java進(jìn)程是否已經(jīng)啟動(dòng)?
4.3 Solaris下如何安裝gcc編譯器?
4.4 Solaris下cc為什么不能用?
4.5 在Solaris下編譯socket程序時(shí)發(fā)生“符號(hào)參照錯(cuò)誤”提示?
4.6 Python在Solaris下是默認(rèn)安裝的嗎?
4.7 如何修改文件描述符限制?
4.8 如何獲取Solaris系統(tǒng)信息(磁盤(pán)動(dòng)態(tài)使用,內(nèi)存的使用,文件系統(tǒng),網(wǎng)卡信息和IP地址)?
4.9 使用Sunfreeware的gcc33編譯,報(bào)signal.h解析錯(cuò)誤parse error?
4.10 在Solaris下如何檢查應(yīng)用程序內(nèi)存泄漏的問(wèn)題?
4.11 如何讓普通用戶能夠使用1024號(hào)以下的端口?
4.12 哪里有Solaris平臺(tái)輸入法程序編程的相關(guān)資料?
4.13 為什么程序會(huì)出現(xiàn)Bus Error?
4.14 如何在Solaris下通過(guò)ODBC連接Windows的MS SQL Server?
4.15 如何在Solaris下安裝lxrun?
[編輯]內(nèi)核和驅(qū)動(dòng)程序開(kāi)發(fā)
5.1 Solaris是微內(nèi)核操作系統(tǒng)嗎?
5.2 Solaris上有什么樣的內(nèi)核級(jí)調(diào)試器?
5.3 哪里可以找到Solaris下的usb驅(qū)動(dòng)程序的開(kāi)發(fā)資料?
5.4 Solaris默認(rèn)內(nèi)核棧大小是多少?
5.5 OpenSolaris的內(nèi)核源碼中的assert()函數(shù)起什么作用?
5.6 如何用savecore產(chǎn)生live dump?
5.7 哪里可以找到Solaris下的驅(qū)動(dòng)開(kāi)發(fā)資料?
[編輯]其他
6.1 VMWare
6.1.1 在VMWare下能使用Solaris嗎?
6.1.2 在VMWare下有針對(duì)Solaris使用的VM Tools嗎?
6.1.3 在VMWare下,Solaris如何上網(wǎng)?
6.1.4 有沒(méi)有Solaris 10的VMWare虛擬機(jī)映像文件下載?
6.2 Solaris老版本8,9的程序能夠直接在Solaris10中跑嗎?
6.3 QEMU
6.3.1 在solaris中如何使用qemu安裝windows操作系統(tǒng)
取自"http://wiki.gceclub.sun.com.cn/index.php/OpenSolaris/Solaris%E4%B8%AD%E6%96%87FAQ"
[attach]496142[/attach]
[attach]496143[/attach]? ???// [attach]496144[/attach]
[attach]496588[/attach]
[attach]496589[/attach]
[attach]496590[/attach]
[attach]496596[/attach]
[[i] 本帖最后由 云杉上的蝴蝶 于 2008-3-25 20:08 編輯 [/i]]
云杉上的蝴蝶 2008-3-24 21:03
一般討論
1.1 OpenSolaris和Solaris的區(qū)別?簡(jiǎn)單說(shuō),所謂OpenSolaris是一個(gè)Sun的開(kāi)源項(xiàng)目,而Solaris是Sun公司的基于OpenSolaris推出的一個(gè)自己的產(chǎn)品。
Solaris和OpenSolaris的關(guān)系與Redhat和Fedora的關(guān)系是類似的。
OpenSolaris是一個(gè)開(kāi)源項(xiàng)目包括了以CDDL為L(zhǎng)icense的OpenSolaris代碼,OpenSolaris開(kāi)發(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。
1.2 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,開(kāi)發(fā)工具(Sun Studio, Netbeans, Sun Java Studio Creator, Sun Java Studio Enterprise),
桌面軟件和N1管理軟件。
目前Solaris開(kāi)發(fā)版本是11,項(xiàng)目代號(hào)是Nevada,(美國(guó)西部?jī)?nèi)陸州-內(nèi)華達(dá)州)。
每月5號(hào),Sun會(huì)發(fā)布一個(gè)當(dāng)前Solaris開(kāi)發(fā)版本叫做Solaris Express。目前的Solaris Express來(lái)自于Solaris 11最新的較穩(wěn)定的版
本,其中包含了Solaris最新的功能和特性。該產(chǎn)品主要針對(duì)合作伙伴、開(kāi)發(fā)者和希望使用最新技術(shù)的用戶。Sun公司也對(duì)該產(chǎn)品提
供一定支持。
Solaris Nevada的核心部分,ON(即OS&Network)和JDS(Java Desktop System)也作為OpenSolaris開(kāi)放,目前OpenSolaris和Nevada
的代碼保持同步。
OpenSolaris也出現(xiàn)了很多衍生版本,如Polaris、Nexenta、Schillix和Belenix。其中Polaris已經(jīng)支持了IBM的PowerPC平臺(tái)。
1.3 Sun OS和Solaris有什么區(qū)別?
簡(jiǎn)單得說(shuō),Sun OS是Solaris的其中一個(gè)部分。
Solaris是SOE - Solaris Operating Environment的縮寫(xiě),它包括以下主要部件:
1.SunOS - 系統(tǒng)內(nèi)核 (版本號(hào)是5.x)
2.Windowing - 桌面環(huán)境JDS/CDE
1.4 OpenSolaris的版本有哪些?
OpenSolaris出現(xiàn)了很多衍生版本,如Polaris、Nexenta、Schillix和Belenix。其中Polaris已經(jīng)支持了IBM的PowerPC平臺(tái)。
1.5 OpenSolaris是GPL的嗎?
OpenSolaris和GNU/Linux不同,它是以CDDL License發(fā)布的。
CDDL是一種新的Open Source的License,與GPL相比,它的條款更寬松,更具有優(yōu)越性。
關(guān)于CDDL的細(xì)節(jié),你可以訪問(wèn):CDDL License FAQ
1.6 學(xué)習(xí)OpenSolaris/Solaris有哪些可用的資源?
OpenSolaris中文wiki社區(qū)有專門(mén)的文檔項(xiàng)目來(lái)收錄OpenSolaris學(xué)習(xí)和研究的相關(guān)資源:
1.7 哪里能夠得到OpenSolaris的源代碼?
有兩種方式可以訪問(wèn)OpenSolaris的源代碼:
1.基于WEB的源代碼交叉引用
[url]http://cvs.opensolaris.org/source/[/url]
2.下載tar包,或者有版本管理工具mercurial的版本管理信息的檔案文件:
[url]http://dlc.sun.com/osol/on/downloads/current[/url]
1.8 Solaris是免費(fèi)的嗎?
Solaris 10是完全免費(fèi),而且開(kāi)源的:免費(fèi)下載;免費(fèi)使用, 不管你是開(kāi)發(fā)還是商業(yè)應(yīng)用,也沒(méi)有什么CPU使用限制。
當(dāng)你從Sun官方網(wǎng)站上免費(fèi)注冊(cè),將會(huì)獲得Entitlement(授權(quán)書(shū)),就可以免費(fèi)使用Solaris。該Entitlement含有 Solaris OS Software License Agreement (SLA for Solaris 10) and Solaris OS Binary Code License (BCL for Solaris 8 and 9),免費(fèi)獲得。
如果沒(méi)有Entitlement,則可以使用Solaris 10自帶的Evalucation License完全免費(fèi),可以使用90天。
詳細(xì)請(qǐng)看該網(wǎng)址: [url]http://www.sun.com/software/solaris/binaries_program.xml[/url]
云杉上的蝴蝶 2008-3-24 21:34
系統(tǒng)安裝
2.1 如何得到和安裝Solaris?Sun的官方站點(diǎn)提供Solaris 10 免費(fèi)下載,有DVD和CD格式:[url]http://www.sun.com/software/solaris/get.jsp[/url] (服務(wù)器在國(guó)外),
需要Sun Online Account賬號(hào)(免費(fèi)注冊(cè))。
安裝方法參考這個(gè)網(wǎng)頁(yè)[url]http://blog.gceclub.sun.com.cn/index.php?op=ViewArticle&articleId=121&blogId=4[/url]
你可以選擇中文安裝。
如果你是X86機(jī)器,也可以考慮使用SAID(Solaris Automation Installation DVD),即Solaris自動(dòng)安裝DVD,
是為方便Solaris的安裝和使用而制作的一張可引導(dǎo)的DVD安裝光盤(pán)。SAID的實(shí)現(xiàn)主要基于 Solaris提供的
Flash Archive和JumpStart技術(shù)。具體見(jiàn)SAID
2.2 哪里下載64位的Solaris?
在Sun的官方站點(diǎn)提供Solaris 10 免費(fèi)下載,有DVD和CD格式:[url]http://www.sun.com/software/solaris/get.jsp[/url]
(服務(wù)器在國(guó)外), 需要Sun Online Account賬號(hào)(免費(fèi)注冊(cè))。
Solaris 10的安裝盤(pán)含有32位和64位的kernel,會(huì)根據(jù)安裝的CPU自動(dòng)適應(yīng)。也就是說(shuō)如果是64位的芯片直接安裝,
就可以得到一個(gè)64位的Solaris操作系統(tǒng)。
2.3 安裝Solaris對(duì)硬件有什么要求?
Solaris 10的對(duì)硬件配置最低標(biāo)準(zhǔn)是:
256MB的內(nèi)存 (如果使用PXE啟動(dòng),需要512MB)
2G的硬盤(pán)空間
120MHZ的X86(X64)的芯片或者250MHZ的SPARC芯片
DVD或者CD-ROM驅(qū)動(dòng)
2.4 安裝Solaris X86不能識(shí)別網(wǎng)卡怎么辦?
1.確認(rèn)你的網(wǎng)卡型號(hào),從而得到網(wǎng)卡的vendor id:
主板/硬件手冊(cè)或者windows設(shè)備管理器都能得到設(shè)備的廠商名稱,然后到PCI設(shè)備的數(shù)據(jù)庫(kù)去搜索相應(yīng)的vendor id。
推薦站點(diǎn):[url]http://pci-ids.ucw.cz[/url]
2.通過(guò)vendorid確認(rèn)網(wǎng)卡的devide id:
# prtconf -vp | grep <網(wǎng)卡的vendor id>
得到可能的devideid后到PCI設(shè)備的數(shù)據(jù)庫(kù)得到準(zhǔn)確的設(shè)備型號(hào)。
推薦站點(diǎn):[url]http://pci-ids.ucw.cz/[/url]
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ù)庫(kù)。
如果可以確認(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)列表:[url]http://homepage2.nifty.com/mrym3/taiyodo/eng/[/url]
2) 另一個(gè)第三方網(wǎng)卡驅(qū)動(dòng)列表:[url]http://sol-enet.sourceforge.net/[/url]
3)HCL的network列表:[url]http://www.sun.com/bigadmin/hcl/data/sol/[/url]
4) 網(wǎng)卡廠家的網(wǎng)站。例如,Broadcom的網(wǎng)站就有其Solaris平臺(tái)的驅(qū)動(dòng)下載
5) Solaris x86驅(qū)動(dòng)的資源:[url]http://solaris-x86.org/software/drivers/[/url]
6)Sun DryDog參考:[url]http://www.sun.drydog.com/faq/6.html#6.7[/url]
5. 提交bug到OpenSolaris社區(qū)
1)到[url]http://bugs.opensolaris.org/[/url]
2)用英文填寫(xiě)好問(wèn)題描述,最好提供prtconf -vp的輸出和具體聲卡型號(hào)
2.5 安裝Solaris X86不能識(shí)別聲卡怎么辦?
.確定你的聲卡型號(hào):通過(guò)主板/硬件手冊(cè)或者windows設(shè)備管理器。
2.尋找第三方驅(qū)動(dòng):
1) OSS的OpenSound for Solaris,支持大多數(shù)主流聲卡:[url]http://www.4front-tech.com/download.cgi[/url]
2) 第三方聲卡驅(qū)動(dòng)列表:[url]http://www.tools.de/solaris/audio/beta/[/url]
3)HCL的聲卡列表:[url]http://www.sun.com/bigadmin/hcl/data/sol/[/url]
4) Solaris x86驅(qū)動(dòng)的資源:[url]http://solaris-x86.org/software/drivers/[/url]
5)Sun DryDog參考:[url]http://www.sun.drydog.com/faq/6.html#6.7[/url]
3. 提交bug到OpenSolaris社區(qū)
1)到[url]http://bugs.opensolaris.org/[/url]
2)用英文填寫(xiě)好問(wèn)題描述,最好提供prtconf -vp的輸出和具體聲卡型號(hào)
2.6 如何安裝一個(gè)Solaris/Windows XP/Linux共存的操作系統(tǒng)?
.安裝Windows XP 如果對(duì)Solaris不了解,建議只分配格式化系統(tǒng)盤(pán)。待所有系統(tǒng)完全安裝完后,再另行分配。
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
2.7 VMware 5.5版本上,Solaris安裝停止在skipped interface pcn0就不動(dòng)了?
[x86]: 大概是Solaris顯卡檢測(cè)的問(wèn)題,引導(dǎo)的時(shí)候,安裝方式那里選擇文本方式安裝即可。
[s10&Vmware5.5]: 那一步時(shí)間有點(diǎn)長(zhǎng),等一下就過(guò)去了,不超過(guò)5分鐘。
2.8 安裝后,顯示分辨率太低,如何調(diào)整分辨率啊?
[X86] 可以使用kdmconfig. 如果你不熟悉Xorg的Xserver,你可以選擇使用Xsun,接著該命令會(huì)引導(dǎo)你設(shè)置顯卡,分辨率等。
Xorg的Xserver,就需要你另外配置xorg.conf或者通過(guò)使用xorgconfig命令來(lái)配置。
如何用xorgconfig命令配置,詳見(jiàn)如何配置Xorg的配置文件?
2.9 安裝后想添加新的語(yǔ)言支持怎么辦?
[S10] Solaris 10以后,可以使用localeadm工具來(lái)添加語(yǔ)言的支持,例如添加中文支持zh_CN:
# localeadm -a zh_CN -d /net/sparc_images/export/pkgs
其他的語(yǔ)言有:zh_TW, zh_HK, hi_IN, th_TH, ko_KR, ja等, “/net/sparc_images/export/pkgs” 應(yīng)該換成你的cd/dvd
安裝包位置。
2.10 如何網(wǎng)絡(luò)安裝Solaris?
請(qǐng)參閱本論壇的相關(guān)帖子。
2.11 如何從硬盤(pán)安裝Solaris?
如何從硬盤(pán)安裝Solaris?
Wikipedia,自由的百科全書(shū)
來(lái)自feel2008, [url]http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?forum=13&thread=40792[/url], 有修正
硬盤(pán)安裝Solaris 10
1. 分區(qū)簡(jiǎn)介:(以我的硬盤(pán)為例,只做參考)
??第一主分區(qū)? ?10G? ?C盤(pán)??NTFS格式??安裝Windows XP
??第二主分區(qū)? ?15G? ?空閑未分配??準(zhǔn)備留給Solaris 10
??擴(kuò)展分區(qū)分為三個(gè)邏輯盤(pán):
? ?? ?D盤(pán)? ???24G? ?NTFS格式
? ?? ?E盤(pán)? ???26G? ?FAT32格式
? ?? ?F盤(pán)? ???3G? ? FAT32格式
2. 準(zhǔn)備過(guò)程:
??在E盤(pán)建一個(gè)solaris的文件夾,然后用WinRAR或者虛擬光驅(qū)打開(kāi)sol-10-u2-ga-x86-dvd.iso,
??將里面boot目錄下的multiboot和x86.miniroot這兩個(gè)文件提取出來(lái),放在solaris文件夾中,
??然后把sol-10-u2-ga-x86-dvd.iso鏡像文件也放在solaris文件夾中。(其實(shí)這三個(gè)文件放在任何地方都可以,
??但必須是在FAT32分區(qū)中)
3. 用grub引導(dǎo):
??用grub或grub for dos引導(dǎo),在命令提示符下鍵入以下命令:
??find /solaris/multiboot
??會(huì)顯示hd(0,5),這里的hd(0,5)即我的E盤(pán)。注意,你的硬盤(pán)分區(qū)可能和我的不同,因此顯示也會(huì)不同,請(qǐng)參考grub的相關(guān)資料。
??然后再鍵入以下命令進(jìn)行引導(dǎo):
??kernel hd(0,5)/solaris/multiboot kernel/unix -B install_media=dsk
??module hd(0,5)/solaris/x86.miniroot
??boot
??如果一切順利的話,應(yīng)該就可以進(jìn)入引導(dǎo)畫(huà)面。
4. 利用安裝過(guò)程中出現(xiàn)的shell進(jìn)行虛擬光驅(qū)
??正確引導(dǎo)以后,首先會(huì)出現(xiàn)6個(gè)安裝模式選項(xiàng),選擇1或者等待超時(shí)(默認(rèn)是1)。這時(shí)屏幕上會(huì)出現(xiàn)類似的如下提示:
??NOTICE: rtls0 -- link down
??ERROR: Unbale to configure network inteface
? ?? ?? ?Exiting to shell
??# NOTICE: rtls0 -- link up 100Mbps Full_puplex
??這時(shí)候安裝程序會(huì)停止,光標(biāo)會(huì)停止不動(dòng)。這時(shí)敲一下回車(chē),會(huì)出現(xiàn)shell提示符 #
??這個(gè)shell是可以用的,敲幾個(gè)簡(jiǎn)單的命令試試。
??有了這個(gè)shell就好辦了,我們可以用它進(jìn)行虛擬光驅(qū)。
??首先要知道E盤(pán)在Solaris中是怎么表示的:
??cd /dev/dsk
??然后ls看一下,里面有類似c0d0p0,c0d0p1,c0d0p2,c0d0p3,c0d0p4的設(shè)備。這里c0d0p0對(duì)應(yīng)我的硬盤(pán),
??c0d0p1至c0d0p4分別對(duì)應(yīng)4個(gè)主分區(qū),可是,Solaris沒(méi)有設(shè)備符號(hào)用來(lái)對(duì)應(yīng)擴(kuò)展分區(qū)中的邏輯分區(qū)。
??我們?cè)撊绾蝝ount擴(kuò)展分區(qū)中的E盤(pán)、F盤(pán)呢?Solaris用了一種很奇怪的設(shè)備符號(hào)來(lái)表示硬盤(pán)中的FAT32分區(qū):c0d0p0:x,
??這兒x的取值為:1,2,3...,分別表示硬盤(pán)中的第1個(gè)、第2個(gè)、第3個(gè)FAT32分區(qū),依此類推。
??即我的硬盤(pán)中的第1個(gè)FAT32分區(qū)(E盤(pán))可以表示為c0d0p0:1、第2個(gè)FAT32分區(qū)(F盤(pán))可以表示為c0d0p0:2。
??注意,不要用諸如c0d0p3:x(這兒c0d0p3對(duì)應(yīng)我的擴(kuò)展分區(qū),x表示擴(kuò)展分區(qū)中的第x個(gè)FAT32分區(qū))
??這種方式來(lái)表示擴(kuò)展分區(qū)中的FAT32分區(qū),當(dāng)擴(kuò)展分區(qū)的最后一個(gè)分區(qū)是FAT32、以c0d0p3:x這種設(shè)備符號(hào)mount它時(shí)會(huì)出錯(cuò),
??使用c0d0p0:x這種方式表示FAT32分區(qū)則沒(méi)有任何問(wèn)題。
??趕緊把E盤(pán)mount上去吧:
??mount -F pcfs /dev/dsk/c0d0p0:1 /mnt
??然后進(jìn)入mnt目錄下去看看吧,應(yīng)該可以看到E盤(pán)的文件了。這時(shí)候就可以用Solaris的DVD鏡像做虛擬光驅(qū)了。
??lofiadm -a /mnt/solaris/sol-10-u2-ga-x86-dvd.iso
??mount -F hsfs /dev/lofi/1 /cdrom (必須mount在/cdrom目錄中)
??再進(jìn)入cdrom里面去看看吧,應(yīng)該成功了。這時(shí)系統(tǒng)會(huì)認(rèn)為光驅(qū)里面有光盤(pán)了。
??等這一切做完之后,然后鍵入 exit ,就會(huì)退出shell,安裝程序會(huì)自動(dòng)繼續(xù)進(jìn)行下去。
5. 進(jìn)入圖形化安裝界面后,我就不再多說(shuō)了吧........ ^_^
2.12 安裝Solaris失敗怎么辦?
1. 先參考HCL(Hardware Compatible List)看一下:[url]http://www.sun.com/bigadmin/hcl[/url] 機(jī)器是不是在這個(gè)列表里,
2. 如果有的話,請(qǐng)確認(rèn)以下你的安裝介質(zhì),是不是X86版本或者SPARC版本?md5的值是不是正確?
如果沒(méi)有的話用Solaris x86 Installation Check Tool看看是不是什么硬件有問(wèn)題?如果自己比較清楚,
可以看看自己主要的硬件有沒(méi)有在HCL支持。
[url]http://www.sun.com/bigadmin/hcl/hcts/install_check.html[/url]
3. 還可以參考本FAQ中其他條款或者Google搜索。
4. 如果你的機(jī)器比較高級(jí)(設(shè)備比較新;或者支持一些特別的功能,比如一些筆記本,BIOS里有一些高級(jí)設(shè)置,
很有可能會(huì)影響Solaris的識(shí)別),建議用戶需要自己摸索一下,在BIOS里設(shè)設(shè)看。
比如,Toshiba Pro M10筆記本,就有一項(xiàng)BIOS關(guān)于PCI設(shè)置,一定要設(shè)為Set by OS,才可以安裝Solaris 10
2.13 如何知道我的硬件Solaris是否支持?
1. Sun Device Detection Tool
這是一個(gè)基于Java的工具,在現(xiàn)有的操作系統(tǒng)上可以直接運(yùn)行(前提有JRE),察看你的機(jī)器硬件Solaris有沒(méi)有支持。
優(yōu)點(diǎn):方便,簡(jiǎn)單,最快速;適合DIY的機(jī)器。
缺點(diǎn):由于依賴現(xiàn)有操作系統(tǒng)的功能,某些現(xiàn)有的操作系統(tǒng)不能使用。對(duì)顯卡的分析不是好。針對(duì)X86/X64機(jī)器。
具體下載和使用方式見(jiàn):[url]http://www.sun.com/bigadmin/hcl/hcts/device_detect.html[/url]
2. Sun Intall Check
需要刻錄成光盤(pán),然后以這個(gè)光盤(pán)來(lái)啟動(dòng),最終會(huì)出一個(gè)報(bào)告,哪些設(shè)備支持,哪些設(shè)備有問(wèn)題。
優(yōu)點(diǎn):比較準(zhǔn)確;適合DIY的機(jī)器;可以批量使用。
缺點(diǎn):需要刻盤(pán); 針對(duì)X86/X64機(jī)器。
具體下載和使用方式見(jiàn):[url]http://www.sun.com/bigadmin/hcl/hcts/install_check.html[/url]
3. HCL 列表(Hardware Compatibility List)
列出了所有Sun,其他公司認(rèn)證或者第三方宣稱支持的機(jī)器,單個(gè)硬件設(shè)備,比如網(wǎng)卡,顯卡等。
優(yōu)點(diǎn):比較適合品牌PC,尤其是筆記本;非常準(zhǔn)確;并提供了可能需要額外操作配置。
缺點(diǎn):需要自己察看。
如果以上沒(méi)有找到你的硬件,你可以參考本FAQ其他條目,比如:安裝Solaris X86不能識(shí)別網(wǎng)卡怎么辦?,
安裝Solaris X86不能識(shí)別聲卡怎么辦?。最后可以考慮Google搜索一下。
2.14 在安裝的過(guò)程中出現(xiàn)“不能發(fā)現(xiàn)硬盤(pán)”的錯(cuò)誤,該怎么解決?
如果硬盤(pán)是在solaris當(dāng)前版本的HCL(硬件適配列表)中,那么一般都是BIOS設(shè)置引起的,
需要將BIOS系統(tǒng)設(shè)置頁(yè)中的“SATA Native Support”選項(xiàng)設(shè)置成“Disabled”即可。
2.15 Solaris支持雙核嗎?
支持
云杉上的蝴蝶 2008-3-24 21:40
使用/管理/配置 part 1
3.1 系統(tǒng)啟動(dòng)和關(guān)閉3.1.1 重裝 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光盤(pán)或者DVD光盤(pán),就可以重新安裝Grub 步驟:
1 設(shè)置機(jī)器并從Solaris 1/06光盤(pán)啟動(dòng)
2 在出現(xiàn)Grub界面的時(shí)候,按c進(jìn)入grub命令模式
3 找到硬盤(pán)上已安裝的Solaris系統(tǒng)的
grub>find /platform/i86pc/multiboot
(hd0,2,a)
我們也可以查找另一個(gè)文件:find /boot/grub/menu.lst
4 得到硬盤(pán)編號(hào),將它設(shè)為root device
例子里的(hd0,2,a),指的是第1塊硬盤(pán)第三個(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是指一塊硬盤(pán),該命令會(huì)將Grub文件安裝到該硬盤(pán)的MBR。
3.1.2 bootblk損壞,如何修復(fù)?
bootblk損壞,系統(tǒng)啟動(dòng)的時(shí)候會(huì)報(bào)出這樣的錯(cuò)誤"The file just loaded does not appear to be executable."。
[S10]: 從光盤(pán)啟動(dòng),在ok模式下輸入boot cdrom -s
ok boot cdrom -s
[S10u1]: 從光盤(pán)啟動(dòng),選擇6, Single User Shell
# mount /dev/dsk/c1t0d0s0 /a (將損壞硬盤(pán)映射成目錄a, 為了版本問(wèn)題,必須使用原來(lái)根系統(tǒng)里面的bootblk塊)
# installboot /a/usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t0d0s0
3.1.3 系統(tǒng)啟動(dòng)報(bào)錯(cuò),進(jìn)入單用戶模式?
公司的sun 280R,重啟時(shí)報(bào)以下錯(cuò)誤:
/sbin/rcs: /etc/vfstab cannot open INIT :cannot creat /var/adm/utmpx INIT : fail write of utmpx entry :" "
然后就提示,過(guò)入單用戶模式。但進(jìn)入單用戶模式后,什么命令都運(yùn)不了。怎么辦呀?
lxf: 是不是文件系統(tǒng)壞了或滿了?應(yīng)該是/var 沒(méi)有mount 上。 用全路徑/usr/bin/cat /etc/vfstab 看看。
用全路徑/usr/sbin/mount 去把/var 手工mount 上看看。若有必要運(yùn)行一下/usr/sbin/fsck看看。
wanglp2000 : 一般也有兩種情況: 1 就是樓上說(shuō)的,/var系統(tǒng)慢了 2 另外一種就是你的文件系統(tǒng)有問(wèn)題,對(duì)根系統(tǒng)等做fsck
[url]http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?forum=14&thread=38567[/url]
3.1.4 如何重新啟動(dòng)系統(tǒng)?
一般有兩種方式,一種是在終端方式是輸入reboot命令。另一種是在桌面方式下通過(guò)鼠標(biāo)
選取相應(yīng)的選擇項(xiàng)來(lái)完成,例如在JDS方式下可以選取java啟動(dòng)-->注銷xxx-->重啟動(dòng)計(jì)算機(jī)
或者使用
# init 6
3.1.5 如何關(guān)閉系統(tǒng)?
關(guān)閉solaris系統(tǒng)有這里提供兩種方式,一種是在終端方式下輸入shutdown命令來(lái)完成,
另一種方式是在桌面方式下通過(guò)選取相應(yīng)的選項(xiàng)來(lái)完成的。例如在JDS環(huán)境下可以選取
java 啟動(dòng)-->注銷xxx-->關(guān)閉系統(tǒng)
3.1.6 如何用命令關(guān)閉系統(tǒng)并斷電?
可以在終端方式下使用poweroff命令來(lái)完成。或者使用
# init 5
[[i] 本帖最后由 云杉上的蝴蝶 于 2008-3-24 21:55 編輯 [/i]]
云杉上的蝴蝶 2008-3-24 21:54
使用/管理/配置 part 2
3.2 系統(tǒng)基本操作3.2.1 如何虛擬光驅(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
3.2.2 如何安裝軟件包(Package)?
安裝#pkgadd -d <pkg絕對(duì)路徑名>
察看#pkginfo #pkgchk #prodreg
刪除#pkgrm <軟件包pkg名>
3.2.3 如何打Patch?
安裝#patchadd
察看#patchchk
showrev -p
刪除#patchrm
3.2.4 如何去掉文本中^M?
# dos2unix a.txt b.txt,
dos2unix會(huì)去掉a.txt中的^M,生成b.txt文件。
3.2.5 如何運(yùn)行Linux下的程序?
這里指的是C/C++應(yīng)用程序。如果你是Java或者類似的解釋型語(yǔ)言,都沒(méi)有問(wèn)題。只需要安裝相應(yīng)的解釋器就可以了。
Java程序默認(rèn)在Solaris中安裝好了。
Linux下的程序是不能直接運(yùn)行,這是由于可執(zhí)行文件格式不同。解決辦法由大概有下面幾種方法:
1. 因?yàn)長(zhǎng)inux的程序大多都是開(kāi)源的,有很多社區(qū)包括Sun公司都提供Solaris平臺(tái)下編譯好的軟件包,可以通過(guò)google搜索一下。
2. 直接獲得Linux程序的源文件,在solaris下直接編譯。
3. 通過(guò)軟件虛擬,Sun提供一個(gè)lxrun軟件作為中間層,來(lái)滿足程序所需的linux的API,該lxrun軟件含在Companion CD中,
也可免費(fèi)單獨(dú)下載:
[url]http://www.sun.com/software/solaris/freeware/[/url]
4. OpenSolaris的BrandZ技術(shù),通過(guò)Solaris的Container技術(shù)虛擬Linux,這個(gè)已經(jīng)在OpenSolaris開(kāi)源,
現(xiàn)在這個(gè)技術(shù)還沒(méi)有產(chǎn)品化,不過(guò)我們可以試先體驗(yàn)一下:
[url]http://www.sun.com/download/products.xml?id=44247cfd[/url]
這里還有一個(gè)中文安裝實(shí)例 [url]http://blog.gceclub.sun.com.cn/index.php?op=ViewArticle&articleId=943&blogId=520[/url]
5. 通過(guò)開(kāi)源Xen技術(shù):[url]http://xen.sourceforge.net/[/url]
6. 通過(guò)CPU模擬器 - QEMU, 可以在Solaris的qemu上安裝Linux: [url]http://www.blastwave.org/packages.php/qemu[/url]
3.2.6 如何打開(kāi)壓縮的文件?
在solaris下,會(huì)有這么幾種格式的壓縮文件:
1) .gz結(jié)尾的文件,用gunzip或者gzip -d來(lái)解壓,再用tar來(lái)解壓。推薦使用GNU的gtar,/usr/sfw/bin/gtar zxvf。
gtar支持長(zhǎng)文件名,bug也較少。
2) .tar結(jié)尾的文件,用tar xvf的格式來(lái)解壓。推薦使用GNU的gtar,/usr/sfw/bin/gtar xvf。
3) .zip結(jié)尾的文件,用unzip。
4) .Z結(jié)尾的文件,一般用uncompress來(lái)解壓。
3.2.7 為什么不能在/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也可以。
3.2.8 怎么讓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)
3.2.9 如何添加用戶?
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
3.2.10 忘記了root密碼,如何解決?
[S10u1|S11]:新版本的Solaris系統(tǒng)采用grub作為引導(dǎo)程序,因此不需要光盤(pán)引導(dǎo):
首先,在grub的菜單中選擇fail safe的選項(xiàng)引導(dǎo)系統(tǒng)
引導(dǎo)后,系統(tǒng)會(huì)提問(wèn)是否mount根分區(qū)到/a上,選擇是
按照前面的方法編輯/a/etc/shadow文件,保存、重啟系統(tǒng)。
[S9|S10]:用solaris的software1/2光盤(pán)引導(dǎo)系統(tǒng),修改口令即可。
首先要用光盤(pán)引導(dǎo)系統(tǒng):
[X86]:x86沒(méi)有OBP,只需要設(shè)置BIOS或者通過(guò)引導(dǎo)菜單,選擇從CDROM上引導(dǎo)系統(tǒng)。
[Sparc]:任何時(shí)候通過(guò)Stop+a(SUN鍵盤(pán))或者ctrl+break(PC鍵盤(pán))進(jìn)入到OBP提示符下輸入:
? ?ok boot cdrom -s
然后,mount根分區(qū),打開(kāi)shadow文件:
? ?mount /dev/dsk/c0t0d0s0 /mnt (這里假設(shè)你的硬盤(pán)上的/區(qū)是/dev/dsk/c0t0d0s0)
? ?vi /mnt/etc/shadow
最后,編輯shadow文件,把root用戶的密碼刪除,保存文件、重新啟動(dòng)后,就不會(huì)有口令了。
3.2.11 如何使用串口做系統(tǒng)控制臺(tái)?
1. 使用串口線連接兩臺(tái)機(jī)器A和B, 使用A做為監(jiān)視用的機(jī)器,獲取從B的輸出;
2. 修改機(jī)器A的/etc/remote文件:
hardwire:\
? ?? ? :dv=/dev/term/X:br#9600...
把上面的"X"改成實(shí)際使用的串口標(biāo)識(shí),第一個(gè)串口是"a",第二個(gè)是"b"
3. 在機(jī)器A上運(yùn)行"tip hardwire"
4. 在機(jī)器B上運(yùn)行
eeprom console=ttyX
上面的"X"應(yīng)該是實(shí)際使用的串口標(biāo)識(shí),第一個(gè)串口是"a",第二個(gè)是"b"
5. 重啟機(jī)器B, 就可以在機(jī)器A上獲得機(jī)器B的控制臺(tái)輸出
3.2.12 根目錄的空間滿了,怎么擴(kuò)容?
這個(gè)比較麻煩.如果沒(méi)有引入卷管理方式的話,擴(kuò)容/一般認(rèn)為不能這樣做. 因?yàn)樵诜峙渲娴牡刂窙](méi)有辦法做到.
SDS上增加可以用growfs veritas上:vxresize 或者vxassist
3.2.13 如何配置Xorg的配置文件?
參見(jiàn)附件 如何配置Xorg的配置文件
3.2.14 從桌面方式下如何打開(kāi)一個(gè)終端(即命令行輸入窗口)?
在JDS桌面環(huán)境下和CDE環(huán)境下分別由下面的方式進(jìn)入。
JDS桌面:??方法1.屏幕空白處右擊,從菜單中選擇“打開(kāi)終端”。
? ?? ?? ?? ?方法2.啟動(dòng) 應(yīng)用程序 實(shí)用程序 終端
CDE桌面:??方法1.屏幕空白處右擊,從工具菜單中選擇“終端”或者從主機(jī)菜單中選擇“本主機(jī)”,“終端控制臺(tái)”都可以進(jìn)入命令窗口。
? ?? ?? ?? ?方法2.從屏幕底端的菜單條的右數(shù)第三格(點(diǎn)擊其上面的上三角打開(kāi)選項(xiàng))選擇“本主機(jī)”,“控制臺(tái)”。
? ?? ?? ?? ?
3.2.15 如何查看某一個(gè)命令的使用方法?
只要在命令行下面輸入“ man 命令”就可以查看這個(gè)命令的使用方式了。
3.2.16 為什么在用man命令查看某一個(gè)命令的使用方法時(shí)提示“沒(méi)有用于xxx命令的手冊(cè)”?
有兩種情況,一種是這個(gè)命令不存在。另一種情況是這個(gè)命令的使用手冊(cè)的文檔沒(méi)有被包含在MANPATH中,
將命令的man目錄添加到MANPATH環(huán)境變量中就可以了。
3.2.17 在運(yùn)行一個(gè)可執(zhí)行的程序的時(shí)候被提示“權(quán)限被否定”是怎么回事?
這是因?yàn)殡m然他是個(gè)可執(zhí)行的程序但是沒(méi)有被賦予執(zhí)行權(quán)限。可以使用chmod +x 文件名 將這個(gè)文件設(shè)置成可以執(zhí)行的文件。
3.2.18 在solaris中如何對(duì)文件進(jìn)行常規(guī)的操作?
針對(duì)與文件的操作提供下面的信息供參考
? ?a.創(chuàng)建文件:可以使用touch ,vi ,gedit,mkfile等命令來(lái)完成,以可以使用桌面方式下提供
? ?的菜單快捷方式。例如在JDS方式鼠標(biāo)右擊并選擇創(chuàng)建文檔。
? ?b.刪除文檔:可以使用 rm 命令,也可以使用桌面方式提供的菜單項(xiàng)。終端方式下可以帶
? ?通配符進(jìn)行批量刪除操作。
? ?c.修改文檔:使用vi,gedit等修改。在桌面方式下擴(kuò)展名與應(yīng)用進(jìn)行了關(guān)聯(lián)的情況下,
? ?雙擊即可打開(kāi)修改。
? ? d.拷貝:可以使用“cp 源文件 目標(biāo)文件”命令來(lái)完成,桌面方式也提供了菜單選項(xiàng)。
? ? e.移動(dòng):可以使用“mv 源文件 目標(biāo)文件”命令完成。
3.2.19 如何創(chuàng)建目錄?
可以用mkdir –p 完整目錄名 (適用于目標(biāo)目錄不在當(dāng)前目錄或者非單層目錄)
? ?? ? mkdir??目錄名? ? (適用于目標(biāo)目錄在當(dāng)前目錄且是單層目錄)
3.2.20 如何刪除一個(gè)目錄?
可以使用“rm -R 目錄”來(lái)完成此操作。
3.2.21 如何設(shè)定文件或目錄的擁有者?
使用“chown 用戶:用戶組 文件名”來(lái)為單個(gè)文件設(shè)定擁有者。
用“chown –R 用戶:用戶組 目錄”為一個(gè)目錄設(shè)定擁有者。其中用戶組為可選項(xiàng)。
如果給出了用戶組,那么這個(gè)文件將被這個(gè)組所擁有。文件名和目錄可以使用通配符。
3.2.22 如何添加一個(gè)用戶組?
在命令行下以“groupadd 用戶組名” 就可以了。詳細(xì)信息可以用man groupadd 查看。
3.2.23 如何添加一個(gè)用戶?
用命令“useradd –d 用戶的home目錄 –s 用戶的缺省shell類型 –g 用戶所屬組 用戶”
3.2.24 如何修改一個(gè)用戶的密鑰?
可以使用“passwd 用戶名” 就可以了。需要注意的是必須有相應(yīng)的權(quán)限。一般情況下用戶都有修改自己密碼的權(quán)限。
超級(jí)用戶有修改其他用戶的權(quán)限。
3.2.25 用戶的缺省profile文件是哪一個(gè)?
這個(gè)由用戶的缺省SHELL決定的。不同的SHELL對(duì)應(yīng)的缺省profile是不一樣的。
與Bourne shell 或者 Kron shell 對(duì)應(yīng)的profile是用戶home目錄下的.profile文件
與C shell對(duì)應(yīng)的profile是用戶home目錄下的.login文件
與Bash 對(duì)應(yīng)的profile 是用戶home目錄下的.bash_profile文件
3.2.26 如何切換用戶?
可以使用“su – 用戶名” 來(lái)進(jìn)行切換。用exit退出切換用戶。
3.2.27 如何查看當(dāng)前用戶的id?
在命令行下面輸入“id 用戶名”就可以看到了。如果想看當(dāng)前用戶信息只要用“id”就可以了。
3.2.28 怎么解壓縮zip文件?
用命令“unzip zip文件包”。
3.2.29 怎么解壓縮gz文件?
用命令“gunzip gz文件包”。
3.2.30 怎么解壓縮tar文件?
用命令“tar xvf tar文件包”。
3.2.31 怎樣在命令提示符前隨著目錄的改變一直顯示當(dāng)前所在的目錄或路徑呢?
編輯HOME/.profile文件
PS1="[\u@\h]:\$PWD>$"
export PS1
或者:
PS1='[\u@\h]:$PWD>$'
export PS1
也可以直接
export PS1="[\u@\h]:\$PWD>$"
或者:
export PS1='[\u@\h]:$PWD>$'
但是只對(duì)當(dāng)前操作有效。
3.2.32 為什么在Login圖形界面中登陸失敗?
創(chuàng)建一個(gè)新用戶,嘗試登陸,如果可以,那把原來(lái)用戶目錄下的隱含目錄,和桌面相關(guān)的全部刪除,
比如.dt, .gconf, .gnome等,再次嘗試
from vincentzhang
3.2.33 怎樣才能使用中文輸入法呢?
在系統(tǒng)登陸窗口中,選擇中文方式,比如 中文UTF-8,然后輸入用戶名,密碼登陸。
這時(shí)候就可以用Ctrl + Sparce調(diào)出中文輸入法
3.2.33 在Solaris中如何打開(kāi)Winrar文件?
需要安裝unrar工具打開(kāi)Winrar文件。
下載地址: [url]http://www.rarlab.com/rar/unrar-sol-intel.gz[/url]
安裝:
gunzip unrar-sol-intel.gz
chmod +x unrar
mv unrar /usr/bin
使用方法:
unrar filename.rar
云杉上的蝴蝶 2008-3-24 22:17
使用/管理/配置 part 3
3.3 Shell操作和使用3.3.1 如何設(shè)置Shell環(huán)境變量?
[attach]496145[/attach]
3.3.2 Shell的配置文件和讀取順序?
[attach]496146[/attach]
3.3.3 如何設(shè)置當(dāng)前會(huì)話中的環(huán)境變量?
參考如何設(shè)置Shell環(huán)境變量?
3.3.4 在會(huì)話過(guò)程中如何取消已經(jīng)設(shè)置好的環(huán)境變量?
參考如何設(shè)置Shell環(huán)境變量?
3.3.5 如何查看當(dāng)前用戶的缺省SHELL?
用命令“echo $SHELL”可以查看。
/bin/bash??------------------- Bash Shell
/bin/csh? ?------------------- C Shell
/bin/ksh? ?------------------- Kron Shell
/sbin/sh? ?------------------- Bourne Shell
3.2.6 如何更改某用戶的默認(rèn)Shell?
更改用戶Shell
先創(chuàng)建一個(gè)用戶test01
useradd -m -d /export/home/test01 test01
passwd test01
登錄上去查看
echo $SHELL
確認(rèn)用戶logout并執(zhí)行用戶Shell的更改
usermod -s /bin/bash test01
確定是否更改
echo $SHELL
3.4 系統(tǒng)基本配置(系統(tǒng),CPU,內(nèi)存,網(wǎng)絡(luò))
3.4.1 如何查看OpenSolaris/Solaris的版本信息?
通常的“uname -a"命令就可以知道Solaris的版本:
想知道是哪一個(gè)Solaris Update版本,可以查看/etc/release文件。
對(duì)于曾經(jīng)使用過(guò)Opensolaris的BFU升級(jí)的用戶,應(yīng)該查看/etc/motd文件。
3.4.2 如何查看系統(tǒng)內(nèi)核是32位的還是64位的?
isainfo -b
3.4.3 如何查看系統(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è)。??
3.4.4 如何修改主機(jī)名?
新手可以使用sys-unconfig
請(qǐng)慎用這個(gè)命令,因?yàn)檫\(yùn)行這個(gè)命令后,會(huì)關(guān)機(jī),同時(shí)啟動(dòng)后,你不能通過(guò)遠(yuǎn)程連接到服務(wù)器,只能通過(guò)控制臺(tái)配置好主機(jī)名,IP等信息后才可以用的。
也可以修改以下文件:
/etc/inet/hosts
/etc/hostname.xxx(xxx代表你的網(wǎng)卡的名稱)
/etc/nodename
/etc/inet/ipnodes(ipv6協(xié)議使用的主機(jī)文件)
然后重新啟動(dòng)即可。
3.2.5 如何查看ip地址?
可以用ifconfig –a來(lái)查看。
3.4.6 如何修改IP地址?
新手可以使用sys-unconfig
(不推薦使用這個(gè)命令)
也可以修改以下文件:
/etc/hosts
/etc/hostname.xxx
/etc/defaultrouter(默認(rèn)網(wǎng)關(guān))
/etc/netmasks(掩碼)
/etc/inet/ipnodes
然后重新啟動(dòng)系統(tǒng),或者用ifconfig 來(lái)添加臨時(shí)的IP地址.用route add default xxx.xxx.xxx.xxx來(lái)添加臨時(shí)的默認(rèn)網(wǎng)關(guān),用這些命令更改的設(shè)置,在系統(tǒng)重啟后就不會(huì)保存的。
3.4.7 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
3. 最后我們可以通過(guò)nslookup來(lái)確認(rèn),設(shè)置是否正確。例如,如果設(shè)置的是Internet的DNS服務(wù)器的話,我們就可以:
nslookup [url]www.sun.com[/url]
3.4.8 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)卡適配器的名字的我們可以通過(guò)ifconfig -a 或者文件/etc/path_to_inst得到。如果需要立即使用dhcp的話,可以執(zhí)行一下命令:
# ifconfig <interface> dhcp start
3.4.9 網(wǎng)絡(luò)配置生效的問(wèn)題?
[attach]496147[/attach]
3.4.10 Solaris下如何修改mac地址?
用ifconfig 命令即可修改mac地址,假設(shè)接口名為nge0,要將mac地址修改為aa:bb:cc:dd:ee:ff,可以運(yùn)行如下命令:
# ifconfig nge0 ether aa:bb:cc:dd:ee:ff
要永久生效,在/etc/hostname.nge0添一行
ether aa:bb:cc:dd:ee:ff
3.4.11 如何察看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行開(kāi)始看,如果sr列數(shù)值比較大,就表明內(nèi)存緊張。
Solaris 9開(kāi)始,可以使用mdb來(lái)查看內(nèi)存:
? ?# echo ::memstat | mdb -k
如需要看具體那個(gè)進(jìn)程占用內(nèi)存的情況可以使用:prstat -a 另外還有GNU的top命令(top需要從[url]www.sunfreeware.com[/url]上下載安裝)
[S8]:Solaris 8的mdb命令沒(méi)有::memstat命令,需要從[url]www.solarisinternals.com[/url]下載,然后運(yùn)行如下命令裝入::memstat:
? ?# mdb -k
? ?>::load memory
? ?>::memstat
就可以看你真實(shí)的物理內(nèi)存的占用情況了。
3.4.12 Solaris下如何給機(jī)器添加一個(gè)新硬件?
[Sparc|X86]:添加好新硬件后,啟動(dòng)系統(tǒng)后,執(zhí)行drvconfig或者devfsadm即可檢測(cè)到新硬件。例如,添加新的硬盤(pán),在硬盤(pán)加好后,執(zhí)行一下drvconfig disks或者devfsadm。
另外,可以在關(guān)機(jī)或重啟系統(tǒng)時(shí),設(shè)置開(kāi)機(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è)備的說(shuō)明書(shū)進(jìn)行安裝.
[Sparc]:關(guān)掉電源添加SUN相應(yīng)的設(shè)備后,啟動(dòng)時(shí)按住stop+A(SUN鍵盤(pán)),ctrl+break(PC鍵盤(pán))進(jìn)入OBP提示符ok下,然后boot -r
某些支持動(dòng)態(tài)配置和熱插拔的硬件的Sparc服務(wù)器,可以用cfgadm和devfsadm在不停機(jī)狀態(tài)下增加硬件,詳見(jiàn)手冊(cè)。
[X86]:關(guān)掉電源添加相應(yīng)的設(shè)備后,啟動(dòng)時(shí)輸入b -r
3.4.13 Solaris下如何修改網(wǎng)卡的傳輸模式呢?
用ndd /dev/hme \? 看到的link_mode是只讀的不能修改.但是可以觀看.
ndd -get /dev/hme link_mode 1 = Full Duplex (FDX) 0 = Half Duplex (HDX)
3.4.14 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)添加,那么可省去此步。通過(guò)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)
如果沒(méi)有,那么從solaris的第二張安裝光盤(pán)盤(pán)中進(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
存盤(pán)退出由于你的ISP需要對(duì)你進(jìn)行密碼驗(yàn)證,所以你還要編輯一下密碼文件,但是ISP可能用到的文件是/etc/ppp/chap-secrets和 /etc/ppp/pap-secrets 因此分別要到這兩個(gè)文件中的最后一行中追加: username * password 我要提醒的是:上行中的字段之間是TAB鍵分割的,而不是空格。到此為止,配置已經(jīng)結(jié)束了,接下來(lái)就是撥號(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地址信息,主要是確保物理線路是否存在問(wèn)題。
# /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)單的寫(xiě)成一個(gè)教本,開(kāi)機(jī)自動(dòng)執(zhí)行。
# vi /etc/rc2.d/S48bohao? ?? ???添加如下幾行
sppptun plumb pppoed hme1
sppptun plumb pppoe hme1
/usr/bin/pppd call bohao
存盤(pán)退出
# chmod u+x /etc/rc2.d/S48bohao
到此,服務(wù)器的撥號(hào)設(shè)置告一段落。 (轉(zhuǎn)自CU網(wǎng)友nimysun)
3.4.15 如何設(shè)置域名?
A.可以通過(guò)下面的幾個(gè)步驟設(shè)置域名。
1) 創(chuàng)建/etc/defaultdomain文件
用vi或者gedit編輯 /etc/defaultdomain,在該文件中加入domainname, 比如prc.sun.com,保存退出。
該配置重啟后有效,可以通過(guò)domainname命令動(dòng)態(tài)修改。
# domainname prc.sun.com
可以通過(guò)domainname來(lái)再次確認(rèn)是否修改成功。
# domainname
prc.sun.com
2) 在/etc/hosts加入一行新的記錄(格式為 .)用vi或者gedit編輯 /etc/hosts
加入一行新的記錄,比如129.158.2.104 myhostname.prc.sun.com,保存退出即可。
可以通過(guò)ping命令來(lái)確認(rèn)是否有效。
3.4.16 如何設(shè)置兩個(gè)網(wǎng)關(guān)?
來(lái)自lxf在SDN China論壇的回答:
[url]http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?forum=14&thread=41005[/url]
不要用靜態(tài)路由,把/etc/defaultrouter 干掉。
用動(dòng)態(tài)路由(通過(guò)路由協(xié)議自動(dòng)發(fā)現(xiàn)路由)。
先確認(rèn)動(dòng)態(tài)路由是否激活:
#routeadm 回車(chē),如果發(fā)現(xiàn)沒(méi)有,則:
#routeadm -e ipv4-routing
#routeadm -u
如果你非要自己指定網(wǎng)關(guān),則創(chuàng)建/etc/gateways文件,里面加上:
net <remote network address> gateway <gateway-ip address> metric <hops> passive
(passive表示盡量用靜態(tài)配置,不交換路由協(xié)議的信息)
3.4.16 如何修改默認(rèn)locale?
修改文件/etc/default/init,添加或者修改行(其中l(wèi)ocale用實(shí)際要設(shè)定的locale替代)
? ?? ?LANG=locale
也可以用命令sys-unconfig重新設(shè)置系統(tǒng)默認(rèn)語(yǔ)言網(wǎng)絡(luò)。
3.2.17 如何查看網(wǎng)關(guān)信息?
可以使用“ netstat -r”命令進(jìn)行查看。
[[i] 本帖最后由 云杉上的蝴蝶 于 2008-3-24 22:34 編輯 [/i]]
云杉上的蝴蝶 2008-3-24 22:50
使用/管理/配置 part 4
3.5 存儲(chǔ)設(shè)備使用(硬盤(pán),USB硬盤(pán),CD, DVD等)3.5.1 如何查看solaris下安裝了有幾塊硬盤(pán)?
format命令可以看有幾塊物理盤(pán)
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è)盤(pán) 再按Q退出菜單。也可直接按Ctrl+D的組合鍵退出
3.5.2 如何在Solaris下使用USB存儲(chǔ)設(shè)備?
[S11|S10]: Solaris可以自動(dòng)檢測(cè)并mount USB存儲(chǔ)設(shè)備上的文件系統(tǒng),在CDE和JDS下會(huì)自動(dòng)在桌面上給出U盤(pán)的文件夾,不過(guò)要等一會(huì)兒,大概半分鐘的時(shí)間不到。
如果系統(tǒng)沒(méi)有自動(dòng)識(shí)別,主要有以下2種情況:
1.較早版本的Solaris的vold不能立即檢測(cè)熱插拔,需要重新啟動(dòng)vold才可以識(shí)別:
將U盤(pán)插入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盤(pán),如果不是,請(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è)備(以FAT32,即PCFS格式為例):
# mount -F pcfs /dev/dsk/c3t0d0p0:c /mnt
卸載U盤(pán)前,需要確保該mount目錄沒(méi)有正在使用:
? ?# umount /mnt
? ?# eject rmdisk0
或者,
? ?# umount /mnt
? ?# eject??/dev/rdsk/c3t0d0p0
需要注意的是,Solaris現(xiàn)在支持的硬盤(pán)文件系統(tǒng)格式只有:ufs,hsfs(用于光盤(pán)),pcfs(就是DOS,Windows用的FAT32)和udfs。如果你用的USB設(shè)備是FAT或者NTFS,現(xiàn)在還不能使用。
3.5.3 如何mount上文件系統(tǒng)為FAT32/PCFS/DOS的硬盤(pán)? \
如何mount上文件系統(tǒng)為FAT32/PCFS/DOS的硬盤(pán)?
Wikipedia,自由的百科全書(shū)
先創(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>是指硬盤(pán)的設(shè)備名。可以參考format命令的。在Solaris X86中硬盤(pán)的設(shè)備名的通常命名方式是含有
Controller,Target,Disk和Partition的信息。舉個(gè)例子/dev/dsk/c0t0d0p0
<logical-drive>是指在DOS中硬盤(pán)有英文盤(pán)符(從c到z)來(lái)區(qū)別,也可以用數(shù)字(從1到24)代表。即C盤(pán)對(duì)應(yīng)1,即D盤(pán)對(duì)應(yīng)2,依此類推。
其中參數(shù)rw是指read,write,即可讀寫(xiě)。也可用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,可以同過(guò)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)后,需要通過(guò)mount再次加載。不過(guò)我們可以讓系統(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)說(shuō)明要加載的硬盤(pán)設(shè)備名。第二項(xiàng)說(shuō)明相應(yīng)的硬盤(pán)裸設(shè)備名,用于fsck使用。第三項(xiàng)說(shuō)明加載點(diǎn)目錄。
第四項(xiàng)說(shuō)明文件系統(tǒng)的類型。第五項(xiàng)用于fsck的參數(shù)。第六項(xiàng)說(shuō)明是否在啟動(dòng)時(shí)候加載。
最后一項(xiàng)定義系統(tǒng)mount加載時(shí)候的參數(shù)。
3.5.4 如何檢查硬盤(pán)壞道,修復(fù)硬盤(pán)壞道?
先把硬盤(pán)unmount
# unmount /dev/dsk/disk-name
# format
先選擇硬盤(pán),接著選擇鍵入analyze,然后選擇鍵入read。
要修復(fù)的話,就在選擇硬盤(pán)后,不選擇analyze,選擇repair。
或者:
# iostat -En
3.5.5 如何刻錄光盤(pán)?
Solaris 自帶的cdrw工具既支持cd刻錄也支持dvd刻錄。常見(jiàn)用法:
從iso文件刻錄。從網(wǎng)上下載的光盤(pán)映象文件一般為iso格式.
# cdrw -i /full-path/xxx.iso
復(fù)制光盤(pán):
# cdrw -c [-m tmpdir]??會(huì)提示你換盤(pán)的。
刻錄一些目錄文件到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). 然后再?gòu)膇so文件刻錄:
# cdrw -i /full-path/xxx.iso
抹除CD-RW的內(nèi)容
# cdrw -b fast
3.5.6 如何制作光盤(pán)鏡像iso文件?
這反而成了麻煩事,要?jiǎng)?chuàng)建iso文件:
# mkisofs -o xxx.iso -J -R /full-path-data/
或者直接從光驅(qū)抓取iso文件
#dd if=/device-path of=/full-path-data/disk1.iso
(比如我的光驅(qū)路徑為/vol/dev/rdsk/c1t0d0/tlw7_disk1,相應(yīng)的命令為
#dd if=/vol/dev/rdsk/c1t0d0/tlw7_disk2 of=/export/home/share/tlw7_disk2.iso
建議使用-J -R 選項(xiàng)以同時(shí)支持Windows下的長(zhǎng)文件名格式(Joliet)和Unix下的長(zhǎng)文件名格式(Rock Ridge).
然后再?gòu)膇so文件刻錄:
# cdrw -i /full-path/xxx.iso
3.5.7 如何mount上文件系統(tǒng)為FAT32/PCFS/DOS的硬盤(pán)顯示中文文件和文件夾?
這基本上就沒(méi)辦法了。放棄吧。如果有高手知道請(qǐng)說(shuō)出來(lái)。
3.5.8 如何mount上EXT文件系統(tǒng)?
來(lái)自saky 的 [url]http://bbs.chinaunix.net/viewthread.php?tid=871738&extra=page%3D1[/url]
Usage: Mounting EXT2FS
--------------------------------------------------------------------------------
To mount an EXT2FS partition you first need to identify logical device name of the partition. Execute /usr/bin/prtpart without arguments to see the physical device name of your harddisk. It will be of the form: /dev/rdsk/cNdNp0. This will also display information about the entire partition table.
Note: For more info on prtpart execute prtpart -help
Now execute: /usr/bin/prtpart /dev/rdsk/cNdNp0 -ldevs
to list out all the logical devices and the partition types. Your Linux partitions will be listed as "Linux Native".
Now execute: mount -F ext2fs <logical device name> <mountpoint>
to mount the EXT2FS partition.
主要命令: prtpart /dev/dsk/c0d0p0 -ldevs
輸出 : bash-3.00# prtpart /dev/rdsk/c0d0p0 -ldevs
Fdisk information for device /dev/rdsk/c0d0p0
NOTE
/dev/dsk/c0d0p0 - Physical device referring to entire physical disk
/dev/dsk/c0d0p1 - p4 - Physical devices referring to the 4 primary partitions
/dev/dsk/c0d0p5 ... - Virtual devices referring to logical partitions
Virtual device names can be used to access EXT2 and NTFS on logical partitions
/dev/dsk/c0d0p1 IFS: NTFS
/dev/dsk/c0d0p2 WIN95 Extended(LBA)
/dev/dsk/c0d0p5 WIN95 FAT32(Upto 2047GB)
/dev/dsk/c0d0p6 IFS: NTFS
/dev/dsk/c0d0p7 Linux native
/dev/dsk/c0d0p8 Linux swap
/dev/dsk/c0d0p3 Solaris x86
然后:
bash-3.00# mount -F ext2fs /dev/dsk/c0d0p7 /mnt
bash-3.00# xlsmounts
PHYSICAL DEVICE? ?? ?? ?? ?? ???LOGICAL DEVICE? ?? ?FS? ? PID? ?? ?? ?ADDR Mounted on
/dev/dsk/c0d0p0? ?? ?? ?? ?? ? /dev/dsk/c0d0p7??ext2fs? ?1661??127.0.0.1:/ /mnt
bash-3.00#
大功告成!用了我一個(gè)多小時(shí)的時(shí)間找這個(gè)東西,特此分享!
測(cè)試平臺(tái):Sun Solaris 10 X86, OpenSUSE 10.0.2
HOW TO Install
--------------------------------------------------------------------------------
1) Install the FSWpart package
??Download [url]http://www.belenix.org/binfiles/FSWpart.tar.gz[/url]
??Uncompress:??gunzip -c FSWpart.tar.gz | tar xvf -
??Install:??pkgadd -d . FSWpart
2) Install the FSWfsmisc package
??Download [url]http://www.belenix.org/binfiles/FSWfsmisc.tar.gz[/url]
??Uncompress:??gunzip -c FSWfsmisc.tar.gz | tar xvf -
??Install:??pkgadd -d . FSWfsmisc
3.5.9 如何mount上NTFS文件系統(tǒng)(read-only)?
Download the binaries from [url]http://sourceforge.net/project/showfiles.php?group_id=169514[/url]
Warning You use this program on your own risk !!! *
For mounting a NTFS filesystem. Follow the below procedure.
bash-3.00~# fdisk /dev/rdsk/c1d0s0
Below is the sample output for the disk c1d0s0
? ?? ?? ?? ?Total disk size is 38765 cylinders
? ?? ?? ?? ?Cylinder size is 4032 (512 byte) blocks
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?
Cylinders
? ???Partition? ?? ?? ?? ? Status? ?? ?? ?Type? ?? ?? ?Start? ?? ? End? ?? ?? ?Length? ?? ? %
? ???====================== ======================================
? ?? ???1? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???Diagnostic? ?? ? 0? ?? ???1525? ?? ?? ?1526? ?? ???4
? ?? ???2? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?IFS:NTFS? ???1526? ?? ?7769? ?? ?? ? 6244? ?? ?16 <== NTFS
? ?? ???3? ?? ?? ?? ?? ?? ???Active? ?? ? Solaris2? ?? ?7770? ?? ? 20773? ?? ?13004? ?? ?34
? ?? ???4? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? EXTLBA? ? 20774? ?? ?38763? ?? ? 17990? ?? ?46
SELECT ONE OF THE FOLLOWING:
??1. Create a partition
??2. Specify the active partition
??3. Delete a partition
??4. Change between Solaris and Solaris2 Partition IDs
??5. Exit (update disk configuration and exit)
??6. Cancel (exit without updating disk configuration)
Enter Selection: 5
Press 5 to exit from fdisk menu. Note that your NTFS partition here is 2 .
Now to mount the NTFS filesystem run the below command.
bash-3.00# ./mount_ntfs.opensol-x86-binary /dev/rdsk/c1d0p2 /mnt/windows
To unmount the file system type "kill 15554".
bash-3.00# mount / on /dev/dsk/c1d0s0 read/write/setuid/devices/intr/largefiles/logging/xattr/οnerrοr=panic/dev=1980000
on Wed Jul 12 16:01:09 2006 /devices on /devices read/write/setuid/devices/dev=4380000
on Wed Jul 12 16:00:47 2006 /system/contract on ctfs read/write/setuid/devices/dev=43c0001
on Wed Jul 12 16:00:47 2006 /proc on proc read/write/setuid/devices/dev=4400000
on Wed Jul 12 16:00:47 2006 /etc/mnttab on mnttab read/write/setuid/devices/dev=4440001
on Wed Jul 12 16:00:47 2006 /etc/svc/volatile on swap read/write/setuid/devices/xattr/dev=4480001
on Wed Jul 12 16:00:47 2006 /system/object on objfs read/write/setuid/devices/dev=44c0001
on Wed Jul 12 16:00:47 2006 /lib/libc.so.1 on /usr/lib/libc/libc_hwcap2.so.1 read/write/setuid/devices/dev=1980000
on Wed Jul 12 16:01:00 2006 /dev/fd on fd read/write/setuid/devices/dev=4680001 on Wed Jul 12 16:01:09 2006 /tmp
on swap read/write/setuid/devices/xattr/dev=4480002
on Wed Jul 12 16:01:11 2006 /var/run
on swap read/write/setuid/devices/xattr/dev=4480003
on Wed Jul 12 16:01:11 2006 /data
on /dev/dsk/c1d0p1 read/write/setuid/devices/hidden/nofoldcase/dev=1980011
on Wed Jul 12 16:01:18 2006 /mnt/windows
on 127.0.0.1:/ remote/read only/setuid/devices/port=53805/public/vers=2/proto=udp/xattr/dev=4740003
on Wed Jul 12 18:02:25 2006
For unmounting the filesystem you need to kill the process. eg) bash-3.00# kill 15554
3.6 系統(tǒng)軟件使用
3.6.1 常用軟件下載
Web瀏覽器:
Mozilla FireFox: [url]ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.1/contrib/[/url]
郵件客戶端:
Mozilla Thunderbird: [url]ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/1.5/contrib/[/url]
Acrobat: Solaris下有PDF閱讀器嗎?
辦公軟件:
Solaris 10自帶StarOffice 7。也選擇高版本的OpenOffice 2.0,該版本對(duì)應(yīng)于StarOffice 8.0。
多媒體播放器:
RealPlayer:[url]http://forms.helixcommunity.org/helix/builds/?category=realplay-stable[/url]
聊天工具:
gaim
3.6.2 Solaris軟件下載站點(diǎn)
Sun Solaris Companion CD
Sunfreeware
BlastWave
Solaris Packages Archive
3.6.3 Solaris下有PDF閱讀器嗎?
Solaris 11 集成了一個(gè)PDF閱讀器:Evince,可以在所有平臺(tái)上使用。
Solaris Express on sparc集成了Acrobat Reader,但是最新的Acrobat Reader目前不支持Solaris x86。
不過(guò)有一個(gè)4.05版 可以在Solaris x86上,看一般的PDF文檔和中文都沒(méi)有問(wèn)題:
[url]http://download.adobe.com/pub/adobe/acrobatreader/unix/4.x/sunx86-ar-405.tar.gz[/url]
[url]http://download.adobe.com/pub/adobe/acrobatreader/unix/4.x/chsfont.tar.gz[/url]
3.6.4 Solaris有電子詞典嗎?
如果有SUNWstardict,就運(yùn)行:
/usr/bin/stardict
更多中文詞典:[url]http://stardict.sourceforge.net/Dictionaries_zh_CN.php[/url]
3.7 系統(tǒng)常用服務(wù)管理(Telnet,FTP, SSH等)
3.7.1 使用FTP時(shí),不能以root用戶登錄系統(tǒng),應(yīng)修改什么配置文件?
打開(kāi)文件 ftpusers,如果有root,行首加#號(hào)注釋掉就可以了。
[S10]Solaris 10 ftpusers文件在/etc/ftpd目錄下。
3.7.2 使用Telnet時(shí),不能以root用戶登錄系統(tǒng),應(yīng)修改什么配置文件?
將/etc/default/login把CONSOLE=/dev/console該行注釋掉,就可以用root遠(yuǎn)程telnet本機(jī)。
3.7.3 使用SSH時(shí),不能以root用戶登錄系統(tǒng),應(yīng)修改什么配置文件?
[S10]
將/etc/ssh/sshd_config文件中的PermitRootLogin的值改為yes,重啟ssh服務(wù),就可以用root遠(yuǎn)程telnet本機(jī)。
重啟命令:
# svcadm restart network/ssh
3.7.4 使用Samba,如何在客戶機(jī)上顯示中文?
[S10]Solaris 10自帶的samba3.0.4 用/etc/sfw缺省配置,在WinXP下去訪問(wèn)沒(méi)甚么問(wèn)題,只是用telnet終端去看發(fā)現(xiàn)是亂碼。查了以下man samba, 發(fā)現(xiàn)unix charset 缺省是UTF-8編碼的。因此修改 smb.conf的[global]節(jié),加上:
unix charset = GBK
dos charset = GBK
display charset = GBK
重啟samba即O.K. 注意不要寫(xiě)成zh.GBK, zh_CN.GBK, zh.UTF-8, ASCII,都沒(méi)用。
另外sunsolve.sun.com上有新的samba patch,可以讓你升級(jí)到3.0.11.
Solaris 9上沒(méi)問(wèn)題可能是因?yàn)閟olaris 9上自帶的samba是2.x版本的,
好想你以zh.GBK的locale起動(dòng)samba不需要特別的設(shè)置,中文都能正常顯示
[url]http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?forum=14&thread=33758[/url]
3.7.5 如何使用Samba實(shí)現(xiàn)Solaris10與Windows間的文件共享?
詳見(jiàn)本論壇配置SAMBA相關(guān)帖子:
3.7.6 如何限制用戶可使用FTP不能用Telnet?
[S10] 需要自己創(chuàng)建一個(gè)/etc/shells。添加一行 bash-3.00# cat /etc/shells /bin/true bash-3.00# grep user1 /etc/passwd user1:x:60005:1::/export/home/user1:/bin/true
這樣該用戶就可以ftp,但不可以有shell會(huì)話了。
3.7.7 如何限制用戶FTP只能使用指定目錄?
[S10]如果你要限制用戶ftp后只能在指定目錄活動(dòng),則修改/etc/ftpd/ftpaccess 加上 (例子): guestuser user1 guest-root /tmp user1
這樣,user1用戶ftp登陸后,就進(jìn)到了/tmp下,但隨后就被chroot了,即根目錄變成了/tmp。這樣用戶就不能到其它地方活動(dòng)了。
3.11 Oracle
3.11.1 Oracle能安裝在Solaris 10 x86-32上嗎?
Oracle 10g r2只支持Solaris 10 x86-64,而Oracle 10g r1只有32-bit。裝Oracle 10g r1時(shí),在Disk1/install/oraparam.ini文件里
Solaris=5.6,5.7,5.8,5.9 加上5.10 就可以了。
3.12 系統(tǒng)安全管理
3.12.1 如何修改登陸系統(tǒng)記錄
1.首先用fwtmp命令將wtmpx文件轉(zhuǎn)化為ASCII格式
/usr/lib/acct/fwtmp </var/adm/wtmpx >dump
2.然后修改其中不需要的記錄
vi dump
3.最后把修改后的文件轉(zhuǎn)化為二進(jìn)制格式
/usr/lib/acct/fwtmp -ic <dump >/var/adm/wtmpx
4.執(zhí)行l(wèi)ast命令查看修改后的記錄
[[i] 本帖最后由 云杉上的蝴蝶 于 2008-3-25 17:17 編輯 [/i]]
云杉上的蝴蝶 2008-3-24 22:59
占位待編輯!~~云杉上的蝴蝶 2008-3-24 23:00
應(yīng)用程序開(kāi)發(fā)
4.1 Sun Studio4.1.1 Sun Studio是免費(fèi)的嗎?
Sun Studio是一個(gè)C/C++, Fortan的IDE開(kāi)發(fā)環(huán)境,含有C/C++, Fortan編譯器。
可以在Solaris平臺(tái)(SPARC,X86)和Linux平臺(tái)上使用。
Sun Studio最新版本是11,是完全免費(fèi)下載,免費(fèi)使用的。下載地址是:[url]http://developers.sun.com/sunstudio/downloads/index.jsp[/url]
4.1.2 哪里可以下載到Sun Studio?
[url]http://developers.sun.com/sunstudio/downloads/index.jsp[/url]
需要Sun SDN(Sun Developer Network)賬號(hào),可以免費(fèi)注冊(cè)獲得。
4.1.3 Sun Studio和GCC相比有什么優(yōu)勢(shì)?
主要是在性能Performance, 并行運(yùn)算Parallelism,和工作效率Productivity
性能
打破多項(xiàng)世界紀(jì)錄,具體可以參考[url]http://developers.sun.com/sunstudio/products/benchmarks.html[/url]
特別是在SPARC平臺(tái),對(duì)SPARC芯片支持的更好,性能比GCC表現(xiàn)更加出色。
含有特別優(yōu)化的Sun Performance Library。
并行運(yùn)算
支持目前主流的多核CPU: UltraSPARC IV+(雙核), UltraSPARC T1(8核),AMD Opteron(雙核), Intel Xeon。
并能夠充分發(fā)揮其硬件優(yōu)勢(shì)。
能夠支持Automatic Parallelization,支持MT模型,自動(dòng)優(yōu)化程序。
提供OpenMP 2.5 API。
提供MPI庫(kù)。
提供Thread Local Storage。
工作效率
是基于Netbeans,是一個(gè)圖形化的IDE工具。
調(diào)試器:dbx,可以支持圖形化和控制臺(tái)模式的調(diào)試。
具有性能檢測(cè)器Performance Analyzer,可以幫助你發(fā)現(xiàn)程序的熱點(diǎn)(hotspot)。
具有Data Race檢測(cè)器(Data Race Detection Tool)。
具有l(wèi)ock_int工具幫助你檢測(cè)多線程情況下的鎖。
具有dmake,可以充分利用現(xiàn)有多cpu或者集群,更快地編譯你的代碼。
4.1.4 用dbx打開(kāi)core文件后,敲入where命令后dbx崩潰?
先確保Sun Studio的patch都已經(jīng)到上。Patch下載地址:
[url]http://developers.sun.com/prodtech/cc/downloads/patches/index.jsp[/url]
如果需要看堆棧,往往這個(gè)對(duì)大家比較重要,我們可以用pstack命令察看core文件的堆棧。
4.1.5 如何卸載Sun Studio?
需要root權(quán)限。
# cd /var/sadm/prod/com.sun.studio_11
# ./batch_uninstall_all
4.2 Java
4.2.1 Solaris10在安裝完成后是否已經(jīng)預(yù)裝了JDK?
Solairs10在安裝完成后會(huì)預(yù)裝JDK的。一般會(huì)有兩個(gè)版本的JDK,一個(gè)是1.4.2,另一個(gè)是1.5.0。
4.2.2 JDK安裝在什么目錄下?
在solaris10中JDK被安裝的總目錄是/usr/jdk,在這個(gè)目錄下具體版本的JDK有其各自的目錄。例如:j2sdk1.4.2_08或者jdk1.5.0_04等。
4.2.3 如何查看當(dāng)前java的版本?Solaris10默認(rèn)的版本是哪一個(gè)?
在命令行下面使用 java -fullversion 可以對(duì)當(dāng)前版本的。
Solaris10中以1.5.0作為缺省的版本。
4.2.4 如果想把Solaris10中的缺省JDK從1.5改變?yōu)?.4,如何操作?
請(qǐng)用下面的命令完成,(其中的jdk目錄要根據(jù)實(shí)際的情況填寫(xiě))
? ?? ?? ?? ?#rm /usr/java
? ?? ?? ?? ?#ln –s /usr/jdk/j2sdk1.4.2_08 /usr/java
4.2.5 如何設(shè)置java環(huán)境變量?
一般有這么兩種方式。
臨時(shí)用:在命令行下面用用命令設(shè)置即可,見(jiàn)第二部分中對(duì)“如何設(shè)置當(dāng)前會(huì)話中的
環(huán)境變量”的解答。
? ?? ?? ?用戶級(jí):在用戶的缺省profile中進(jìn)行設(shè)置。
4.2.6 如何查看java進(jìn)程是否已經(jīng)啟動(dòng)?
可以用命令ps -ef|grep java來(lái)查看。
4.3 Solaris下如何安裝gcc編譯器?
[S10|S11] Solaris10以后,gcc缺省安裝在/usr/sfw/bin目錄下。因此,只需要設(shè)置好環(huán)境變量即可:
PATH=/usr/sfw/bin:/usr/ccs/bin:$PATH; export PATH
需要不同版本的gcc,可以從Sun官方網(wǎng)站上下載Companion CD或者單個(gè)包:
[url]http://www.sun.com/software/solaris/freeware/[/url] 也有Solaris 8,9的Companion CD.
[S9] 另外,還可以到大名鼎鼎的sunfreeware或者blastwave.org去直接下載二進(jìn)制文件來(lái)安裝
4.4 Solaris下cc為什么不能用?
當(dāng)運(yùn)行/usr/ucb/cc時(shí),提示“l(fā)anguage optional software package not installed”。
這是因?yàn)檫@個(gè)cc并不是一個(gè)編譯器,它是為了編譯BSD兼容程序而準(zhǔn)備的一段腳本程序,
我們可以直接使用solaris自帶的編譯器:/usr/sfw/bin/gcc
如果想要其他的版本的gcc可以到Sun的官方站點(diǎn)免費(fèi)下載[url]http://www.sun.com/software/solaris/freeware/[/url]
當(dāng)然如果要追求最好的性能,可以選擇Sun公司的編譯器:Sun Studio 11,它也是免費(fèi)的。
下載地址:[url]http://developers.sun.com/prodtech/cc/products/get.html[/url]
4.5 在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庫(kù)的實(shí)現(xiàn):
3SOCKET - BSD風(fēng)格socket庫(kù),大多數(shù)GNU/Linux軟件使用這個(gè)庫(kù)
3XNET - 標(biāo)準(zhǔn)socket庫(kù)
因此Solaris socket庫(kù)并不包含在libc中,需要給鏈接器指定-lsocket參數(shù)。
4.6 Python在Solaris下是默認(rèn)安裝的嗎?
[S10] Python在含在Solaris 10光盤(pán)中,安裝的時(shí)候可以選擇是否安裝。
可以通過(guò)以下方式察看是否安裝:
# 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
4.7 如何修改文件描述符限制?
Solaris有兩個(gè)參數(shù)控制進(jìn)程可打開(kāi)的文件描述符:rlim_fd_max,rlim_fd_cur。前者修改是個(gè)硬設(shè)置,
修改需要權(quán)限,后者是個(gè)軟設(shè)置,用戶可以limit或者setrlimit() 修改,該值最大不能超過(guò)前者。
一般我們?cè)?etc/system里修改這兩個(gè)參數(shù)
set rlim_fd_max = 65535
set rlim_fd_cur = 65535
4.8 如何獲取Solaris系統(tǒng)信息(磁盤(pán)動(dòng)態(tài)使用,內(nèi)存的使用,文件系統(tǒng),網(wǎng)卡信息和IP地址)?
來(lái)自xinfeng blog [url]http://blog.gceclub.sun.com.cn/index.php?op=ViewArticle&articleId=1222&blogId=520[/url]
(一)獲取磁盤(pán)的動(dòng)態(tài)使用狀況
--------------------------------------------------------------------------------
其實(shí)系統(tǒng)的動(dòng)態(tài)信息都可以從Solaris里的kstat工具得到。vmstat之類的工具都是基于kstat。有一篇很好的文章講了kstat的基本知識(shí)和數(shù)據(jù)結(jié)構(gòu),要想寫(xiě)出適合自己要求的系統(tǒng)監(jiān)控代碼,應(yīng)該先看看這篇文章:[url]http: //developers.sun.com/solaris/articles/kstatc.html[/url]
以下的例子就是根據(jù)這篇文章里的代碼改寫(xiě)的。
#include <kstat.h>
#include <stdio.h>
#include <inttypes.h>
#include <unistd.h>
#define SLEEPTIME 5
unsigned int sleep(unsigned int);
void my_io_display(char *, char *, kstat_io_t);
main(int argc, char *argv[])
{
? ? ? ? ? ? ? ? kstat_ctl_t *kc;
? ? ? ? ? ? ? ? kstat_t *ksp;
? ? ? ? ? ? ? ? kstat_io_t kio;
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? kc = kstat_open();
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? while(1) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(kstat_chain_update(kc))
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(stderr, "<<State Changed>>n");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for (ksp = kc->kc_chain; ksp != NULL; ksp = ksp->ks_next) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (ksp->ks_type == KSTAT_TYPE_IO && strcmp(ksp->ks_class,"disk") == 0) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? kstat_read(kc, ksp, &kio);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? my_io_display(ksp->ks_name, ksp->ks_class, kio);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sleep(SLEEPTIME);
? ? ? ? ? ? ? ? } /* while(1) */
}
void my_io_display(char *devname, char *class, kstat_io_t k)
{
printf("Name: %s Class: %sn",devname,class);
printf("tnumber of bytes read %lldn", k.nread);
printf("tnumber of bytes written %lldn", k.nwritten);
printf("tnumber of read operations %dn", k.reads);
printf("tnumber of write operations %dn", k.writes);
}
(二)獲取內(nèi)存的動(dòng)態(tài)使用狀況
--------------------------------------------------------------------------------
這個(gè)稍微麻煩點(diǎn)兒,因?yàn)閗stat的vminfo保存的是自系統(tǒng)啟動(dòng)以來(lái)累計(jì)信息,因此要計(jì)算兩次采樣時(shí)間之間的差值。
#include <kstat.h>
#include <stdio.h>
#include <inttypes.h>
#include <unistd.h>
#include <sys/sysinfo.h>
#define SLEEPTIME 5
#define pgtok(a) ((a) * (pagesize >> 10))
unsigned int sleep(unsigned int);
main(int argc, char *argv[])
{
??? ? ? ? kstat_ctl_t *kc;
? ? ? ? kstat_t *ksp;
? ? ? ? vminfo_t vminfo, old_vminfo;
? ? ? ? int pagesize = sysconf(_SC_PAGESIZE);
? ? ? ? ? ? ? ?
? ? ? ? kc = kstat_open();
? ? ? ? ksp = kstat_lookup(kc, NULL, -1,"vminfo");
? ? ? ? kstat_read(kc, ksp, &old_vminfo);
? ? ? ? sleep(SLEEPTIME);
? ? ? ? ? ? ? ?
? ? ? ? while(1) {
? ? ? ? ? ? ? ? ? ? ? ? if(kstat_chain_update(kc))
? ? ? ? ? ? ? ? ? ? ? ? fprintf(stderr, "<<State Changed>>n");
? ? ? ? ? ? ? ? ? ? ? ? ksp = kstat_lookup(kc, NULL, -1,"vminfo");
? ? ? ? ? ? ? ? ? ? ? ? kstat_read(kc, ksp, &vminfo);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? printf("Free memory: %uKBn", pgtok((vminfo.freemem - old_vminfo.freemem)/SLEEPTIME));
? ? ? ? ? ? ? ? ? ? ? ? printf("Swap allocated: %uKBn", pgtok((vminfo.swap_alloc - old_vminfo.swap_alloc)/SLEEPTIME));
? ? ? ? ? ? ? ? ? ? ? ? printf("Swap available: %ukBn", pgtok((vminfo.swap_avail - old_vminfo.swap_avail)/SLEEPTIME));
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? kstat_read(kc, ksp, &old_vminfo); /* you can use memcpy instead to store the old value */
? ? ? ? ? ? ? ? ? ? ? ? printf("n");
? ? ? ? ? ? ? ? ? ? ? ? sleep(SLEEPTIME);
? ? ? ? ? ? ? ? } /* while(1) */
? ? ? ? ? ? ? ?
}
你還可以用kstat寫(xiě)一個(gè)cpu使用狀況的程序,這個(gè)就交給你自己去聯(lián)系了,呵呵。如果想不出來(lái),就去看看mpstat的源碼。
(三)獲取物理內(nèi)存信息。
--------------------------------------------------------------------------------
這很簡(jiǎn)單,參考o(jì)pensolaris里的prtconf.c。用sysconf系統(tǒng)調(diào)用。
#include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
main()
{
? ? ? ? ? ? ? ? uint32_t pagesize;
? ? ? ? ? ? ? ? uint64_t phy_pages;
? ? ? ? ? ? ? ? pagesize = (uint32_t) sysconf (_SC_PAGE_SIZE);
? ? ? ? ? ? ? ? phy_pages = (uint64_t) sysconf (_SC_PHYS_PAGES);
? ? ? ? ? ? ? ? printf("Physical memory: %lu MBn", (pagesize * phy_pages) >> 20);
}
(四)獲取文件系統(tǒng)的使用情況。
--------------------------------------------------------------------------------
這個(gè)就用不到kstat了。需要讀取mount table, 結(jié)合statvfs調(diào)用。
#include <sys/types.h>
#include <sys/statvfs.h>
#include <stdio.h>
#include <strings.h>
#include <sys/mnttab.h>
#include <stdlib.h>
#define MNTTAB "/etc/mnttab"
main()
{
? ? ? ? ? ? ? ? struct statvfs fsstat;
? ? ? ? ? ? ? ? struct mnttab my_mnttab;
? ? ? ? ? ? ? ? FILE *fp;
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? fp = fopen(MNTTAB, "r");
? ? ? ? ? ? ? ? if (fp == NULL) {
? ? ? ? ? ? ? ? ? ? ? ? printf("Unable to open mount table.n");
? ? ? ? ? ? ? ? ? ? ? ? exit(-1);
? ? ? ? ? ? ? ? }
? ?? ?? ? while (getmntent(fp, &my_mnttab) == 0){
? ? ? ? ? ? ? ? if (strncmp(my_mnttab.mnt_fstype, "ufs", 3) != 0)
? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? memset(&fsstat, 0, sizeof(struct statvfs));
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (statvfs(my_mnttab.mnt_mountp, &fsstat) == 0) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("File System: %sn", my_mnttab.mnt_mountp);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("tSpace Total: %lu KBn",
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? fsstat.f_blocks * (fsstat.f_frsize >> 10) );
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("tSpace Available: %lu KBn",
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? fsstat.f_bavail * (fsstat.f_frsize >> 10) );
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("n");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? } /* end of while */
}
(五)獲取網(wǎng)卡信息和IP地址
--------------------------------------------------------------------------------
這個(gè)嘛,開(kāi)個(gè)socket,再用ioctl把有關(guān)的信息拿到。opensolaris里有個(gè)程序,現(xiàn)成的,連測(cè)試的main函數(shù)都替你寫(xiě)好了:
[url]http://cvs.opensolaris.org/source/xref/sfw/usr/src/cmd/samba/samba-3.0.21b/source/lib/interfaces.c[/url]
4.9 使用Sunfreeware的gcc33編譯,報(bào)signal.h解析錯(cuò)誤parse error?
直接下載使用sunfreeware的gcc33編譯,如沒(méi)有做額外的處理,編譯程序會(huì)出如下關(guān)于signal.h解析錯(cuò)誤:
# --
/usr/include/sys/siginfo.h:259: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:292: error: parse error before '}' token
/usr/include/sys/siginfo.h:292: error: ISO C forbids data definition
with no type or storage class
/usr/include/sys/siginfo.h:294: error: parse error before '}' token
/usr/include/sys/siginfo.h:294: error: ISO C forbids data definition
with no type or storage class
/usr/include/sys/siginfo.h:390: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:392: error: conflicting types for `__proc'
/usr/include/sys/siginfo.h:261: error: previous declaration of `__proc'
/usr/include/sys/siginfo.h:398: error: conflicting types for `__fault'
/usr/include/sys/siginfo.h:267: error: previous declaration of `__fault'
/usr/include/sys/siginfo.h:404: error: conflicting types for `__file'
/usr/include/sys/siginfo.h:273: error: previous declaration of `__file'
/usr/include/sys/siginfo.h:420: error: conflicting types for `__prof'
/usr/include/sys/siginfo.h:287: error: previous declaration of `__prof'
/usr/include/sys/siginfo.h:424: error: conflicting types for `__rctl'
/usr/include/sys/siginfo.h:291: error: previous declaration of `__rctl'
/usr/include/sys/siginfo.h:426: error: parse error before '}' token
/usr/include/sys/siginfo.h:426: error: ISO C forbids data definition
with no type or storage class
/usr/include/sys/siginfo.h:428: error: parse error before '}' token
/usr/include/sys/siginfo.h:428: error: ISO C forbids data definition
with no type or storage class
/usr/include/sys/siginfo.h:432: error: parse error before "k_siginfo_t"
/usr/include/sys/siginfo.h:437: error: parse error before '}' token
/usr/include/sys/siginfo.h:437: error: ISO C forbids data definition
with no type or storage class
In file included from /usr/include/signal.h:26,
這是因?yàn)閟unfreeware發(fā)布的這個(gè)版本的gcc是針對(duì)比較早,為正式版的的Solaris10,需要更新一下頭文件:
cd /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.2/install-tools/
在mkheaders.conf文件前加入SHELL=/bin/sh
并執(zhí)行
./mkheaders
具體見(jiàn)[url]http://www.sunfreeware.com/programlistintel10.html#gcc33[/url]
最好建議大家使用Sun官方的gcc,在/usr/sfw/bin/gcc,版本3.4.3
如果這個(gè)版本不行的話,還可以從[url]http://www.sun.com/software/solaris/freeware/[/url] 網(wǎng)頁(yè)上有官方的Solaris Companion CD中選擇。建議大家使用,畢竟Sun官方軟件在性能上一定會(huì)有所優(yōu)化。
4.10 在Solaris下如何檢查應(yīng)用程序內(nèi)存泄漏的問(wèn)題?
可以參考Sun公司MDE的工程師寫(xiě)的文章: [url]http://blog.csdn.net/laoeyu/archive/2006/06/07/777930.aspx[/url]
4.11 如何讓普通用戶能夠使用1024號(hào)以下的端口?
[S10] 假設(shè)用戶名為appuser
1. vi /etc/user_attr。
2. 增加“appuser::::defaultpriv=basic,net_privaddr”至最后一行。
3. 重新使用appuser登錄,運(yùn)行應(yīng)用即可。
[S8] [S9]不支持以上的方法,使用setuid或直接用root運(yùn)行應(yīng)用。
來(lái)自Hunter Li。
4.12 哪里有Solaris平臺(tái)輸入法程序編程的相關(guān)資料?
[url]www.openi18.org[/url]網(wǎng)站。
其中有個(gè)IIIMF - Internet Intranet Input Method Framework Project 項(xiàng)目有多個(gè)Unix/Linux輸入法,包括Solaris的。
[url]http://www.openi18n.org/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=30[/url]
4.13 為什么程序會(huì)出現(xiàn)Bus Error?
最近在論壇上看到一個(gè)程序員在詢問(wèn)Bus Error的問(wèn)題。他有一個(gè)非常簡(jiǎn)單的測(cè)試程序,
將一個(gè)short數(shù)組中第二個(gè)成員變量的地址附給一個(gè)int型的指針,接著給該指針賦值,大致代碼如下:
short array[10];
int * p = (int *) &array[1];
*p = 1;
運(yùn)行的平臺(tái)是Solaris for SPARC,使用的編譯器是GCC,程序執(zhí)行到指針賦值的時(shí)候的出現(xiàn)Bus Error出錯(cuò)信息,
程序coredump。他覺(jué)得非常奇怪,代碼在X86平臺(tái)運(yùn)行的很好。其實(shí)這個(gè)問(wèn)題完全是由于CPU硬件不同所造成的。
Bus Error通常都是因?yàn)榉菍?duì)齊訪問(wèn)造成的。CPU在設(shè)計(jì)上為了性能上的考慮,要求待訪問(wèn),操作的數(shù)據(jù)地址都要對(duì)齊。
如果發(fā)現(xiàn)沒(méi)有對(duì)齊的訪問(wèn),就會(huì)向當(dāng)前進(jìn)程發(fā)出SIGBUS信號(hào),使程序崩潰。RISC包括SPARC都是這種類型的芯片。
而X86架構(gòu)就沒(méi)有這種對(duì)齊要求。所以這段代碼在Solaris 10 for X86下面沒(méi)有問(wèn)題,當(dāng)然這是有性能的代價(jià)。
Bus Error也有可能是因?yàn)闄C(jī)器物理問(wèn)題或者訪問(wèn)無(wú)效物理地址,但這種情況非常少見(jiàn)。
上面的代碼正是這種非對(duì)齊訪問(wèn)造成的Bus Error。short是兩個(gè)字節(jié),其地址偏移量必是2的倍數(shù)。而對(duì)于int指針來(lái)說(shuō),
需要偏移量地址是4的倍數(shù)的數(shù)據(jù),所以直接用int指針來(lái)操作地址,就很有可能導(dǎo)致系統(tǒng)發(fā)出SIGBUS信號(hào),程序崩潰。
這段程序如果用Sun Studio編譯器的話,運(yùn)行就沒(méi)有問(wèn)題。這是因?yàn)镾un Studio默認(rèn)對(duì)32位編譯使用的參數(shù)是-xmemalign=8i,
其中i選項(xiàng)設(shè)置明確不會(huì)產(chǎn)生這種SIGBUS信號(hào)。不過(guò)如果編譯成64位程序,Sun Studio使用的-xmemalign=8s,其中s選項(xiàng)設(shè)置
意味對(duì)這種非對(duì)齊訪問(wèn)產(chǎn)生SIGBUS信號(hào),仍舊會(huì)遇到這個(gè)錯(cuò)誤。
當(dāng)然你也可以堅(jiān)持在SPARC上使用GCC去編譯這種代碼。GCC有一個(gè)Type Attributes特性,在需人工對(duì)齊的變量后加上:
__attribute__ ((aligned (4))); 4就是指定偏移量。比如:
short array[10] __attribute__ ((aligned (4)));
不過(guò)這個(gè)屬性只對(duì)Linker連接器可見(jiàn)的變量有效,也就是說(shuō)對(duì)local variable無(wú)效。而且這種特性只能照顧到該數(shù)組,
即第一個(gè)元素,并不為數(shù)組的每個(gè)成員設(shè)置偏移量。
如果一定要針對(duì)local variable或者數(shù)組的每個(gè)成員進(jìn)行偏移量設(shè)置,可以考慮定義一個(gè)union的類型:
union {
? ?short s;
? ?int i;
}
參考:
[url]http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Type-Attributes.html[/url]
[url]http://docs.sun.com/source/819-3688/cc_ops.app.html#32726[/url]
4.14 如何在Solaris下通過(guò)ODBC連接Windows的MS SQL Server?
[url]http://www.unixodbc.org[/url] 下載最新版本,然后安裝上
[url]www.freetds.org[/url] 這是Unix下的SQL Server ODBC驅(qū)動(dòng),下載stable版本,安裝上
這兩個(gè)軟件都是免費(fèi)的,有幫助文檔
來(lái)自wtogether:[url]http://community.csdn.net/Expert/topic/5196/5196263.xml[/url]
4.15 如何在Solaris下安裝lxrun?
lxrun官方網(wǎng)頁(yè)是: [url]http://www.ugcs.caltech.edu/~steven/lxrun/.[/url]
lxrun是一個(gè)讓用Linux程序運(yùn)行在Solaris for X86的平臺(tái)上運(yùn)行的軟件。Sun公司和Steven H. Ginzburg緊密合作,
目前驗(yàn)證過(guò)可以運(yùn)行的程序有:
KDE
Gnome
WordPerfect 7
WordPerfect 8
Applix
Quake2
GIMP
Netscape Navigator
Netscape Communicator
可以從lxrun官方網(wǎng)站下載也可以通過(guò)Sun的Companion CD中獲取,Companion CD的下載地址:
[url]http://www.sun.com/software/solaris/freeware/[/url]
除了lxrun,Solaris還有其他方式運(yùn)行Linux: 如何運(yùn)行Linux下的程序?
[[i] 本帖最后由 云杉上的蝴蝶 于 2008-3-25 18:03 編輯 [/i]]
云杉上的蝴蝶 2008-3-24 23:00
內(nèi)核和驅(qū)動(dòng)程序開(kāi)發(fā)
5.1 Solaris是微內(nèi)核操作系統(tǒng)嗎?Solaris不是微內(nèi)核操作系統(tǒng)。現(xiàn)代操作系統(tǒng)可以劃分為 monolithic kernel和microkernel, Solaris和Linux一樣,
屬于 monolithic內(nèi)核。盡管如此,Solaris仍然是模塊化的操作系統(tǒng),內(nèi)核模塊可以按照需要?jiǎng)討B(tài)裝入和卸載。
5.2 Solaris上有什么樣的內(nèi)核級(jí)調(diào)試器?
[S10|S11]:主要有mdb、kmdb和dtrace。
Solaris較早版本的內(nèi)核調(diào)試器是adb和kadb。Solaris 8開(kāi)始,有了mdb,Solaris 10后,kadb被kmdb取代。除了mdb和kmdb以外,內(nèi)核開(kāi)發(fā)人員還可以利用強(qiáng)大的DTrace來(lái)調(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ù)都成為可能。
5.3 哪里可以找到Solaris下的usb驅(qū)動(dòng)程序的開(kāi)發(fā)資料?
Solaris 下的有USB DDK,具體可以參考下面的地址:
[url]http://developers.sun.com/solaris/developer/support/driver/usb.html[/url]
站點(diǎn)上面有文檔,還有USB DDK下載地址,還有USB skeleton drivers。
另外,還有一個(gè)介紹ugen的白皮書(shū):
[url]http://developers.sun.com/solaris/developer/support/driver/docs/usbups_whitepaper.html[/url]
From Colin Zou
> USB overview
Solaris USB FAQ: [url]http://www.sun.com/io_technologies/usb/USB-Faq.html[/url]
Lists of USB devices verified on Solaris: [url]http://www.sun.com/io_technologies/usb/USB0.html[/url]
USB in the future -- Wireless USB technology: [url]http://opensolaris.org/os/project/wusb/[/url]
> Using USB devices on Solaris
Use USB devices on Solaris 10: [url]http://docs.sun.com/app/docs/doc/817-5093/6mkisoput[/url]
Use USB devices on Solaris Express: [url]http://docs.sun.com/app/docs/doc/819-2723/6n50a1mqg?q=%22Using+USB+Devices%22&a=view[/url]
Use USB printers on Solaris 10: [url]http://docs.sun.com/app/docs/doc/816-1387/6m7qdms6q?a=view[/url]
USB Security Script for USB device access control: [url]http://developers.sun.com/prodtech/solaris/driverdev/reference/codesamples/usb_security/index.html[/url]
> Develop USB device drivers
Develop USB drivers on Solaris: [url]http://docs.sun.com/app/docs/doc/819-3196/6n5ed4gt2?a=view[/url]
USB project page on opensolaris.org: [url]http://opensolaris.org/os/community/device_drivers/projects/usb/[/url]
Documents for USB driver development on Solaris:
[url]http://developers.sun.com/solaris/developer/support/driver/usb.html[/url]
> Mail lists for Solaris USB user/developers
[email]usb-help@sun.com[/email]
[email]driver-usb@opensolaris.org[/email]
[email]driver-discuss@opensolaris.org[/email]
[email]wusb-discuss@opensolaris.org[/email]
5.4 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中定義;
5.5 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文件。
這樣程序員可以通過(guò)mdb來(lái)檢查crash dump文件,來(lái)分析問(wèn)題。
5.6 如何用savecore產(chǎn)生live dump?
默認(rèn)的,系統(tǒng)是用swap分區(qū)做dump設(shè)備的,系統(tǒng)panic或者reboot -d后,在系統(tǒng)重啟時(shí)利用swap分區(qū)來(lái)保存dump的內(nèi)容。
而savecore -L是live dump,swap分區(qū)作為內(nèi)存的一部分被dump出來(lái),所以,用-L參數(shù)是不能使用swap做dump device的。
# dumpadm
? ???Dump content: kernel pages
? ?? ?Dump device: /dev/dsk/c0d0s1 (swap)
Savecore directory: /var/crash/boltx-2
Savecore enabled: yes
因此,首先要有一個(gè)空閑的設(shè)備或者文件,然后用dumpadm設(shè)置這個(gè)設(shè)備或者文件為dedicated的dump設(shè)備,
關(guān)于dumpadm請(qǐng)看手冊(cè)man dumpadmin(1M):
# mkfile 1g /export/home/dump
# dumpadm -d /export/home/dump
? ???Dump content: kernel pages
? ?? ?Dump device: /export/home/dump (dedicated)
Savecore directory: /var/crash/boltx-2
Savecore enabled: yes
然后,再運(yùn)行savecore:
# savecore -v -L
dumping to /export/home/dump, offset 65536, content: kernel
100% done: 41184 pages dumped, compression ratio 2.97, dump succeeded
System dump time: Tue Jul 25 18:10:27 2006
Jul 25 18:10:31 unknown savecore: saving system crash dump in /var/crash/boltx-2/*.1
Constructing namelist /var/crash/boltx-2/unix.1
Constructing corefile /var/crash/boltx-2/vmcore.1
100% done: 41184 of 41184 pages saved
5.7 哪里可以找到Solaris下的驅(qū)動(dòng)開(kāi)發(fā)資料?
驅(qū)動(dòng)開(kāi)發(fā)手冊(cè)
[url]http://gceclub.sun.com.cn/solaris/sddt/index.html[/url] (中文)
[url]http://docs.sun.com/app/docs/doc/817-5789?l=zh[/url] (英文)
OpenSolaris 驅(qū)動(dòng)開(kāi)發(fā)社區(qū)
[url]http://www.opensolaris.org/os/community/device_drivers[/url]
[[i] 本帖最后由 云杉上的蝴蝶 于 2008-3-25 18:09 編輯 [/i]]
云杉上的蝴蝶 2008-3-24 23:00
其它
6.1 VMWare6.1.1 在VMWare下能使用Solaris嗎?
[s10]:從5.5.2版本開(kāi)始,VMWare Workstation開(kāi)始正式支持Solaris 10 for X86版本,包括32-bit和64-bit。
安裝虛機(jī)的環(huán)境要求和安裝Solaris 10一樣。
[s10]|[s9]: VMWare Workstation從5.5就開(kāi)始Experimental支持Solaris 10和Solaris 9。
VMWare Workstation還是收費(fèi)的,不過(guò)VMWare還有一個(gè)VMWare Player是免費(fèi)的,大家在從網(wǎng)上下載一個(gè)Solaris 10的VMWare虛擬機(jī)映像文件,就可以直接體驗(yàn)Solaris 10了。
VMWare Player的官方網(wǎng)站下載:[url]http://www.vmware.com/download/player/[/url]
6.1.2 在VMWare下有針對(duì)Solaris使用的VM Tools嗎?
VMWare Workstation 5.5.2開(kāi)始有了針對(duì)Solaris使用的VM Tools。可以像其他Guest操作系統(tǒng)一樣,
整個(gè)桌面顯示會(huì)自動(dòng)調(diào)節(jié)和操作系統(tǒng)之間的切換也是無(wú)縫的。
6.1.3 在VMWare下,Solaris如何上網(wǎng)?
VMWare Workstation對(duì)虛機(jī)Solaris支持有NAT方式,HOST-ONLY方式和Bridge方式。
NAT方式
NAT方式是一種相當(dāng)簡(jiǎn)單的方式 仔細(xì)看了VM的幫助后我的理解是在VM下solaris是在內(nèi)網(wǎng)下的 所以考慮用NAT模式 這樣可以通過(guò)XP 將內(nèi)網(wǎng)IP翻譯為合法的IP。
具體操作:
1 將VM1網(wǎng)卡設(shè)置為自動(dòng)獲取IP地址 以啟動(dòng)DHCP
2 在solaris下啟動(dòng)DHCP服務(wù) REBOOT
3 重起后發(fā)現(xiàn)DHCP自動(dòng)加載了IP地址和defaultrouter 地址但是沒(méi)有創(chuàng)建/ect/netmasks文件自己根據(jù)IP地址創(chuàng)建(it's easy) 但是是發(fā)現(xiàn)hostname為UNKNOWN 說(shuō)明DHCP沒(méi)有分配給本機(jī)名還好我是solaris10 只要在/etc/nodename下寫(xiě)如自己的本機(jī)名及可 REBOOT
4 重起后 YEAH 可以看見(jiàn)本機(jī)名了 用nslookup可以運(yùn)行 瀏覽器也不需要設(shè)置代理 呵呵 想來(lái)如此簡(jiǎn)單 搞我這么久 太菜了
HOST-ONLY方式
host-only是另外一種網(wǎng)絡(luò)方式 相當(dāng)于這兩臺(tái)機(jī)器通過(guò)雙絞線互連 solaris的TCP/IP配置信息都是由VMnet1(host-only)虛擬網(wǎng)絡(luò)的DHCP服務(wù)器來(lái)動(dòng)態(tài)分配的 但是此時(shí)solaris是作為內(nèi)網(wǎng)機(jī)與其他機(jī)器相隔離的
操作我就簡(jiǎn)單說(shuō)一下了
1 把XP的網(wǎng)卡設(shè)置為共享給VM1
2 在solaris下將網(wǎng)卡IP地址設(shè)置為192.168.0.2 defaultrouter設(shè)置為192.168.0.1
3 DNS設(shè)置為真實(shí)的地址 比如我的是61.139.2.56 REBOOT
也可以上網(wǎng)的
Bridge方式
是ADSL+無(wú)線局域網(wǎng)。
1 分配好地址(文件或者命令)
2 然后設(shè)置好Gateway
3 接著配置nsswitch.conf
4 最后將nameserver(包括gateway)在resolv.conf 就可以了。
具體設(shè)置每一步可以參考OpenSolaris/Solaris中文FAQ
6.1.4 有沒(méi)有Solaris 10的VMWare虛擬機(jī)映像文件下載?
Sun公司已經(jīng)做好一個(gè)VMWare虛擬機(jī)映像文件,預(yù)裝Solaris 10 X86 1/06, Sun Java Enterprise System 2005Q4 (JES),
Sun Studio 11 Integrated Development Environment for C, C++, and Fortran的環(huán)境。
整個(gè)虛擬機(jī)映像文件總共大小將近2.5G。
具體下載地址在:[url]http://developers.sun.com/solaris/downloads/solaris_apps/index.jsp[/url]
將來(lái)Sun公司還會(huì)出一個(gè)簡(jiǎn)裝版的,只預(yù)裝Solaris 10的VMWare虛擬機(jī)映像文件。
除了這個(gè),國(guó)外有人還做了一個(gè)Solaris 10的VMWare虛擬機(jī)映像文件,里面除了Solaris 10,還預(yù)裝了3個(gè)Container,
分別作為Web,Application,Database服務(wù)器。
如果想體驗(yàn)Solaris的Container虛擬技術(shù),可以下載下來(lái)直接體驗(yàn)。總共大小1956 MB,不過(guò)它是個(gè)bt種子,
具體見(jiàn) [url]http://www.vmware.com/vmtn/appliances/directory/227[/url]
6.2 Solaris老版本8,9的程序能夠直接在Solaris10中跑嗎?
Solaris 從2.6一直到10將近10多年時(shí)間,它一直保持了很好的兼容性,因?yàn)樗腂inary Interface沒(méi)有改變,二進(jìn)制是兼容的。
所以Solaris 2.6以上(含2.6),上的程序可以直接運(yùn)行到10上。
Sun有這個(gè)承諾Guarantee: [url]http://www.sun.com/software/solaris/popup.jsp?info=45[/url]
Solaris雖然提供了二進(jìn)制是兼容的,但是我們有時(shí)候還需要考慮一些二進(jìn)制下面的問(wèn)題,比如一些程序,
有可能需要依賴某些非官方的或者非文檔化的操作系統(tǒng)實(shí)現(xiàn),C程序庫(kù)實(shí)現(xiàn),這就難以保證。這個(gè)非常少見(jiàn)。
還有一個(gè)需要考慮的就程序所些依賴的庫(kù)。需要確保這些庫(kù)在Solaris 10下也有。
當(dāng)然Solaris有分不同平臺(tái)的版本:SPARC和X86的。因?yàn)镾PARC和X86的CPU指令不一樣,跑在不同版本的本地程序
(不算這種解釋性語(yǔ)言Perl, PHP, Java等)不能相互直接復(fù)制運(yùn)行,需要重新編譯。即Solaris for SPARC平臺(tái)的本地程序,不管什么版本都不能運(yùn)行在Solaris for X86。
6.3 QEMU
6.3.1 在solaris中如何使用qemu安裝windows操作系統(tǒng)
下載qemu
wget [url]http://www.opensolaris.org/os/project/qemu/downloads/SUNWqemu-0.8.2_cvs20070120_REV_2007.01.24-sol10-i386-opt.pkg.gz[/url]
解壓
gunzip SUNWqemu-0.8.2_cvs20070120_REV_2007.01.24-sol10-i386-opt.pkg.gz
安裝
pkgadd -d SUNWqemu-0.8.2_cvs20070120_REV_2007.01.24-sol10-i386-opt.pkg
創(chuàng)建qemu使用的虛擬磁盤(pán)
mkdir /windows
cd /windows
/opt/SUNWqemu/bin/qemu-img create windows.img 3G
/opt/SUNWqemu/bin/qemu -hda windows.img -cdrom /vol/dev/dsk/c1t0d0/xrmpvol_cn -boot d -m 128 -localtime
解釋下上面的語(yǔ)法: -hda 是指定硬盤(pán),在本文里我們使用的是剛才創(chuàng)建的/windows/windows.img
-cdrom 指定使用光驅(qū),這個(gè)參數(shù)后面必須要跟個(gè)文件名,在上面的例子里我用的是我的物理光驅(qū)
/vol/dev/dsk/c1t0d0/xrmpvol_cn,如果你要使用ISO文件,那就寫(xiě)上文件的路徑,xrmpvol_cn是光盤(pán)文件夾的名字
(用 df -h 顯示)
-m 是指定虛擬機(jī)使用的內(nèi)存大小,后面的數(shù)字即是你要指定的內(nèi)存數(shù),我的是128M
-boot當(dāng)然就是指定虛擬機(jī)啟動(dòng)用的設(shè)備,-boot后可以選擇的參數(shù)是 a ,c ,d .其中a 是指從軟盤(pán)啟動(dòng),
c 就是用硬盤(pán)啟動(dòng),d 當(dāng)然就是光驅(qū)啟動(dòng)了。 -localtime 就是說(shuō)要使用你的實(shí)際主板bios上的時(shí)間。 博客推薦文章
- lighttpd配置之用戶驗(yàn)證(mod_auth) (1分鐘前)
- Linux 2.6下SPI設(shè)備模型 (20分鐘前)
- 簡(jiǎn)單的procedure程序 (25分鐘前)
- RPGLE中簡(jiǎn)單的指針用法 (39分鐘前)
- linux-Tcp IP協(xié)議棧源碼閱讀筆記 (49分鐘前)
?
總結(jié)
以上是生活随笔為你收集整理的OpenSolaris/Solaris中文FAQ的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java链表奇数倒序偶数顺序_将链表中的
- 下一篇: swiper 上滑触发_在绝地求生加入滑