LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3801|回复: 3

[原创]OpenSolaris 2008.5安装完毕后我的一些设置步骤(仅供参考)

[复制链接]
发表于 2008-5-10 20:12:07 | 显示全部楼层 |阅读模式
[color="Blue"]作者:Jockey S. Kyd
日期:05/10/2008
原产地:LinuxSir.org
版权:创作共用?无所谓啦,都是随便写的东西,我不图虚名... -.-

其实我很早就在等待Indiana项目的成果,“可把您给盼来了”。不过因为“档期”关系,今天才完全安装并设置完毕。


机器配置

  • Intel Pentium4 1.8A Northwood
  • Gigabyte GA-8IR533 motherboard
  • Kingston 256MB DDR266 + Kingston 256MB DDR400 x 2
  • 80GB Seagate ST380021A (ATA/100, 7200 rpm, 2MB)
  • 120GB Seagate ST3120022A  (ATA/100, 7200 rpm, 2MB)
  • ELSA GLADIAC 525 (NVIDIA GeForce4 Ti 4200 GPU, 64MB)
  • Sony CPD-E230 CRT monitor
  • Creative Sound Blaster Live! 5.1 (EMU10K1 DSP)
  • Edifier R351T speakers
  • TP-LINK TF-3239D (Realtek RTL8139D)
  • BenQ 1650S 16X DVD-ROM (with Pioneer DVD-500M's firmware)
  • Pioneer DVD-RW DVR-115CH



关于安装
安装过程十分简单,会装Ubuntu的人都会装它的(其实我没用过Ubuntu,更没装过>_<)。不过进入LiveCD的桌面后请务必用“Device Driver Utility”查一下机器上有什么默认没有驱动的硬件,记下后到网上去寻找,或者去Sun官方的硬件兼容性列表里查查,看看有没有适用的驱动。如果实在找不到,那么请自己权衡是否要再进行下去--如果只是尝鲜,LiveCD已经足够了。


划分方案
正如配置单里所列,我的这台老爷机器里有两块PATA硬盘,都在第二个IDE口上,其中80GB是master(因为上面有WinXP,只能装在master重装起来才方便),120GB在slave(也是我BIOS中设定启动的那块),我全部给了OpenSolaris。


安装完毕;第一次引导
大概一个小时不到,安装完毕。从之前进度条的提示看来,貌似几乎全部工作就是把LiveCD上的数据转到硬盘上而已。重启后看到神气的GRUB菜单,并且自动探测到了Windows(但是其实启动命令是不正确的,稍后会修改)。按下回车开始引导OpenSolaris。启动过程和 Solaris 10 基本一致,没有眼花缭乱的字幕翻滚,如果没有error或者warning,那么就是一切正常,显得很简洁。我这里得到一个warning,是关于没有为 /dev/random 指定 randomness provider (上网查后得知无害,貌似是个系统本身的bug)。


进入桌面
OpenSolaris的DM由 Solaris 10 的dtlogin改成了gdm。毕竟dtlogin是CDE的东西,而CDE并不是OpenSolaris的一部分,也就没装。由于我是用CRT显示器,注意到屏幕显示的画面有些偏离,从经验来讲,我意识到Xorg并没有找到nvidia驱动,就用了自带的nv驱动。实际上,OpenSolaris自带了nVidia显卡家族的驱动,但是我的显卡实在有些老,从而沦为了legacy,新的驱动不再支持了。另外就是GNOME面板上的音量控制打了大叉--这我并不奇怪,因为我的emu10k1声卡的确是不被支持的,但好在用 Solaris 10 那会儿我就知道该用什么驱动了。虽然在OpenSolaris上尝试给 Solaris 10 驱动新有疑虑,却是木已成舟。


安装老nVidia驱动
  1. # pkg uninstall NVDAgraphics
  2. # wget http://us.download.nvidia.com/solaris/96.43.05/NVIDIA-Solaris-x86-96.43.05.run
  3. # sh NVIDIA-Solaris-x86-96.43.05.run
  4.   (blah blah...)
  5. # init 6 # reboot
复制代码
重启后,出现nVidia的logo,并且画面便宜也已经修正。从显示器的OSD按钮按下出现信息看来,刷新率在85Hz。蛮好。


安装声卡驱动
驱动位于http://www.tools.de/opensource/solaris/audio/,大家可以查查有没有对应于自己型号在支持之列。
  1. # wget http://www.tools.de/files/opensource/solaris/audio/audio-1.8-i86pc.pkg.bz2
  2. # bunzip2 audio-1.8-i86pc.pkg.bz2
  3. # pkgadd -d audio-1.8-i86pc.pkg
  4.   (blah blah...)
  5. # init 6
复制代码
重启后,面板上的音量控制已能调节。进一步测试,一切正常。


关于网络
我是ADSL通过宽带路由器DHCP接入Internet的,而OpenSolaris默认也是将NIC设定为DHCP的,所以这方面我几乎没什么问题。


shell设定
普通用户和root的shell都默认是bash(我曾经听说root的默认会是ksh93)。设定都很简单,以后慢慢加:
  1. $ cat .bashrc
  2. export PATH=/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin
  3. export MANPATH=/usr/gnu/share/man:/usr/share/man:/usr/X11/share/man
  4. export PAGER=less
  5. export EDITOR=vim
  6. PS1='\u@\h \W \$ '
  7. alias ls='ls -F --color=auto'
  8. $ cat .bash_profile
  9. [ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc"
复制代码
另外就是关掉恼人的“小蜜蜂”:
  1. $ echo 'set bell-style none' > .inputrc
复制代码


core管理的小设定
只是为了让coredump得更明明白白:
  1. # coreadm -i '%f.core'
  2. # coreadm
  3.      global core file pattern:
  4.      global core file content: default
  5.        init core file pattern: %f.core
  6.        init core file content: default
  7.             global core dumps: disabled
  8.        per-process core dumps: enabled
  9.       global setid core dumps: disabled
  10. per-process setid core dumps: disabled
  11.      global core dump logging: disabled
复制代码


locale设定
在gdm登录时候,我选择的语言是C/POSIX。这只是我的习惯:在英文界面下实现中文显示和输入,即可。

首先,新建一个简单到掉渣的名为10env的sh脚本,其实名字可以任取,只要记得chmod:
  1. # mkdir /etc/X11/xinit/xinitrc.d/
  2. # cd /etc/X11/xinit/xinitrc.d/
  3. # echo '#!/bin/sh
  4. export LC_CTYPE=zh_CN.UTF-8' > 10env
  5. # chmod a+x 10env
复制代码
/etc/iiim/xsession 中有这样一段:
  1. case $LANG in
  2.     *.UTF-8* | *.utf-8* | zh* | ja* | ko* | th* | *_IN*)
  3.         if [ "x" = "x$GTK_IM_MODULE" ] || [ "iiim" = $GTK_IM_MODULE ]; then
  4.             start_iiim
  5.         fi
  6.         ;;
  7. esac
复制代码
而我的$LANG是C,不符合要求,所以我把“$LANG”改成了“$LC_CTYPE”即可:
  1. case [color="Red"]$LC_CTYPE[/color] in
  2.     *.UTF-8* | *.utf-8* | zh* | ja* | ko* | th* | *_IN*)
  3.         if [ "x" = "x$GTK_IM_MODULE" ] || [ "iiim" = $GTK_IM_MODULE ]; then
  4.             start_iiim
  5.         fi
  6.         ;;
  7. esac
