linux共享库安装后的设置

linux共享库安装后的设置,第1张

解决方案:

<article class="baidu_pl" style="box-sizing: inheritoutline: 0pxmargin: 0pxpadding: 16px 0px 0pxdisplay: blockposition: relative">

1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令

ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib .so ), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.

2) 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:

include ld.so.conf.d/*.conf

**3) 如果共享库文件安装到了其它"非/lib或/usr/lib" 目录下, 但是又不想在/etc/ld.so.conf中加路径(或者是没有权限加路径). 那可以export一个全局变量LD_LIBRARY_PATH, 然后运行程序的时候就会去这个目录中找共享库. **

LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开. 比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面, 则可以在.bashrc或.bash_profile或shell里加入以下语句即可:

export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH

一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.

4)如果程序需要的库文件比系统目前存在的村文件版本低,可以做一个链接 比如: error while loading shared libraries: libncurses.so.4: cannot open shared

object file: No such file or directory

ls /usr/lib/libncu*

/usr/lib/libncurses.a /usr/lib/libncurses.so.5

/usr/lib/libncurses.so /usr/lib/libncurses.so.5.3

可见虽然没有libncurses.so.4,但有libncurses.so.5,是可以向下兼容的 建一个链接就好了 ln -s /usr/lib/libncurses.so.5.3 /usr/lib/libncurses.so.4

让linux加载当前目录的动态库,设置方法有以下三种:

1、临时修改,log out之后就失效

在terminal中执行:

export LD_LIBRARY_PATH=./

2、让当前帐号以后都优先加载当前目录的动态库

修改~/.bash_profile 在文件末尾加上两行:

LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH

3、让所有帐号从此都优先加载当前目录的动态库

修改/etc/profile 在文件末尾加上两行:

LD_LIBRARY_PATH=./ 和 export LD_LIBRARY_PATH

检查硬件是否满足要求1)确保系统有足够的 RAM 和交换空间大小,运行以下命令:#grep MemTotal /proc/meminfo #grepSwapTotal /proc/meminfo 注:所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。2)确保有足够的磁盘空间。Oracle 10g软件大约需要 2.5GB 的可用磁盘空间,数据库则另需至少1.2G的磁盘空间3)/tmp 目录至少需要 400MB 的可用空间。 要检查系统上的可用磁盘空间,运行以下命令: #df-h2检查系统是否已安装所需的开发包使用rpm -qa命令,确保以下包已成功安装。对于包的版本,只有版本高于下面的都可以,如果低于此版本,则要升级处理,如下:binutils-2.15.92.0.2-13.EL4compat-db-4.1.25-9compat-libstdc++-296-2.96-132.7.2control-center-2.8.0-12gcc-3.4.3-22.1.EL4gcc-c++-3.4.3-22.1.EL44glibc-2.3.4-2.9glibc-common-2.3.4-2.9gnome-libs-1.4.1.2.90-44.1libstdc++-3.4.3-22.1libstdc++-devel-3.4.3-22.1make-3.80-5pdksh-5.2.14-30sysstat-5.0.5-1xscreensaver-4.18-5.rhel4.2setarch-1.6-1libaio-0.3.103-33创建oracle组和oracle用户创建用于安装和维护 Oracle 10g软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall(用于软件安装) 和 dba(用于数据库管理)。#groupadd oinstall#groupadd dba#useradd -m -g oinstall -G dba oracle –poracle (p表示添加帐号密码)创建oracle目录并改变目录权限现在,创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。以 root 用户身份执行以下命令:#mkdir -p /u01/app/oracle # oracle根目录,-p 表示递归建立目录#mkdir -p /u02/oradata # oracle数据文件存放目录#chown -R oracle:oinstall /u01#chown -R oracle:oinstall /u02#chmod -R 775 /u01#chmod -R 775 /u024配置linux内核参数#vi/etc/sysctl.conf,添加如下内容:kernel.shmall = 2097152 kernel.shmmax = 2147483648 #此处默认设置为2G,数值一般设为物理内存的40~50%kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default = 262144net.core.rmem_max = 262144net.core.wmem_default = 262144net.core.wmem_max = 262144 完成后,运行以下命令激活更改:#sysctl–p 注:Linux 内核非常出色。与大多数其他 *NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。配置oracle用户的shell限制#vi /etc/security/limits.conf 添加如下内容:oracle softnproc 2047oracle hardnproc 16384oracle softnofile 1024oracle hardnofile 65536 #vi /etc/pam.d/login添加如下内容:session required pam_limits.so导出x图形界面给oracle用户由于安装时采用的是oracle的OUI图形化界面,需要X支持,而默认oracle用户是不支持图形化 *** 作的,必须以root的身份导出X给oracle用户使用。运行如下命令:#xhost +access control disabled,clients can connect from any host出现以上文字表示导出成功。5oracle用户下执行 1.2.1设置环境变量#su –oracle$vi .bash_profile 加入以下内容:TMP=/tmpTMPDIR=$TMPORACLE_BASE=/u01/app/oracle#oracle 根目录ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 #oracle 家目录ORACLE_SID=orcl #根据实际需要命名LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libPATH=$ORACLE_HOME/bin:$PATHexportTMP TMPDIR ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH $source .bash_profile #使环境变量生效2、安装 Oracle2.1、下载并解压oracle软件从Oracle网站下载10201_database_linux_x86_32.cpio.gz到oracle用户家目录下/home/oracle/(也可为其他目录),使用oracle用户登录后,解压此文件:$startx$cd /home/oracle$gunzip 10201_database_linux_x86_64.cpio.gz$cpio -idmv <10201_database_linux_x86_64.cpio 以上 *** 作将Oracle安装文件解压到database/目录。(根据下载的包的格式不同,解压出来后的目录格式可能不同。)2.2、Oracle OUI进行图形化安装(推荐使用高级安装方式)切换到database/目录下,运行以下命令: $cd database $./runInstaller6检验是否安装成功数据库正常安装结束后,默认是启动的。以oracle用户身份运行以下命令测试:$sqlplus/ as sysdbaSQL>selectopen_mode from v$database OPEN_MODE------------------READ WRITE若出现以上文字说明数据库正在正常运行。自此,数据库安装成功。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7333499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存