领测软件测试网
首先,清楚Solaris 是一个Auto型的系统.。不像BSD能乱改。所有的东西要按步骤做。不然像Windows 有灭顶之灾。不make是一种政策,因为不是自由的我用VMware安,标着大小1.17G。实际上应该没有1G~1.1G左右吧。[list =1]下载iso,官方有下,去官方找。Solaris 10我下过三个版 /U1/U2,大该像windows 的sp1,sp2 吧。写文时,已经发行了u2。大家还会发现有个DVD/CD (注:是用VMware的就用DVD 。DVD是要命令合成的,大家可以看看官方说明 c: >copy /d 那。)
[*]安装,默认下 大于= 512M 是用图形安装。少于的就用文字。安装时要,注意下添名称服务器那。选DNS 的。基本手册
http://wiki.gceclub.sun.com.cn/index.php/Opensolaris_chinese_faq
[*]在选择装软件时,我一般是用“最小--自定义”的那个的。进了里面在去选。
要装的软件包有(有些原来就有的,不要在去动它,因为用的是最小安装):
SUNWBIP ---- 是网络基本命令 如:ftp telnet ping ….(ping 是要加上ping –s xx.xx.xx的)
SUNWbipr ---- 一样的是网络基本命令
SUNWGSS ---- 网络基本命令 API 。
SUNWgssc ----- 没有这两个网络基本命令就用不了
在找到Tomcat那选上。这时它要求你装大量软件照着装,那些是必需的。因为Sun的问题吧。
那个Tomcat只是4.0.5所以不要了吧。必需的都后,Tomcat 取消安装
Secure Shell ---- OpenSSH 一共有五个 只要后三个
Wget ---- 网上下载用的,我怎么都找不到。看看你们能否找到呢。SUNwget
SUNWbash ---- 一样找不到。。安完在算
|
[*]装完后把没有装上的都给装了。大家如果在第3步装了,就不用这步。
CD/DVD(这里注意.solaris 是用/bin/sh 没有删除键的 要删除按Del, 还有 vi 的使用大家去查查。 )
# mkdir /cdrom
# mount –f hsfs –o ro /dev/dsk/c.....
(注:个别而定. 或查查手册,你的cdrom 是那个的) /cdrom
下面注意大小写:
# pkginfo |more 注: 看看有没有
# pkgadd –d /cdrom/Solaris_10/Product SUNWbash
# pkgadd –d /cdrom/Solaris_10/Product SUNWwgetr
# pkgadd –d /cdrom/Solaris_10/Product SUNWwgetu
# pkgadd –d /cdrom/Solaris_10/Product SUNWwgetS
# pkgadd –d /cdrom/Solaris_10/Product SUNWgcmn
# which bash
# bash 注: 不用在按Del 了,像回到了BSD的怀里
# umount /cdrom 注: 关cdrom
# vi /etc/passwd
|
在root 那Shell /sbin/sh改成 /usr/bin/bash (启动时就不要在键入# bash)
# vi /etc/profile
写入以下:
export JAVA_HOME=/usr/java PS1='u:w#' 注: u – 用户 w – 目标
export PS1
PATH=/opt/csw/bin:/usr/sfw/bin:/usr/sbin:/usr/bin:
/usr/openwin/bin:/usr/dt/bin:/usr/ccs/bin
注:PATH 自定义 # echo $PATH
|
检查下,/etc/ssh 下的key 有没有6个。
ssh_host_key.pub
ssh_host_key
ssh_host_rsa_key.pub
ssh_host_rsa_key
ssh_host_dsa_key.pub
ssh_host_dsa_key |
见意,如果只有下面4个的就以下命令。
# ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N "" |
在这我介绍一个命令,find /usr –name “echo*” 查找/usr 叫echo~的文件
这命令好常用的,所以多说下。
[*] 说下solaris 10 的SMF ,Solaris 10引入全新的后台服务管理机制,该机制被称为SMF,它包含了新的概念、管理工具和服务定义方式。比如用里程碑(milestone)代替了运行级别的概念;用服务配置库代替分散在/etc/rcx.d目录的服务启动脚本。
1. svc.startd, svc.configd
2. manifest, profile
3. repository(sqlite db)
4. CLI mgmt tool (svccfg, svcadm, svcprop, svcs, inetadm, inetconv, repoistory_restore) |
SMF包含两个进程、服务定义的manifest和profile、服务配置库和命令行管理工具等内容
svc.startd是SMF的主要进程,它根据系统管理员指令或者系统故障或应用故障来启动、停止、重启服务。
svc.configd是负责管理服务配置库的进程。SMF命令行工具svccfg, svcprop, svcs, svcadm通过该进程访问服务配置库。
查阅进程
服务和服务的实例可以用xml文件定义,manifest定义服务,profile定义服务实例,这些xml文件通常存放在/var/svc目录下。
服务配置库存放在/etc/svc/repository.db文件中。服务配置库实际上是一个sqlite的关系数据库,它存放了服务的定义、配置等信息。
/var/svc目录下的manifest和profile文件和/etc/svc/repository.db文件都包含了服务的定义、配置等信息,后者的信息是权威的。
使用svccfg import命令可将SMF服务的manifest xml文件导入到repository中;
Sun 官方网站,里有更长详的说明:
http://blog.gceclub.sun.com.cn/index.php?op=ViewArticle&articleId=459&blogId=4
svcs –a |more # 可以列出当前所有的服务:
STATE STIME FMRI
legacy_run 1:58:26 lrc:/etc/rcS_d/S50sk98sol
legacy_run 1:58:50 lrc:/etc/rc3_d/S50apache
legacy_run 1:58:51 lrc:/etc/rc3_d/S75seaport
legacy_run 1:58:55 lrc:/etc/rc3_d/S76snmpdx
legacy_run 1:58:57 lrc:/etc/rc3_d/S90samba
...
disabled 1:58:06 svc:/network/iscsi_initiator:default
disabled 1:58:06 svc:/system/metainit:default
disabled 1:58:07 svc:/network/ipfilter:default
disabled 1:58:08 svc:/network/rpc/keyserv:default
disabled 1:58:08 svc:/network/rpc/nisplus:default
disabled 1:58:08 svc:/network/nis/client:default
disabled 1:58:08 svc:/network/dns/client:default
disabled 1:58:08 svc:/network/ldap/client:default
disabled 1:58:09 svc:/network/nfs/cbd:default
disabled 1:58:09 svc:/network/nfs/mapid:default
...
online 1:58:06 svc:/system/svc/restarter:default
online 1:58:08 svc:/network/pfil:default
online 1:58:10 svc:/network/loopback:default
online 1:58:11 svc:/milestone/name-services:default
online 1:58:12 svc:/system/filesystem/root:default
online 1:58:14 svc:/system/boot-archive:default
online 1:58:15 svc:/network/physical:default
|
svcs命令:
svcs用于查看服务的状态,
svcs -a用于查看所有状态的服务
svcs -x用于查看未正常启动的服务
svcs -l <fmri> 用于查看单个服务的详细信息 |
svcadm命令:
svcadm用来启用/禁用、启动/停止SMF服务。
svcadm enable fmri -- 启用一个SMF服务,同时运行该服务
svcadm disable fmri -- 禁用一个SMF服务,同时停止该服务
svcadm restart fmri -- 重启一个SMF服务
svcadm refresh fmri -- 刷新一个SMF服务,相当于让服务重新载入配置文件
svcadm mark fmri -- 将SMF服务标记为维护状态
svcadm clear fmri -- 清除SMF服务的维护状态
svcadm milestone milestone -- 进入指定的服务里程碑,
相当于进入相应的运行级别
|
SMF中的inetd服务
SMF 包含了对inetd服务管理,除了标准的svccfg, svcadm, svcs命令外,SMF还提供了inetadm和inetconv专门管理 inetd服务。inetadm命令用来查看、启用/禁用、修改inetd服务,inetconv则是用来将旧的inetd服务配置转化成SMF规范的服务。常用的inetadm选项如下
inetadm -e fmri 启用指定的inetd服务
inetadm -d fmri 禁用指定的inetd服务
inetadm -l fmri 列出指定inetd服务的属性
inetadm -p 列出默认inetd服务的属性 /etc/svc -- 存放SMF服务配置库
/var/svc/manifest -- 存放SMF服务manifest xml文件
/var/svc/profile -- 存放SMF服务profile xml文件
/var/svc/log -- 存放SMF服务状态变化日志
/lib/svc/method -- 存放SMF服务启动脚本
/lib/svc/seed -- 存放SMF服务配置库的出厂设置
|
不想在多说。
参考信息
SMF快速入门
http://www.sun.com/bigadmin/content/selfheal/smf-quickstart.html
面向开发者的SMF介绍
http://www.sun.com/bigadmin/content/selfheal/sdev_intro.html
配置JBoss为SMF服务的例子
http://www.sun.com/bigadmin/content/submitted/config_smf.html
配置Postfix为SMF服务的例子
http://www.petertribble.co.uk/Solaris/smf.html
有人说杀生是有报应的(可以不稳定)。我就是喜欢:点个名按大小Kill:
# svcadm disable svc:/network/rpc/mdcomm:default
# svcadm disable svc:/network/rpc/metamed:default
# svcadm disable svc:/network/rpc/metamh:default
# svcadm disable svc:/network/rpc/gss:default
# svcadm disable svc:/network/security/ktkt_warn:default
# svcadm disable svc:/network/rpc-100235_1/rpc_ticotsord:default
# svcadm disable svc:/network/rpc/meta:default
# svcadm disable svc:/application/x11/xfs:default
# svcadm disable svc:/network/rpc/bind:default
# svcadm disable svc:/network/inetd:default
reboot 重启下
|
[*]杀完要建设了
# wget http://www.blastwave.org/pkg_get.pkg
# cp pkg_get.pkg ..
# pkgadd -d pkg_get.pkg all |
检查是否安装好 pkg-get 和 wget的位置
# which pkg-get
# which wget |
安装完整的 wget 软件
# pkg-get -i wget
注意:将会出现大量文字,
不用担心,只要完成安装就可以。
其实大不安装这个。用小点空间,挣多点钱。# cd /usr/sfw/bin
# mv wget wget.orig
# exit
重新进入 检查wget新的位置是否正确
# which wget 好了该做正事,看一下PATH
# echo $PATH
注:有/opt/csw/bin的就可以了 # pkg-get –i lsof
# pkg-get –i top
注: 个人喜欢 看下面是列表。
http://www.ibiblio.org/pub/packages/solaris/csw/unstable/i386/5.10/ # pkg-get –i mysql5
像ports 又长又臭 y,y,y,y,y 数据库有两种安装的,这为第一种,见意使用第二种 # pkg-get –i tomcat5
# cd /etc/init.d
注:手动命令所在,有tomcat4的 |
[*]Mysql5 有两种的,见意使用第二种
原来的cswmysql5的的目录为/opt/csw/mysql5;数据库为/opt/csw/mysql5/var/mysql ;my.cnf 文件在 $MYSQL5_HOME/var/mysql
下面改变一下位置先
# cd /opt/csw/lib/svc/method/
注:这里的svc-mysql5是启动文件
# cp /opt/csw/mysql5/share/mysql/mysql.server svc-mysql5
# vi svc-mysql5
if test -z "$basedir"
then
basedir=/opt/csw/mysql5
bindir=/opt/csw/mysql5/bin
if test -z "$datadir"
then
datadir=[u]/opt/csw/mysql5/var[/u]
fi
|
改成你需要的位置上如/var/mysql。my.cnf的位置改成了/etc/my.cnf自动改了。Mkdir 你需要的目录,不要忘了chown chmod chgrp “mysql”
如果你不希望它出声就把echo “ 。。。。”的 # 了 或 删了
if test -f $lsb_functions ; then
source $lsb_functions
else
log_success_msg()
{
[u]echo " SUCCESS! $@"[/u]
}
log_failure_msg()
{
[u]echo " ERROR! $@"[/u]
}
Fi
|
这里只能删不能#。不然会出错。
一不做不忧。Mysqld_safe 都改了
# cd /opt/csw/mysql5/bin
# vi mysqld_safe if test -d $MY_BASEDIR_VERSION/data/mysql
then
DATADIR=$MY_BASEDIR_VERSION/data
if test -z "$defaults" -a -r "$DATADIR/my.cnf"
then
defaults="--defaults-extra-file=$DATADIR/my.cnf"
fi
# Next try where the source installs put it
elif test -d $MY_BASEDIR_VERSION/var/mysql
then
DATADIR=$MY_BASEDIR_VERSION/var
# Or just give up and use our compiled-in default
else
DATADIR=[u]/opt/csw/mysql5/var [/u]注:150行
Fi
|
所有都好了,
# cp /opt/csw/mysql5/share/mysql/my-medium.cnf /etc/my.cnf # /cd opt/csw/mysql5/bin
# ./mysql_install_db --user=mysql --datadir=/……. --basedir=/opt/csw/mysql5
注: ‘- - user = ’的不要错了 --datadir=/。。。 后面是数据库目录。
|
好了人手启动下,
# ./mysqld_safe &# ps –ef
|
看下有没有mysqld –datadir=是那的
# ./mysql –u root –p
看看有没有问题, 一切托当 # ./mysqladmin –u root password ‘XXX’
注:‘XXX’是数据库root密码
# ./mysqladmin –u root –p shutdown
Enter password:
注: 关数据库。
# ps –ef
注:看看有没有关了 好了来个自动,
# svcadm enable cswmysql5
注:查看下。“托当” # cp /opt/csw/mysql5/bin ……… /usr/bin/…
注:不想在多说,加 PATH
|
第2种安装就是去Mysql 官网下载Solaris版的Mysql
(如果是用PostgreSQL 的就不要下了.就在原cdrom安装吧,在这大家不如推销下pg )
我找了个下载地址。
http://ftp.plusline.de/mysql/Downloads/MySQL-5.0/
安装前要先做
groupadd mysql
useradd mysql
mkdir /usr/local
mkdir /man
mkdir /man/man1
# gunzip XXXX.pkg.gz
# pkgadd –d ………
|
安装后要做的 (改就不在说了)
cp /opt/mysql/mysql/support-files/mysql.server /opt/mysql/mysql/bin/mysql.server
cp /opt/mysql/mysql/scripts/mysql_install_db /opt/mysql/mysql/bin/mysql_install_db
目录在/opt/mysql下
数据库在 /var/lib/mysql
|
/usr/local/mysql 是个映射文件,还有写入SMF, XML文件 下面给大家....
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type='manifest' name='mysql:defualt'>
<service name='application/mysql' type='service' version='4'>
<create_default_instance enabled='false'/>
<single_instance/>
<dependency name='fs-local' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/system/filesystem/local'/>
</dependency>
<exec_method type='method' name='start'
exec='/usr/local/mysql/bin/mysql.server start' timeout_seconds='60' />
<exec_method type='method' name='stop'
exec='/usr/local/mysql/bin/mysql.server stop ' timeout_seconds='60' />
<exec_method type='method' name='refresh'
exec='/usr/local/mysql/bin/mysql.server refresh' timeout_seconds='60' />
<stability value='Unstable' />
<template>
<common_name>
<loctext xml:lang='C'>MySQL Server</loctext>
</common_name>
<documentation>
<doc_link name='mysql.org' uri='http://dev.mysql.com/doc/mysql/en/index.html' />
</documentation>
</template>
</service>
</service_bundle>
|
[*]TOMCAT5
先去改改server.xml
# cp /opt/csw/share/tomcat5/conf
# vi server.xml
<!-- Define an AJP 1.3 Connector on port 8009 -->
<!-- <Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.
3" />
-->
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
这个不需要的吧,屏蔽了 # cp /opt/csw/share/tomcat5/bin
# ./ catalina.sh start
注:ps -e 看下有没有,试试
|
其实我也试过用SMF 起动tomcat 但因为变量只有在登陆后才有效。老说找不到J_HOME。最后放气了
用了旧法. /etc/rc3.d/里有个tomcat的文件 前面的S带表运行 K:不运行
有人说tomcat 4 好用,我说个有所用吧。需要的一样能装
试下开机时起动tomcat、mysql
安装已经进入尾声了。
直得一提的solaris 10 有firewall组件 IPFILTER -- IPF 本身就带有
启动:
# svcadm enable svc:/network/ipfilter:default |
会用的就用。不会的说都多于了。。在试验服务器上ipf 不用正常运行。
[*]Netstat –a 表
UDP: IPv4
Local Address Remote Address State
-------------------- -------------------- -------
*.syslog Idle TCP: IPv4
Local Address Remote Address Swind Send-Q Rwind Recv-Q State
-------------------- -------------------- ----- ------ ----- ------ -------
*.* *.* 0 0 49152 0 IDLE
Solaris.ssh *.* 0 0 49152 0 LISTEN
*.32769 *.* 0 0 49152 0 BOUND 注:有谁知道这个是?
*.80 *.* 0 0 49152 0 LISTEN
localhost.8005 *.* 0 0 49152 0 LISTEN
localhost.3306 *.* 0 0 49152 0 LISTEN
|
Top表
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
341 root 35 59 0 95M 39M sleep 0:18 0.93% java
360 linus 1 59 0 6912K 1836K sleep 0:00 0.19% sshd
297 mysql 10 59 0 62M 20M sleep 0:02 0.19% mysqld
|
svca 表
legacy_run 22:24:15 lrc:/etc/rc2_d/S20sysetup
legacy_run 22:24:15 lrc:/etc/rc2_d/S72autoinstall
legacy_run 22:24:16 lrc:/etc/rc2_d/S73cachefs_daemon
legacy_run 22:24:17 lrc:/etc/rc2_d/S81dodatadm_udaplt
legacy_run 22:24:17 lrc:/etc/rc2_d/S89PRESERVE
legacy_run 22:24:17 lrc:/etc/rc2_d/S98deallocate
legacy_run 22:24:19 lrc:/etc/rc3_d/S32java
legacy_run 22:24:24 lrc:/etc/rc3_d/S40tomcat5 online 22:23:32 svc:/system/svc/restarter:default
online 22:23:36 svc:/network/loopback:default
online 22:23:38 svc:/system/filesystem/root:default
online 22:23:42 svc:/network/physical:default
online 22:23:47 svc:/milestone/network:default
online 22:23:48 svc:/system/identity:node
online 22:23:48 svc:/system/boot-archive:default
online 22:23:52 svc:/system/filesystem/usr:default
online 22:23:54 svc:/platform/i86pc/eeprom:default
online 22:23:54 svc:/system/keymap:default
online 22:23:56 svc:/system/device/local:default
online 22:23:57 svc:/system/filesystem/minimal:default
online 22:23:59 svc:/system/cryptosvc:default
online 22:23:59 svc:/system/coreadm:default
online 22:23:59 svc:/system/rmtmpfiles:default
online 22:24:00 svc:/system/name-service-cache:default
online 22:24:00 svc:/system/identity:domain
online 22:24:00 svc:/system/sysevent:default
online 22:24:00 svc:/system/device/fc-fabric:default
online 22:24:01 svc:/milestone/devices:default
online 22:24:04 svc:/network/initial:default
online 22:24:04 svc:/system/manifest-import:default
online 22:24:05 svc:/milestone/single-user:default
online 22:24:06 svc:/network/service:default
online 22:24:06 svc:/network/dns/client:default
online 22:24:06 svc:/milestone/name-services:default
online 22:24:08 svc:/system/filesystem/local:default
online 22:24:08 svc:/system/sysidtool:net
online 22:24:09 svc:/system/cron:default
online 22:24:10 svc:/system/dumpadm:default
online 22:24:10 svc:/system/sysidtool:system
online 22:24:10 svc:/milestone/sysconfig:default
online 22:24:11 svc:/system/sac:default
online 22:24:12 svc:/system/utmp:default
online 22:24:12 svc:/system/console-login:default
online 22:24:13 svc:/system/system-log:default
online 22:24:13 svc:/system/fmd:default
online 22:24:17 svc:/network/ssh:default
online 22:24:17 svc:/milestone/multi-user:default
online 22:24:24 svc:/milestone/multi-user-server:default
online 22:24:26 svc:/network/mysql:default
|
(责任编辑:城尘 68476636-8003)