前言:
不久前笔者在自己笔记本上安装了Solaris 10,非常喜欢。 好东西要和大家分享,决定写一些心得体会来描述笔者是怎么安装、配置和使用Solaris 10。本文是这个系列的第一篇,讲下载、安装准备 、安装和基本配置。
下载:
从这个网址(http://www.sun.com/software/solaris/get.jsp) 可以下载最新的Solaris 10 3/05 for x64/x86的光盘。上去一看,有好多光盘啊,我下载了下面五张:
Solaris 10 3/05 CD 1
Solaris 10 3/05 CD 2
Solaris 10 3/05 CD 3
Solaris 10 3/05 CD 4
Solaris 10 3/05 Language CD
下载完Solaris 10 的光盘, 粗粗地看了一下其中的内容。第一张盘主要是Solaris 系统基本软件,第二张有许多和gnome相关的包,第三张主要是staroffice, 第四张包含了许多open source的软件如Apache/Ant/Python/TCL/mysql等等。
安装准备:
笔者还是喜欢用Linux 的分区工具, 通过使用http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?GXHC_JSESSIONID=-2089798192477626027&GXHC_jive.user.lastvisited=1107746952510&forum=14&thread=6819 描述
的方法做了分区。 我把自己60G的硬盘分为4个区,
名称 内容 类型 大小 文件系统 描述
/dev/hda1 Win->C: Primary 10G NTFS Windows XP
/dev/hda2 Ext Ext 25G --- 扩展分区
/dev/hda3 Linux Primary 10G EXT3 Linux
/dev/hda4 Solaris Primary 11.5G Solaris Solaris x86 partition
/dev/hda5 数据分区 Logical 12G FAT32 所有操作系统共享
/dev/hda6 数据分区 Logical 12G FAT32 所有操作系统共享
/dev/hda7 linux swap Logical 1G swap Linux swap,
其中第四个主分区ID配成了0x82 (Solaris 分区), 大小为12G, 然后把自己下载的文件都先解成.iso文件并放在/dev/hda5分区下,这个分区在Windows下面是D盘.
安装:
笔者比较吝啬,一看要刻那么多盘,不干了。决定试试只刻第一张盘的方法。 刻好第一张盘,把BIOS设为光盘启动,然后从光盘启动。 非常顺利地看到了Solaris 的启动界面:
SunOS Secondary Boot Version 4.02, 然后等待Initializing System... 选1。 Solaris Interactive, 继续等待. Configuring devices 那一步比较慢。
经过几分钟的等待后就看到系统自己认识了我的Intel Pro/100 VE 网卡 iprb0, 接着又看到系统自己认识了我的显卡(Nvidia Gefore 4 420)、键盘和鼠标等, 非常高兴!
要知道,在Solaris 9安装的时候,我可是费了好大的劲才配上显卡网卡的啊。(请参见
http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?GXHC_JSESSIONID=-2089798192477626027&GXHC_jive.user.lastvisited=1107746952510&forum=14&thread=6681)
接着就开始配置了。 我选的是用简体中文安装,接下来配置网络、地域、时间、Root口令等,非常简单,这里我就不多说了。接下来我选择软件自动重新引导和自动弹出CD,
第一张盘安装的介质我选择了CD, 后面的几张盘我都是选择了网络文件系统。 接收License Agreement后选择了初始安装、自定义安装,选择了所有的中文的软件包并且把默认语言环境设为中文的GB18030, 没有选择任何附加产品,然后选择整个群组/缺省包,选择磁盘上的Solaris分区,选择不保留数据,在分布文件系统时,因为是个人机器, 我只配了/ 和swap 两个文件系统
我的文件系统如下
/ 10G
swap 1.5G
接着就开始安装了。
当第一张盘安装结束后, 要注意在重启过程中取出第一张光盘,否则机器又会从光盘启动。当系统提示第二张光盘的位置时,我选择了网络文件系统(目的是节约几张光盘)。
前面讲到,我的Solaris 10光盘ISO文件在/dev/hda5下面,也就是Windows下的D盘,是FAT32的文件系统。我的做法是,先打开一个Terminal,然后把这个FAT32的磁盘mount 到Solaris下,最后通过lofiadm/mount命令把ISO文件 mount到Solaris下面。做法如下:
1. 把FAT32的光盘mount到Solaris下面:
首先建立目的目录,我打算把/dev/hda5 mount到/wind, /dev/hda6 mount到/wine. 所以,运行# mkdir /wind #mkdir /wine.
接着/dev/dsk, ls 看到c0d0p0到c0d0p4, 这里c0d0p2就对应前面分区表中的/dev/hda2了,也就是那个扩展分区,里面包含了两个FAT32的logical-drive /dev/hda5和/dev/hda6。
在Solaris 里面用device-name和logical-drive分别对应主分区和逻辑分区。这里扩展分区的device-name是c0d0p2, /dev/hda5逻辑分区的logical-drive 可以用c 或者数字1来表示。 /dev/hda6的logical-drive是d 或者数字2。弄清楚了这些命令就简单了。
#mount -F pcfs /dev/dsk/c0d0p2:c /wind
#mount -F pcfs /dev/dsk/c0d0p2:d /wine
当然,要记住在/etc/vfstab里面加入下面两行,以便系统重新启动时能把FAT32的分区自动mount上
/dev/dsk/c0d0p2:c /dev/rdsk/c0d0p2:c /wind pcfs 2 yes -
/dev/dsk/c0d0p2:d /dev/rdsk/c0d0p2:d /wine pcfs 3 yes -
参考文档:
System Administration Guide: Devices and File Systems (http://docs.sun.com/app/docs/doc/817-5093)
ch. 18. Mounting and Unmounting File Systems, Page 306, x86: How to Mount a PCFS (DOS) File System From a Hard Disk
2. 用lofiadm/mount命令做虚拟光驱
在Windows上有很多虚拟光驱程序,如Daemon, Virtual CD等,可以把.iso文件虚拟成光驱。 在Solaris下,我们用lofiadm命令。方法如下:
# lofiadm -a /wind/solaris10/sol-10-GA-x86-v2-iso.iso 把.iso文件export为块设备,参数-a 表示add, 这个命令的output是/dev/lofi/1。这样我们就可以把设备/dev/lofi/1 mount到文件系统了
# mount -F hsfs -o ro /dev/lofi/1 /mnt 把/dev/lofi/1 mount到/mnt
然后#cd /mnt, 看到mount成功后,里面有了光盘上的内容,再回到安装界面, 在路径里面输入/mnt, 然后就能顺利安装了。接下来要装第三张盘的时候,同样到Terminal去,
# umount /mnt 用来unmount, 这个不用我多说了
# lofiadm -d /dev/lofi/1
接着对照第二张盘的命令来安装第三、第四张盘和语言包。
装完后,系统会提示重新启动。 重启后,有CDE和JDS3两种桌面可供选择,我选择进入Java Desktop System 3的界面。
大功告成! 整个过程花了我将近2.5小时的时间。其中觉得第四张盘耗的时间最长。另外觉得JDS 3的桌面很漂亮也很方便使用。
基本配置:
1. 1400x1050分辨率的设置
我的笔记本分辨率是1400x1050的,而Solaris 10起来后默认使用的是1280x1024的,看起来有点模糊。查了一些文档,知道需要新建一个文件/etc/X11/xorg.conf。下面是我的/etc/X11/xorg.conf的内容。
[/etc/X11/xorg.conf]
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "ServerFlags"
Option "HandleSpecialKeys" "Always"
EndSection
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/TrueType/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/sun/"
FontPath "/usr/X11R6/lib/X11/fonts/F3bitmaps/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "record"
Load "xtrap"
Load "bitstream"
Load "speedo"
Load "type1"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/mouse"
EndSection
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/kdmouse"
Option "SendCoreEvents"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 28.0-70.0
VertRefresh 55.0-100.0
DisplaySize 288 216
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "SWcursor" # [<bool>]
#Option "HWcursor" # [<bool>]
#Option "NoAclearcase/" target="_blank" >ccel" # [<bool>]
#Option "ShadowFB" # [<bool>]
#Option "UseFBDev" # [<bool>]
#Option "Rotate" # [<str>]
#Option "VideoKey" # <i>
Option "FlatPanel" # [<bool>]
#Option "FPDither" # [<bool>]
#Option "CrtcNumber" # <i>
Option "MergedFB" "true" # [<bool>]
Option "CRT2HSync" "31-60" # [<str>]
Option "CRT2VRefresh" "50-75" # [<str>]
Option "CRT2Position" "Clone" # [<str>]
Option "MeataModes" "1400x1050-1024x768 1280x1024-1024x768 1024x768-1024x768 800x600-800x600 640x480-640x480"
Identifier "Card0"
Driver "nv"
VendorName "nVidia Corporation"
BoardName "NV17 [GeForce4 420 Go]"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
[End of /etc/X11/xorg.conf]
注意,我加入了
Section "ServerFlags"
Option "HandleSpecialKeys" "Always"
EndSection
这样在Xorg的XServer 碰到问题时,我就可以按"Alt + Ctrl + BkSp" 重新启动xserver了,非常方便。
另外我还根据我的实际情况到启动->首选项->桌面首先项->显示下面更改了很多东西,这里我就不一一描述了。其中比较重要的一个是为了把字体改大,我选择了字体->细节->分辨率,把每英寸点数从96改为120,解决了1400x1050分辨率下字很小的问题。
2. DHCP Client配置
我公司里用的是DHCP,但问题是DHCP Server给我分配的主机名老是dhcp-12什么的,而且会变动,对于装JES什么的特别不方便。于是我修改了
/etc/default/dhcpagent,把最后一行从PARAM_REQUEST_LIST=1,3,6,12,15,28,43 改为PARAM_REQUEST_LIST=1,3,6,15,28,43。
去掉了选项hostname(12)。这个大家可以看注释。 另外就是加入新文件/etc/nodename, 里面的内容是自己喜欢的主机名。我用的是lap1。
3. 默认权限的配置
系统默认是采用安全的方案,但我的机器上面没有什么非常重要的数据,而且经常需要用root用户进行ssh,telnet,ftp等,而这些系统默认都不允许。
没办法,手工改啦。
ssh:
/etc/ssh/sshd_config, 把PermitRootLogin改为yes。另外我曾经出现不能正常启动ssh service的情况。原因是没有在/etc/ssh下面自动生成
ssh_host_rsa_key
ssh_host_rsa_key.pub
ssh_host_dsa_key
ssh_host_dsa_key.pub
等key文件, 最后我手工生成了这些文件,解决了这个问题:
# ssh-keygen -b 1024 -t rsa1 -f /etc/ssh/ssh_host_key -N ""
# ssh-keygen -b 1024 -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
# ssh-keygen -b 1024 -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
telnet:
简单,修改文件/etc/default/login,把行CONSOLE=/dev/console注释掉,就可以用root用户telnet上来了
ftp:
只要修改/etc/ftpd/ftpusers, 把root用户注释掉就可以用root用户进行ftp了。
4. 默认shell的配置。
系统默认使用的是/sbin/sh,但我喜欢使用更流行的bash, 于是修改/etc/passwd,把第一行从root:x:0:0:Super-User:/:/sbin/sh 改为root:x:0:0:Super-User:/:/bin/bash,重新登陆后发现默认shell成功更改。据说这个做法不是特别安全,但我还是喜欢这么做。
5. 打印机的配置。
在Solaris 10的JDS桌面下安装打印机比较简单,只要通过启动->首选项->系统首选项->添加/删除打印机就行了。在图形界面里选择打印机->新的附加打印机或者新的网络打印机,通过图形界面就可以很简单配好打印机。
展望:
我想再写一些实际使用中用的到的一些心得,如
VNC的 配置
用pkg-get 来安装一些常用软件 (mplayer, tcpdump, ethereal 等
mysql 的基本配置,以及怎么和系统自带的App Svr 8PE 联接
Oracle 10g 安装。