您的位置:首页 > 其它

Solaris基本操作( by quqi99)

2009-11-25 16:44 344 查看
Solaris基本操作( by quqi99)





作者:张华 发表于:2009-11-25

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明






我在vmware里安装的solaris的版本是x86的10。



1,TAB键命令补全

安装后,会发现命令无法按TAB键补全,并且按上下键也无法将以前输入的命令调出,这是因为solaris默认是将sh作为shell的,所以在命令行输入命令bash用bash即可。



2,网络设置

1) ifconfig -a 查到网卡名,如e1000g0

2)vi /etc/hostname.e1000g0, 这个文件只有一行,它就是主机名,如hostname.e1000g0

3)vi /etc/nodename,这是一个新建文件,加入内容:hostname.e1000g0

4) vi /etc/hosts

hostname.e1000g0 192.168.0.88 zhanghua

5) vi/netmasks

192.168.0.88 255.255.255.0



3,Telnet设置

vi /etc/default/login 注释掉CONSOLE=/dev/console这一行后root用户才能登录



4,远程桌面

1)vi /etc/X11/gdm/gdm.conf 将Port=177前的注释去掉

2)用Xmanager工具连接即可




但有时用xmanager登录时始终无法建立连接。
如果确认不是防火墙等方面的原因,可以用如下方法解决:

1、
默认情况下,Solaris10安装完成后,启动是cde界面。
关闭默认的cde服务

svcadm disable cde-login

用ps-ef|grep dtlogin 应该看不到dtlogin进程了

2、进入/etc/X11/gdm

编辑gdm.conf文件 编辑如下2个地方

找到[xdmcp]字段

将Enable=flase改为true

将Port=177前的注释取消

然后保存退出

3、ps-ef|grep gdm 确认目前没有gdm进程。如有杀之

4、启动gdm服务

# svcs -a|grep gdm

disabled Aug_07 svc:/application/gdm2-login:default

# svcadm enable svc:/application/gdm2-login:default

然后在xmanager里建立新连接。 这样就可以登录了。 在登录界面的左上角选择cde。熟悉的cde界面就又回来了。



5,开启SSH设置

1)svcadm enable -rt ssh (不过这个命令root用户是不能登录的)

2)当非root用户拷文件时,必须先用chown命令对非root用户赋目录权限,否则无法写入



6,显示程序安装目录可用命令,如whereis java



7,GCC的安装

在solaris中有两类,一类是源码(通过configure,make ,make install)编译的,还有一类是已经编译好的二进制。

二进制的安装采用pkgadd -d 命令即可,安装GCC需要下列二进制:

gcc-3.4.6-sol10-x86-local.gz

libgcc-3.4.6-sol10-x86-local.gz

libiconv-1.11-sol10-x86-local.gz

libintl-3.4.0-sol10-x86-local.gz

以上这些包可以在网址http://www.sunfreeware.com/programlistintel10.html 上找到。

安装完后,设置环境变量:

export LD_LIBRARY_PATH=/usr/local/lib

export CC=gcc

export PATH=.:/usr/local/bin:$PATH



8,SVN的安装


包可以在网址http://www.sunfreeware.com/programlistintel10.html 上找到



9,apache的安装

[b] 安装时如果出现找不着ar命令,解决办法如下:
[/b]



PATH=/usr/ccs/bin:/usr/sfw/bin:$PATH


export PATH

若停止apache时报错“httpd: Could not reliably determine the server's fully qualified domain name”时,是要在httpd.conf文件中 设置ServerName

若停不了apache时,报错“Unclean shutdown of previous Apache run”



10,最终的/etc/profile中添加内容如下:

J***A_HOME=/usr/java

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/etc/lib:/usr/local/lib:.

CC=gcc

PATH=.:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:/var/zhanghua/maven-1.0.2/bin:$PATH

export J***A_HOME LD_LIBRARY_PATH CC PATH



11,安装glassfish后,配置了集群,如果报下列错误:

[#|2009-11-26T18:09:31.160+0800|WARNING|sun-appserver2.1|javax.jms|_ThreadID=10;_ThreadName=main;_RequestID=a1b67697-f5ab-48f6-8546-665804e08823;|[C4003]: Error occurred on connection creation [localhost:37677]. - cause: java.net.ConnectException: 不允许联接|#]

....

[#|2009-11-26T18:09:31.202+0800|SEVERE|sun-appserver2.1|javax.enterprise.resource.resourceadapter|_ThreadID=10;_ThreadName=main;_RequestID=a1b67697-f5ab-48f6-8546-665804e08823;|RAR6035 : Resource adapter start failed : {0}

javax.resource.spi.ResourceAdapterInternalException: MQJMSRA_RA4001: start:Aborting:Exception starting LOCAL broker=MQJMSRA_LB4001: start:Aborted:Unable to ping Broker within 60000 millis (startTimeOut)

at com.sun.messaging.jms.ra.LifecycleManagedBroker.start(LifecycleManagedBroker.java:311)

at com.sun.messaging.jms.ra.ResourceAdapter.start(ResourceAdapter.java:308)

at com.sun.enterprise.connectors.ActiveInboundResourceAdapter$1.run(ActiveInboundResourceAdapter.java:180)

at java.security.AccessController.doPrivileged(Native Method)

at com.sun.enterprise.connectors.ActiveInboundResourceAdapter.startResourceAdapter(ActiveInboundResourceAdapter.java:174)

at com.sun.enterprise.connectors.ActiveInboundResourceAdapter.<init>(ActiveInboundResourceAdapter.java:132)

at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.<init>(ActiveJmsResourceAdapter.java:234)

at com.sun.enterprise.connectors.ActiveRAFactory.createActiveResourceAdapter(ActiveRAFactory.java:107)

at com.sun.enterprise.connectors.ResourceAdapterAdminServiceImpl.createActiveResourceAdapter(ResourceAdapterAdminServiceImpl.java:300)

at com.sun.enterprise.connectors.ResourceAdapterAdminServiceImpl.createActiveResourceAdapter(ResourceAdapterAdminServiceImpl.java:445)

at com.sun.enterprise.connectors.ConnectorRuntime.createActiveResourceAdapter(ConnectorRuntime.java:230)

at com.sun.enterprise.jms.JmsProviderLifecycle.onStartup(JmsProviderLifecycle.java:451)

at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:449)

at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:134)

