首先声明,本人也是Linux方面的菜鸟,内核的东西不懂,只会一些简单的应用。
建议刚接触Linux的朋友不要去碰Unix的东西,我刚开始也是走了不少弯路,想一把吃成个胖子,学了FreeBSD,那种没有图形界面的Unix让你很费劲去理解里面的东西,虽然也有X Window支持,但我建议大家还是学学集成了图形界面的Linux,譬如TurboLinux,RedHat等,我是先接触的TurboLinux再接触RedHat,两者安装和应用都差不多,更重要的一点,学的时候最好搞个虚拟机VMware,在Windows这样比较爽,值得一提的是安装RadHat9的时候有如果你的鼠标是USB接口的,有可能会出现鼠标不能用以及声卡无法识别的情况,这个我在以后会讲到。
1.基本命令介绍
Linux一些和Dos相类似的命令就不一一介绍了,像ls(列表),cd(切换目录),cp(复制),mv(重命名)等这些命令就略过了,本文主要介绍一下Linux安装和使用软件过程中一些常见的命令便于大家快速掌握Linux基本操作,记住一点,无论什么命令,都可以通过#man查看他的使用说明,例如#man rpm你就会知道rpm的详细使用方法,有时候你知道这个命令是干吗的,但想不起来具体参数是干什么的,可以通过#cmd -?或者--help或者-h来查看,绝大多数命令都有帮助选项,例如#rpm -?。
1.1 rpm
1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;
2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;
3、可以在查询系统中的软件包是否安装以及其版本;
4、作为开发者可以把自己的程序打包为RPM 包发布;
5、软件包签名GPG和MD5的导入、验证和签名发布
6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;
#rmp -q 软件名 注:查询软件全名
#
rmp -vih file.rpm 注:这个是用来安装一个新的rpm 包;
#rmp -uvh file.rpm 注:这是用来升级一个rpm 包;
待补...
前几天做了一个案例,HP RX2660小型机+Red Hat AS 4.0 Linux,RX2006标准安装操作系统是HP UX,没钱,还是用Linux吧,而且也比较熟悉,HP RX2660的特点是它的CPU是Itanium 2的,这就意味着所有的软件都必须For Itanium,否则根本安装不上,在小型机上做J2EE应用,JDK For Itanium目前只到1.4.2版本,Oracle选的是Oracle 10g Release 2 Itanium Linux版本,安装Oracle的时候会报jvm错误,意思是你安装的java虚拟机版本不兼容,我们指定Oracle安装时java版本,通过使用./runInstaller -jvmLoc JAVA_PATH就可以正确安装了,安装到数据库这一步时,又会出现类似的错误,相应的解决办法下班后再贴。
一、安装Oracle前的环境配置
1、配置系统内核参数,以root用户登录,修改在/etc/sysctl.conf文件,在该文件中添加以下参数:
kernel.shmall = 2097152
kernel.shmmax = 536870912 (512物理内存的标准)
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
2、创建安装数据库时所需要使用的用户组oinstall,dba及Oracle用户,并将oinstall,dba组定义成oracle用户的主次组。命令参考如下:
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle (设定oracle用户为oinstall、dba用户组的成员)
# passwd oracle (设定oracle用户的密码)
3、以root用户身份登录系统创建Oracle系统的安装目录和数据库文件存放的目录。例如:/oracle,及改变以上目录的属性命令参考如下:
# mkdir -p /oracle/product/10.2.0 (创建数据目录)
# chown -R oracle.oinstall /oracle (设定目录所属的用户组和用户)
# chmod -R 775 /oracle (设定目录的读写权限)
4、以oracle 用户身份登录系统,复制和解压10201_database_linux64_itanium.zip文件到/home/oracle下:
# cp 10201_database_linux32.zip /home/oracle/ (复制文件到oracle个人目录内)
# unzip /home/oracle/10201_database_linux32.zip (解压zip文件)
5、配置oracle用户环境,以oracle用户登录,修改oracle用户下的 .bash_profile 文件。增加以下参数:
vi .bash_profile (执行vi命令来修改.bash_profile)
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
# 以下是我们所需配置的内容
umask 022
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/; export ORACLE_HOME
ORACLE_SID=YJSDB; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
#LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL
6、重新启动操作系统:
二、开始安装
以oracle用户登录
[oracle@oracle ~]$ cd /home/oracle/database
[oracle@oracle database]$ ./runInstaller
输出如下信息
正在启动 Oracle Universal Installer...
正在检查安装程序要求...
检查操作系统版本: 必须是redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
通过
所有安装程序要求均已满足。
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2008-09-25_04-10-17PM. 请稍候...[oracle@oracle database]$ #
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGILL (0x4) at pc=0x20000000038a4070, pid=22926, tid=2305843009214190464
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.4.2_10-b03 mixed mode)
# Problematic frame:
#
jre出错,改用其他jre
[oracle@oracle database]$ ./runInstaller -jreLoc $JAVA_HOME/jre
输出如下信息
正在启动 Oracle Universal Installer...
正在检查安装程序要求...
检查操作系统版本: 必须是redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
通过
所有安装程序要求均已满足。
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2008-09-25_04-10-39PM. 请稍候...[oracle@oracle database]$ Oracle Universal Installer, 版本 10.2.0.1.0 正式版
版权所有 (c) 1999, 2005, Oracle。保留所有权利。
/etc/host.conf: line 2: bad command `127.0.0.1 localhost'
/etc/host.conf: line 3: bad command `202.112.152.152 oracle'
出现bad command错误,不影响安装,弹出以下界面
检查全部通过,下一步
下一步
下一步
下一步
下一步
下一步
下一步
下一步
下一步
到这一步的时候就出错了,郁闷的是这时候机器突然截不了图了,我用手机拍了一张,大概出错信息就是Net Assistance的错误
详细出错信息如下:
信息: Configuration Assistant "Oracle Net Configuration Assistant" 失败
-----------------------------------------------------------------------------
*** Starting OUICA ***
Oracle Home set to /home/oracle/OraHome_1
Configuration directory is set to /home/oracle/OraHome_1/cfgtoollogs. All xml files under the directory will be processed
信息: "/home/oracle/OraHome_1/cfgtoollogs/configToolFailedCommands" 脚本包含所有失败的, 跳过的或取消的命令。可使用此文件在 OUI 外运行这些 Configuration Assistant。请注意, 执行此脚本前, 您可能需要用口令 (如果有) 来更新此脚本。
-----------------------------------------------------------------------------
严重: OUI-25031: 一些 Configuration Assistant 失败。强烈建议您此时重试这些 Configuration Assistant。如果任何 "推荐" 的 Assistant 没有成功运行, 都将意味着无法正确配置系统。
1. 检查 Configuration Assistant 屏幕上的“详细资料”面板, 查看导致出现失败的错误。
2. 修复导致这些失败的错误。
3. 选择发生失败的 Assistant, 然后单击 '重试' 按钮进行重试。
信息: 所选用户: 是(Y)/确定
点击跳过,安装完成,然后进入root用户运行./root.sh命令,如下
[root@oracle 10.2.0]# ./root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /oracle/product/10.2.0
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
[root@oracle 10.2.0]#
完成之后再进oracle用户就进不去了,报错如下:
详细出错信息我手抄了一份:
/etc/x11/gdm/PresSession/Default: Resistering Your Session with wtmp and utmp
/etc/x11/gdm/PreSession/Default: running :/usr/bin/x11/sessreg -a -w /var/log/wtmp/
-u /var/run/utmp -x "var/gdm/:0 .Xservers " -h " " -l ":0" "oracle"
/etc/profile: line 7 : limit : command not found
/etc/profile:line 8 : limit : command not found
/etc/profile:line 51 : CLASSPATH :command not found
dbus-daemon-l:error while loading shared libraries :/oracle/product/10.2.0//lib/libexpat.
so.0: file too short
EOF in dbus -launch reading address from bus daemon
大概情况就是这样,不知道怎么解决。