Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104556266
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-12 16:09:35



作者: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驱动
代码:
# pkg uninstall NVDAgraphics # wget # sh NVIDIA-Solaris-x86-96.43.05.run (blah blah...) # init 6 # reboot
重启后,出现nVidia的logo,并且画面便宜也已经修正。从显示器的OSD按钮按下出现信息看来,刷新率在85Hz。蛮好。


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


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


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

core管理的小设定
只是为了让coredump得更明明白白:
代码:
# coreadm -i '%f.core' # coreadm global core file pattern: global core file content: default init core file pattern: %f.core init core file content: default global core dumps: disabled per-process core dumps: enabled global setid core dumps: disabled per-process setid core dumps: disabled global core dump logging: disabled

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

首先,新建一个简单到掉渣的名为10env的sh脚本,其实名字可以任取,只要记得chmod:
代码:
# mkdir /etc/X11/xinit/xinitrc.d/ # cd /etc/X11/xinit/xinitrc.d/ # echo '#!/bin/sh export LC_CTYPE=zh_CN.UTF-8' > 10env # chmod a+x 10env
/etc/iiim/xsession 中有这样一段:
代码:
case $LANG in *.UTF-8* | *.utf-8* | zh* | ja* | ko* | th* | *_IN*) if [ "x" = "x$GTK_IM_MODULE" ] || [ "iiim" = $GTK_IM_MODULE ]; then start_iiim fi ;; esac
而我的$LANG是C,不符合要求,所以我把“$LANG”改成了“$LC_CTYPE”即可:
代码:
case $LC_CTYPE in *.UTF-8* | *.utf-8* | zh* | ja* | ko* | th* | *_IN*) if [ "x" = "x$GTK_IM_MODULE" ] || [ "iiim" = $GTK_IM_MODULE ]; then start_iiim fi ;; 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方案了。
代码:
# ls -R ~/.fonts corefonts/ fzhtk.ttf fzy3k.ttf /export/home/jockey/.fonts/corefonts: andalemo.ttf comicbd.ttf georgiai.ttf timesbi.ttf verdanab.ttf arial.ttf cour.ttf georgiaz.ttf timesi.ttf verdanai.ttf arialbd.ttf courbd.ttf impact.ttf trebuc.ttf verdanaz.ttf arialbi.ttf courbi.ttf tahoma.ttf trebucbd.ttf webdings.ttf ariali.ttf couri.ttf tahomabd.ttf trebucbi.ttf ariblk.ttf georgia.ttf times.ttf trebucit.ttf comic.ttf georgiab.ttf timesbd.ttf verdana.ttf
新建 /etc/fonts/local.conf 如下:
代码:
serif Bitstream Vera Serif Lucida Bright DejaVu Serif Times New Roman Thorndale AMT Luxi Serif Nimbus Roman No9 L Times FZHei-B01 sans-serif Bitstream Vera Sans Arial DejaVu Sans EUDC Verdana Arial Albany AMT Luxi Sans Nimbus Sans L Helvetica FZHei-B01 monospace Bitstream Vera Sans Mono DejaVu Sans Mono Andale Mono Courier New Cumberland AMT Luxi Mono Nimbus Mono L Courier FZHei-B01 false serif sans-serif monospace en

