OpenSolaris 2008.5装配遏制后我的一些设置步调(仅供参考)
作者: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 http://us.download.nvidia.com/solaris/96.43.05/NVIDIA-Solaris-x86-96.43.05.run # sh NVIDIA-Solaris-x86-96.43.05.run (blah blah...) # init 6 # reboot
重启后,泛起nVidia的logo,而且画面廉价也曾经批改。从显示器的OSD按钮按下泛起信息看来,改革率在85Hz。蛮好。
装配声卡驱动
驱动位于http://www.tools.de/opensource/solaris/audio/,年夜师可以查查有没有对应于自己型号在支撑之列。
代码:
# wget http://www.tools.de/files/opensource/solaris/audio/audio-1.8-i86pc.pkg.bz2 # 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 如下:
代码:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>serif</family> <prefer> <family>Bitstream Vera Serif</family> <family>Lucida Bright</family> <family>DejaVu Serif</family> <family>Times New Roman</family> <family>Thorndale AMT</family> <family>Luxi Serif</family> <family>Nimbus Roman No9 L</family> <family>Times</family> <family>FZHei-B01</family> </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>Bitstream Vera Sans</family> <family>Arial</family> <family>DejaVu Sans</family> <family>EUDC</family> <family>Verdana</family> <family>Arial</family> <family>Albany AMT</family> <family>Luxi Sans</family> <family>Nimbus Sans L</family> <family>Helvetica</family> <family>FZHei-B01</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>Bitstream Vera Sans Mono</family> <family>DejaVu Sans Mono</family> <family>Andale Mono</family> <family>Courier New</family> <family>Cumberland AMT</family> <family>Luxi Mono</family> <family>Nimbus Mono L</family> <family>Courier</family> <family>FZHei-B01</family> </prefer> </alias> <match target="font"> <edit name="prefer_bitmap"> <bool>false</bool> </edit> </match> <match target="pattern"> <test name="family" qual="any"> <string>serif</string> <string>sans-serif</string> <string>monospace</string> </test> <edit name="lang" mode="assign"> <string>en</string> </edit> </match> </fontconfig>
去除不要的效劳
审查运转着的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,见:http://defect.opensolaris.org/bz/show_bug.cgi?id=1641
应急方案是:
代码:
$ 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源http://pkg.opensolaris.org:80/外,还有两个传统的自在/开源和免费Solaris软体提供商,blastwave.org和sunfreeware.com也提供了IPS效劳,按上面的方式添加:
代码:
# pkg set-authority -O http://blastwave.network.com:10000/ blastwave.org # pkg set-authority -O http://pkg.sunfreeware.com:9000/ sunfreeware.com # pkg refresh
可是blastwave.org的IPS到目下当今还不颠簸,显然一点是假若你做:
代码:
# pkg search xxx
那么就会得到http://blastwave.network.com:10000/的搜刮效劳不行得到的503错误。以是我倡议还是去失它好了:
代码:
# pkg unset-authority blastwave.org
停手
临时就这些吧,完美是凭影象写的。原本想边做边写会详细些,可是又会觉得这样惊慌失措的。望各位见原啊,也欢送各位交换~
版权声明: 原创作品,容许转载,转载时请务必以超链接方式标明文章 原始理由 、作者信息和本声明。不然将追究法律责任。