复制代码


字体美化
虽然这个步骤最不重要,但屏幕上的文字是要每天看的,总不能太对不起自己的审美。corefonts是个好东西,但这个包里没有任何一个字体预发行在2008.5中。一共32个字体我全部copy了过来,放在了 ~/.fonts 下面;另外就是方正兰亭GBK字库里的方正黑体和方正圆体也被我拿了过来。其实2008.5自带了“AR PL ShanHeiSun Uni”,也就是来自台湾的CJKUnifonts项目的其中一个,但是2008.5的freetype没有打开 bytecode interpreter 导致没法给Tahoma、Verdana、Courier New之类的优秀字体开hinting支持,而用AA字体搭配CJKUnifonts的内嵌点阵实在很别扭。所以我就干脆全部AA方案了。
  1. # ls -R ~/.fonts
  2. corefonts/  fzhtk.ttf  fzy3k.ttf
  3. /export/home/jockey/.fonts/corefonts:
  4. andalemo.ttf  comicbd.ttf   georgiai.ttf  timesbi.ttf   verdanab.ttf
  5. arial.ttf     cour.ttf      georgiaz.ttf  timesi.ttf    verdanai.ttf
  6. arialbd.ttf   courbd.ttf    impact.ttf    trebuc.ttf    verdanaz.ttf
  7. arialbi.ttf   courbi.ttf    tahoma.ttf    trebucbd.ttf  webdings.ttf
  8. ariali.ttf    couri.ttf     tahomabd.ttf  trebucbi.ttf
  9. ariblk.ttf    georgia.ttf   times.ttf     trebucit.ttf
  10. comic.ttf     georgiab.ttf  timesbd.ttf   verdana.ttf
