linux SUSE11 rpm方式安装mongodb 4.x(可用于绝大部分软件包)

简介

去甲方机房重装操作系统,由于某些原因没有使用虚拟化,只能物理机部署操作系统,再加上甲方网络安全性贼高,连接过互联网的设备禁止接入网络设备。导致只能使用u盘、光盘,很不凑巧的是这台服务器没有自带光驱…(省略1000字)。服务器已经过保,售后只提供排除问题,不提供解决方案(这里强烈吐槽H普,dell ibm huawei lenovo 私下找工程师照样能帮忙解决 )。
各种原因,导致开机u盘引导启动搞了一天都没搞定,插u盘后导致bios直接进不去,卡在左上角光标闪烁,u盘换了3个,各种排除法
顿时就口吐芬芬…讲讲重点吧(血与泪的心酸史)

  • 服务器型号:HP ProLiant DL388 G7
  • bios:version 2010/12/12
  • 原系统: SUSE 11 SP2
  • 预装系统: centos 7

解决方法

想着不重装系统就不重装咯,虽然docker官方只提供ee版本,但docker-ce可以用二进制(binaries)包来解决license问题。这里再吐槽一下二进制包不是源码包!!,之后另外写一篇介绍rpm、二进制、源码包之间的区别。
本来计划是用docker来解决软件问题,然后这个版本的kernel 内核3.0.x版本,顿时(口吐芬芬),好了docker计划破灭。
kernel-versiondocker-binaries-depend

  1. 采用源码编译
    github找到了源码编译环境,再次口吐芬芬…,看到这里我就立马换方法。
    mongodb-src-depend
  2. rpm包 ,二进制包
    尝试使用rpm包,发现没有解决依赖。正当准备放弃,mongodb是根据系统环境来编译包的。逆推,那我就把这些依赖解决,不就能安装mongodb了嘛!!找了个suse12 iso文件来解决依赖包。
    rpm-depend
    与suse12 sp4 对于的依赖包是,glibc-2.22-15.3.x86_64.rpm,libopenssl1_0_0-1.0.2p-2.11.x86_64.rpm。我把这两个包强制安装并不解决依赖。
    mongodb-server-successful
    一顿操作猛如虎,成功了。报错是因为suse 11 用的是service来管理软件包启停,没有systemd。这个好解决,另外找台测试机,安装mongodb针对rhel6操作系统,然后,去/etc/init.d/下,复制对应的启停脚本。(懒得自己写,最重要的是官方提供的它不香嘛???)。
    rpm 由于是封装好的,那我就用二进制包,手动编写完成启停脚本。

手动启动尝试,发现已经启动成了。

mkdir /data/db -p
mongod #手动测试一下,由于使用/data/db为默认存储路径。

mongodb-start-log
再装个shell rpm,测试一下,再测试一下程序,没有问题就可以上生产了(美滋滋)。
mongodb-shell-successful
mongodb-shell-test

总结

这得益于linux,一切基于文件的特性,还有linux真香(windows 反人类)。
有时候遇到问题没有必要解决于官方文档或其他文档来解决。利用好所掌握的知识,列出可行方案,依次验证,毕竟 “实践是检验真理的唯一标准”。

发布了26 篇原创文章 · 获赞 1 · 访问量 7239

猜你喜欢

转载自blog.csdn.net/chinazzb/article/details/103672353