去除不要的服务
查看运行着的daemon:
代码:
# svcs
查看某个damon的详细信息:
代码:
# svcs -xv xxx
查看这个daemon依赖的其它daemon:
代码:
# svcs -d xxx
反过来,查哪些daemon依赖自己:
代码:
# svcs -D xxx
去掉自己不需要的daemon:
代码:
# svcadm disable xxx yyy zzz ...
我都忘了自己禁用了哪些,就不列出来了;列现在online状态的好了:
代码:
# svcs STATE STIME FMRI legacy_run 18:19:43 lrc:/etc/rc2_d/S20sysetup legacy_run 18:19:44 lrc:/etc/rc2_d/S47pppd legacy_run 18:19:45 lrc:/etc/rc2_d/S72autoinstall legacy_run 18:19:45 lrc:/etc/rc2_d/S73cachefs_daemon legacy_run 18:19:46 lrc:/etc/rc2_d/S81dodatadm_udaplt legacy_run 18:19:46 lrc:/etc/rc2_d/S89PRESERVE legacy_run 18:19:46 lrc:/etc/rc2_d/S98deallocate online 18:19:26 svc:/system/svc/restarter:default online 18:19:27 svc:/network/loopback:default online 18:19:27 svc:/network/datalink-management:default online 18:19:30 svc:/network/physical:nwam online 18:19:31 svc:/milestone/network:default online 18:19:32 svc:/system/identity:node online 18:19:32 svc:/system/metainit:default online 18:19:33 svc:/system/filesystem/root:default online 18:19:33 svc:/system/scheduler:default online 18:19:34 svc:/system/boot-archive:default online 18:19:34 svc:/system/filesystem/usr:default online 18:19:35 svc:/system/device/local:default online 18:19:35 svc:/system/keymap:default online 18:19:35 svc:/system/filesystem/minimal:default online 18:19:36 svc:/system/identity:domain online 18:19:36 svc:/system/resource-mgmt:default online 18:19:36 svc:/system/cryptosvc:default online 18:19:36 svc:/system/name-service-cache:default online 18:19:36 svc:/system/metasync:default online 18:19:36 svc:/system/rmtmpfiles:default online 18:19:37 svc:/system/sysevent:default online 18:19:37 svc:/system/device/fc-fabric:default online 18:19:37 svc:/system/power:default online 18:19:37 svc:/milestone/devices:default online 18:19:37 svc:/system/picl:default online 18:19:37 svc:/system/manifest-import:default online 18:19:38 svc:/network/initial:default online 18:19:38 svc:/milestone/single-user:default online 18:19:38 svc:/network/service:default online 18:19:38 svc:/network/dns/client:default online 18:19:39 svc:/milestone/name-services:default online 18:19:40 svc:/system/filesystem/local:default online 18:19:40 svc:/system/boot-archive-update:default online 18:19:40 svc:/system/sysidtool:net online 18:19:41 svc:/system/dbus:default online 18:19:41 svc:/application/opengl/ogl-select:default online 18:19:41 svc:/system/coreadm:default online 18:19:41 svc:/network/rpc/bind:default online 18:19:41 svc:/system/sysidtool:system online 18:19:41 svc:/milestone/sysconfig:default online 18:19:42 svc:/system/filesystem/autofs:default online 18:19:42 svc:/system/utmp:default online 18:19:42 svc:/system/console-login:default online 18:19:43 svc:/network/inetd:default online 18:19:43 svc:/system/system-log:default online 18:19:43 svc:/application/font/fc-cache:default online 18:19:43 svc:/system/dumpadm:default online 18:19:44 svc:/system/postrun:default online 18:19:46 svc:/application/graphical-login/gdm:default online 18:19:46 svc:/network/rpc/gss:default online 18:19:46 svc:/milestone/multi-user:default online 18:19:46 svc:/network/rpc/smserver:default online 18:19:46 svc:/system/intrd:default online 18:19:46 svc:/system/fmd:default online 18:19:47 svc:/milestone/multi-user-server:default online 18:19:47 svc:/system/zones:default online 18:19:48 svc:/system/hal:default online 18:19:48 svc:/system/filesystem/rmvolmgr:default

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

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

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

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

关于vim的颜色
即便你设定“syntax on”,vim的高亮显示不过是加粗字体和加下划线,而完全没有颜色。这是个bug,见:

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


关于权限
如果在安装过程中没有创建用户,那么root用户就是个普通帐号(我的意思是:而不是role);否则,就是role,而你新增的用户会得到“Primary Administrator”的profile和担当root的role。于是你能不su就能做一切想做的事儿:
代码:
$ 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/。而我现在要做的只是升级软体包,所以:
代码:
# pkg refresh # pkg image-update -v
被提醒更新了BE(Boot Environment)。于是重启进入新BE,再删除老BE(用 beadm list 获得老BE的名字):
代码:
# beadm destroy opensolaris
再按情况修改 /rpool/boot/grub/menu.lst

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

停手
暂时就这些吧,完全是凭记忆写的。本来想边做边写会详细些,但是又会觉得这样手忙脚乱的。望各位海涵啊,也欢迎各位交流~
阅读(695) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~