需求
本来内网安装openoffice是很简单的事,解压,安装rpm文件就行,但是麻烦的是openoffice的运行环境,提示缺少库无法启动。如果你安装的机器比较新,毕竟装系统的时候并不会把所有动态依赖库都加载,一般就是需要的你在通过apt-get、wget、yum等方式安装即可,但是内网环境并不能使用这些,甚至这些命令都没有。那你怎么玩??
解决思路
- 如果是单个动态库不存在,先看看本机有没有该动态库,有就创建软链接到执行目录下
- 如果没有就看看当前系统的系统版本,去网上下载该系统版本的动态库的rpm,安装后在创建软连接到该执行目录下
- 如果是某个比较大的环境没有,比如http,gcc等等,一般这种就需要依赖很多个动态库才行,一个个搞太麻烦了,特别是库与库之间也可能存在依赖关系。这个就需要直接点,你通过挂载同版本的dvd.iso镜像文件,通过里面的完整Packages安装你需要的环境
具体操作
解决单个动态库不存在的问题
- 你首先尝试先运行你要启动的进程,我这里是openoffice:
./soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
- 如果此时报错了,提示:
error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory
这里我是libXext.so.6
这个动态库没有。- 没有你就先找找本机能不能找到这个动态库,执行:
find / -name libXext.so.6
如果本机找到了,例如在/usr/lib64/
下,你就需要创建软链接到当前openoffice的运行目录下
ln -s /usr/lib64/libXext.so.6 /opt/openoffice/program/libXext.so.6
最后通过ldd ./soffice.bin
验证是否链接上,顺便也能查看当前执行程序的其他依赖动态库是否都找到了,没有再按上面的流程走一遍即可- 如果本机没有,你就在互联网环境根据内网机器的系统版本下载该库的rpm安装包,通过
rpm -ivh *.rpm
的方式安装,在创建软链接过去
通过挂载系统镜像的方式yum源本地安装
我这安装openofiice,他还需要一个X-Windows System的东西,需要安装,但是内网你无法通过
yum groupinstall "X Window System"
安装。然后又了解到它依赖的库多达好几百个,一个个安装是不可能的,也做不来这么傻的事,这个时候就可以通过挂载对应系统版本的DVD.iso文件安装。
- 首先先去下载镜像文件
- 在将镜像文件上传到服务器root文件夹
- 创建挂载文件:
mkdir /mnt/cdrom/
(路径和名字任意)- 挂载镜像文件到此目录:
mount /root/镜像文件.iso /mnt/cdrom
- 进入yum的repo文件夹中:
cd /etc/yum.repos.d/
- 编辑新建文件cdrom.repo:
vi cdrom.repo
- 7.输入以下内容,并保存:
[cdrom]
name=cdrom
baseurl=file:///mnt/cdrom
gpgcheck=0- 清除yum缓存:
yum clean all
- 查看是否加载repo:
yum repolist
- 安装X-Winodws:
yum groupinstall "X Window System"
- 最后启动openoffice,卸载挂载:
umount /mnt/cdrom
参考资料
- https://www.cnblogs.com/javasl/p/13571496.html
- https://blog.csdn.net/vanvan_/article/details/89501360
- https://bbs.csdn.net/topics/396496711