复制代码
新建 /etc/fonts/local.conf 如下:
  1. <?xml version="1.0"?>
  2. <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
  3. <fontconfig>
  4.         <alias>
  5.                 <family>serif</family>
  6.                 <prefer>
  7.                         <family>Bitstream Vera Serif</family>
  8.                         <family>Lucida Bright</family>
  9.                         <family>DejaVu Serif</family>
  10.                         <family>Times New Roman</family>
  11.                         <family>Thorndale AMT</family>
  12.                         <family>Luxi Serif</family>
  13.                         <family>Nimbus Roman No9 L</family>
  14.                         <family>Times</family>
  15.                         <family>FZHei-B01</family>
  16.                 </prefer>
  17.         </alias>
  18.         <alias>
  19.                 <family>sans-serif</family>
  20.                 <prefer>
  21.                         <family>Bitstream Vera Sans</family>
  22.                         <family>Arial</family>
  23.                         <family>DejaVu Sans</family>
  24.                         <family>EUDC</family>
  25.                         <family>Verdana</family>
  26.                         <family>Arial</family>
  27.                         <family>Albany AMT</family>
  28.                         <family>Luxi Sans</family>
  29.                         <family>Nimbus Sans L</family>
  30.                         <family>Helvetica</family>
  31.                         <family>FZHei-B01</family>
  32.                 </prefer>
  33.         </alias>
  34.         <alias>
  35.                 <family>monospace</family>
  36.                 <prefer>
  37.                         <family>Bitstream Vera Sans Mono</family>
  38.                         <family>DejaVu Sans Mono</family>
  39.                         <family>Andale Mono</family>
  40.                         <family>Courier New</family>
  41.                         <family>Cumberland AMT</family>
  42.                         <family>Luxi Mono</family>
  43.                         <family>Nimbus Mono L</family>
  44.                         <family>Courier</family>
  45.                         <family>FZHei-B01</family>
  46.                 </prefer>
  47.         </alias>
  48.         <match target="font">
  49.                 <edit name="prefer_bitmap">
  50.                         <bool>false</bool>
  51.                 </edit>
  52.         </match>
  53.         <match target="pattern">
  54.                 <test name="family" qual="any">
  55.                         <string>serif</string>
  56.                         <string>sans-serif</string>
  57.                         <string>monospace</string>
  58.                 </test>
  59.                 <edit name="lang" mode="assign">
  60.                         <string>en</string>
  61.                 </edit>
  62.         </match>
  63. </fontconfig>
复制代码


去除不要的服务
查看运行着的daemon:
  1. # svcs
复制代码
查看某个damon的详细信息:
  1. # svcs -xv xxx
复制代码
查看这个daemon依赖的其它daemon:
  1. # svcs -d xxx
复制代码
反过来,查哪些daemon依赖自己:
  1. # svcs -D xxx
复制代码
去掉自己不需要的daemon:
  1. # svcadm disable xxx yyy zzz ...