at com.sun.enterprise.server.PEMain.run(PEMain.java:409)

at com.sun.enterprise.server.PEMain.main(PEMain.java:336)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.sun.enterprise.server.PELaunch.main(PELaunch.java:415)

Caused by: java.lang.RuntimeException: MQJMSRA_LB4001: start:Aborted:Unable to ping Broker within 60000 millis (startTimeOut)

at com.sun.messaging.jms.ra.LocalBrokerRunner.start(LocalBrokerRunner.java:365)

at com.sun.messaging.jms.ra.LifecycleManagedBroker.start(LifecycleManagedBroker.java:308)

... 20 more

|#]

解决办法:问题主要是HOSTNAME的原因. 在/etc/hosts里保证两点,一不要有127.0.0.1,二是一个IP 不要映射多个机器名. 这样安装可以成功.

我的/etc/hosts文件内容如下(注意:以下均下以TAB分隔):

如在solaris x86 10中:

::1 localhost

127.0.0.1 localhost

192.168.0.88 zhanghua

如在redhat as 5中,原来的/etc/hosts是:

127.0.0.1 redhat.bes redhat localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

那么要改成:

#127.0.0.1 redhat.bes redhat localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

192.168.0.88 redhat.bes redhat localhost.localdomain localhost

不过,话说回来,关键得看日志,不是日志中有这样的“[C4003]: Error occurred on connection creation [localhost:37677]. - cause: java.net.ConnectException: 不允许联接|#]”吗?日志里提示哪个IP找不着,就得在/etc/hosts文件加哪个IP,OK。



10,在solaris平台上编译64位的apr包

1) 首先,需要需要apr,apr-util. tomcat-apr-native

三个库的源文件

2) 只能用CC,不能用GCC,环境变量:

export CC=cc

export PATH=.:/opt/soft/SUNWspro/prod/bin:/usr/ccs/bin:$PATH

其中/opt/soft/SUNWspro/prod/bin为CC路径,/usr/ccs/bin为ar路径

2)编译64位的apr只需要在configure命令中加-m64参数即可。 CLAGS=-m64 ./configure

编译APR:CFLAGS=-m64 ./configure --prefix=/apr64 make , make install

编译APR-util: CFLAGS=-m64 ./configure --with-apr=/apr64/bin --prefix=/apr-util64

编译tomcat-apr-native: CFLAGS=-m64 ./configure --with-apr=/apr64/bin --disable-openssl --with-java-home

=/usr/jdk/jdk5 --prefix=/tc-native64

3) 将生成出来的一个so库直接放到tomcat/bin目录下。

4)在catalina.bat命令中,加 J***A_OPTS="-d64" ,当然,JDK得是64位的。

并且还要加上:CATALINA_OPTS="-Djava.library.path=/tc-native64/lib"

需要注意的是,如果apr的LIB目录移动目录了,必须加LD_LIBRARY_PATH环境变量指定哦

5)
若编译过程中会反复遇到类似于"
src/.libs/sslinfo.o: wrong ELF class:ELFCLASS64"的错误 ,经过查证,原因是apr

所依赖的部分库不是64位的造成的(可以通过file命令去查看),在这种情况下有两种解决方式:1,安装64位的该依赖库。

2,下载该依赖库,并用-m64参数重新编译。



判断一个系统是32位还是64位?

windows

systeminfo命令

LINUX

# uname -a

Linux DELL2950 2.6.5-7.244-smp #1 SMP Mon Dec 12 18:32:25 UTC 2005 i686 i686

后面是 X686或X86_64则内核是64位的,i686或i386则内核是32位的

AIX:

显示AIX系统内核是32位还是64位:

bootinfo -K

显示机器硬件是32位还是64位:

bootinfo -y

SUN:

$isainfo -bv

64表示内核是64位的,32表示内核是32位的

HPUX:

>getconf KERNEL_BITS

64表示内核是64位的,32表示内核是32位的




用 String arch = System.getProperty("sun.arch.data.model"); 可以判断JDK是32位还是64位的。或直接java -version,有64字眼就是64位的。

aix,solaris, hp-ux 压缩:tar -cf - jdk|compress > /home/zhanghua/vm.tar.Z
linux 压缩: tar -czf vm.tar.Z jdk
aix 压缩:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: