Solaris中文FAQ
首先感謝 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)作;
討論組: opensolaris-chinese-faq AT googlegroups.com
注:
目錄[隱藏]
|
<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的縮寫,它包括以下主要部件:
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_aliasesaudio810 "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-386root (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 -vpThe 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...doneAVAILABLE 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è)備的路徑:
# rmformatLooking 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 MemMemory 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.confnameserver 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ò)配置生效的問題
| 主機(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)閉電源,再添加或更換硬件。
任何時(shí)候,給重啟命令制定-r選項(xiàng),即可在啟動(dòng)時(shí)檢測(cè)硬件。
第三方的設(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):
[S9|S10]:用solaris的software1/2光盤引導(dǎo)系統(tǒng),修改口令即可。
- 首先要用光盤引導(dǎo)系統(tǒng):
- 然后,mount根分區(qū),打開shadow文件:
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 --helpUsage:
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)的主目錄。
# 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)
# mountunmount該文件系統(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格式.
- 復(fù)制光盤:
- 刻錄一些目錄文件到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)容
如何制作光盤鏡像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
其中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的圖形化工具,含有用戶管理。
# smcSolaris也同時(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)境變量
| sh | NAME=value1 export NAME | NAME=value2:$$NAME | set(internal)或者env(exported) | 如果需要子進(jìn)程也看到該環(huán)境變量,需要使用export |
| ksh | NAME=value1 export NAME | NAME=value2:$NAME | set(internal)或者env(exported) | 如果需要子進(jìn)程也看到該環(huán)境變量,需要使用export |
| csh | setenv NAME value1 | setenv NAME value2:$NAME | set | 不需要使用export |
| bash | NAME=value1 | NAME=value2:$NAME | set或者env | 不需要使用export |
Shell的配置文件和讀取順序
| 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)境變量即可:
[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 PythonGNOME2 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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 山东大学科技文献期末复习(个人速成向)
- 下一篇: PTA 奇数值结点链表 超详细