复制代码
我都忘了自己禁用了哪些,就不列出来了;列现在online状态的好了:
  1. # svcs
  2. STATE          STIME    FMRI
  3. legacy_run     18:19:43 lrc:/etc/rc2_d/S20sysetup
  4. legacy_run     18:19:44 lrc:/etc/rc2_d/S47pppd
  5. legacy_run     18:19:45 lrc:/etc/rc2_d/S72autoinstall
  6. legacy_run     18:19:45 lrc:/etc/rc2_d/S73cachefs_daemon
  7. legacy_run     18:19:46 lrc:/etc/rc2_d/S81dodatadm_udaplt
  8. legacy_run     18:19:46 lrc:/etc/rc2_d/S89PRESERVE
  9. legacy_run     18:19:46 lrc:/etc/rc2_d/S98deallocate
  10. online         18:19:26 svc:/system/svc/restarter:default
  11. online         18:19:27 svc:/network/loopback:default
  12. online         18:19:27 svc:/network/datalink-management:default
  13. online         18:19:30 svc:/network/physical:nwam
  14. online         18:19:31 svc:/milestone/network:default
  15. online         18:19:32 svc:/system/identity:node
  16. online         18:19:32 svc:/system/metainit:default
  17. online         18:19:33 svc:/system/filesystem/root:default
  18. online         18:19:33 svc:/system/scheduler:default
  19. online         18:19:34 svc:/system/boot-archive:default
  20. online         18:19:34 svc:/system/filesystem/usr:default
  21. online         18:19:35 svc:/system/device/local:default
  22. online         18:19:35 svc:/system/keymap:default
  23. online         18:19:35 svc:/system/filesystem/minimal:default
  24. online         18:19:36 svc:/system/identity:domain
  25. online         18:19:36 svc:/system/resource-mgmt:default
  26. online         18:19:36 svc:/system/cryptosvc:default
  27. online         18:19:36 svc:/system/name-service-cache:default
  28. online         18:19:36 svc:/system/metasync:default
  29. online         18:19:36 svc:/system/rmtmpfiles:default
  30. online         18:19:37 svc:/system/sysevent:default
  31. online         18:19:37 svc:/system/device/fc-fabric:default
  32. online         18:19:37 svc:/system/power:default
  33. online         18:19:37 svc:/milestone/devices:default
  34. online         18:19:37 svc:/system/picl:default
  35. online         18:19:37 svc:/system/manifest-import:default
  36. online         18:19:38 svc:/network/initial:default
  37. online         18:19:38 svc:/milestone/single-user:default
  38. online         18:19:38 svc:/network/service:default
  39. online         18:19:38 svc:/network/dns/client:default
  40. online         18:19:39 svc:/milestone/name-services:default
  41. online         18:19:40 svc:/system/filesystem/local:default
  42. online         18:19:40 svc:/system/boot-archive-update:default
  43. online         18:19:40 svc:/system/sysidtool:net
  44. online         18:19:41 svc:/system/dbus:default
  45. online         18:19:41 svc:/application/opengl/ogl-select:default
  46. online         18:19:41 svc:/system/coreadm:default
  47. online         18:19:41 svc:/network/rpc/bind:default
  48. online         18:19:41 svc:/system/sysidtool:system
  49. online         18:19:41 svc:/milestone/sysconfig:default
  50. online         18:19:42 svc:/system/filesystem/autofs:default
  51. online         18:19:42 svc:/system/utmp:default
  52. online         18:19:42 svc:/system/console-login:default
  53. online         18:19:43 svc:/network/inetd:default
  54. online         18:19:43 svc:/system/system-log:default
  55. online         18:19:43 svc:/application/font/fc-cache:default
  56. online         18:19:43 svc:/system/dumpadm:default
  57. online         18:19:44 svc:/system/postrun:default
  58. online         18:19:46 svc:/application/graphical-login/gdm:default
  59. online         18:19:46 svc:/network/rpc/gss:default
  60. online         18:19:46 svc:/milestone/multi-user:default
  61. online         18:19:46 svc:/network/rpc/smserver:default
  62. online         18:19:46 svc:/system/intrd:default
  63. online         18:19:46 svc:/system/fmd:default
  64. online         18:19:47 svc:/milestone/multi-user-server:default
  65. online         18:19:47 svc:/system/zones:default
  66. online         18:19:48 svc:/system/hal:default
  67. online         18:19:48 svc:/system/filesystem/rmvolmgr:default
复制代码


