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 压缩:
作者:张华 发表于: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 压缩:
相关文章推荐
- Solaris下Oracle的基本操作
- Solaris下Oracle的基本操作
- (转)Solaris 10 的基本操作
- Solaris 10 的基本操作
- 跟小段一起学Solaris(27)---磁带机的基本操作
- .Net Remoting(基本操作) - Part.2
- Entity Framework 学习初级篇7--基本操作:增加、更新、删除、事务,处理并发问题
- MariaDB二进制安装步骤以及数据库的基本操作
- 云框架Hadoop之Hive基本操作
- Linux笔记--vim的基本常用操作总结
- Linux下mysql基本操作小结
- 数据库基本操作
- 单链表的基本操作及其应用(实验2.1)
- git分布式项目管理基本操作
- mysql基本操作讲解
- Git -- 基本操作
- 【神经网络与深度学习】Caffe使用step by step:caffe框架下的基本操作和分析
- Oracle基本语法&&函数&&子查询&&分页查询&&排序&&集合操作&&高级分组函数
- access的一些基本操作
- javascript数组之基本操作+数组属性