修正GRUB里关于Windows的条目
我在上面的某个括号里说过,GRUB里关于Windows的条目是错的。但如果你只有一个硬盘,或者你把OpenSolaris装在和Windows一个硬盘上,那么它是对的。反正我的情况就是,我这边这样子是错的:
  1. title Windows
  2.         rootnoverify (hd0,0)
  3.         chainloader +1
复制代码
它错在三个地方!

首先,我要的title是“Microsoft Windows XP”!又,为什么后面两行要有缩紧?OpenSolaris本身的条目都没缩紧!... >_<

再者,没有map:现在我的Windows不在BIOS指定启动的盘体上,而Windows/DOS系统的链式引导必须保证它们在(hd0)上(注意:GRUB将BIOS的映射作为标准,也就是说,如果BIOS设定从slave硬盘启动,而GRUB就在那块硬盘上,那么GRUB称salve为(hd0)而master为(hd1))。所以...

最后,第二行也就自然错了。综上所述:
  1. title Microsoft Windows XP
  2. map (hd0) (hd1)
  3. map (hd1) (hd0)
  4. rootnoverify (hd1,0)
  5. chainloader +1
复制代码


关于vim的颜色
即便你设定“syntax on”,vim的高亮显示不过是加粗字体和加下划线,而完全没有颜色。这是个bug,见:http://defect.opensolaris.org/bz/show_bug.cgi?id=1641

应急方案是:
  1. $ TERM=xtermc vim
复制代码
如果嫌麻烦,就把这段加到~/.bashrc
  1. [ "x$DISPLAY != "x" ] && alias vim='TERM=xtermc vim'
复制代码
但是别指望这样设定后能让下面这行工作:
  1. $ pfexec vim xxx # still no colors
复制代码
等吧。


关于权限
如果在安装过程中没有创建用户,那么root用户就是个普通帐号(我的意思是:而不是role);否则,就是role,而你新增的用户会得到“Primary Administrator”的profile和担当root的role。于是你能不su就能做一切想做的事儿:
  1. $ pfexec rm -rvf / # your box won't like this
复制代码
把pfexec理解成sudo(如果你是Linux用户的话),可能会好理解些吧?当然,它们不一样。这自然是个安全隐患,但是做为个人桌面用途,无所谓啦...


IPS
Indiana项目最棒的伙伴项目就是IPS,为OpenSolaris提供了类似Debian的apt-get的机制,并且具有自己的特色。具体可查看文档:http://opensolaris.org/os/project/pkg/documents/。而我现在要做的只是升级软体包,所以:
  1. # pkg refresh
  2. # pkg image-update -v
复制代码
被提醒更新了BE(Boot Environment)。于是重启进入新BE,再删除老BE(用 beadm list 获得老BE的名字):
  1. # beadm destroy opensolaris
复制代码
再按情况修改 /rpool/boot/grub/menu.lst

除了官方IPS源http://pkg.opensolaris.org:80/外,还有两个传统的自由/开源和免费Solaris软体提供商,blastwave.orgsunfreeware.com也提供了IPS服务,按下面的方式添加:
  1. # pkg set-authority -O http://blastwave.network.com:10000/ blastwave.org
  2. # pkg set-authority -O http://pkg.sunfreeware.com:9000/ sunfreeware.com
  3. # pkg refresh
复制代码
但是blastwave.org的IPS到现在还不稳定,显然一点是如果你做:
  1. # pkg search xxx
复制代码
那么就会得到http://blastwave.network.com:10000/的搜索服务不可获得的503错误。所以我建议还是去掉它好了:
  1. # pkg unset-authority blastwave.org
复制代码


停手
暂时就这些吧,完全是凭记忆写的。本来想边做边写会详细些,但是又会觉得这样手忙脚乱的。望各位海涵啊,也欢迎各位交流~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2008-5-11 13:08:23 | 显示全部楼层
好东西啊。。
回复 支持 反对

使用道具 举报

发表于 2008-5-12 10:31:13 | 显示全部楼层
不知道为什么内存开销好大呀,以前装SXDE,开机就得500MB,没得混呀。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-12 12:27:07 | 显示全部楼层
我没注意内存开销,不过Unix的内存使用不一直就这样的么?而且我现在768MB跑得特别流畅。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表