建设个人网站需要什么条件,网站关键词更换了,淮北论坛招聘,网站悬浮背景介绍
我遇到的问题可能和你的不一样。但是如果遇到错误一样也可以按此方案尝试修复。 我是想在Linux上安装Oracle#xff0c;因为必须在离线环境下安装。就在网上搜一篇文章linux离线安装oracle#xff0c;然后安装教程走#xff0c;进行到安装oracle依赖包的时候执行了…背景介绍
我遇到的问题可能和你的不一样。但是如果遇到错误一样也可以按此方案尝试修复。 我是想在Linux上安装Oracle因为必须在离线环境下安装。就在网上搜一篇文章linux离线安装oracle然后安装教程走进行到安装oracle依赖包的时候执行了下面的命令
rpm -ivh ./* --nodeps --forcerpm -ivh ./* --nodeps --force 是一个用于在 Linux 系统上安装 RPM 包的命令。以下是每个选项的详细解释 rpmRPM 包管理器的命令。-i安装模式install。-v详细模式verbose显示安装过程中的详细信息。-h显示安装进度的哈希标记hash即安装过程中显示进度条。./*当前目录下的所有文件假设是 RPM 包。--nodeps忽略依赖性检查即使某些依赖包没有安装也强制安装该 RPM 包。--force强制安装即使系统中已存在相同的包或文件也会覆盖安装。
总的来说这个命令用于在当前目录下批量安装所有 RPM 包并且忽略依赖关系和可能的冲突。
使用该命令时需要注意因为 --nodeps 和 --force 选项可能导致系统不稳定或依赖关系问题所以应谨慎使用。
错误1
执行完上面的命令以后发现
ssh连接不上了 此时如果连接没有断开千万不要断开包括ssh和sftp的。否则就得走另外的恢复模式了。rpm无法使用了
[rootk8s-node1 oracle11g_yilai]# rpm -qa | grep nss
rpm: /lib64/libnssutil3.so: version NSSUTIL_3.82 not found (required by /lib64/libnss3.so)
rpm: /lib64/libnssutil3.so: version NSSUTIL_3.59 not found (required by /lib64/libnss3.so)这个错误rpm: /lib64/libnssutil3.so: version NSSUTIL_3.59’ not found 会让人很蒙圈。网上有教程让复制一个libnssutil3.so进去。可能会出现下面的错误
错误2
执行rpm -qa命令
[rootk8s-node1]# rpm -qa
错误Failed to initialize NSS libraryFailed to initialize NSS library 错误出现了
问题分析
根本原因是在前面执行rpm -ivh ./* --nodeps --force命令的时候没有查看要执行的离线依赖包里面有哪些包。如果你是个初学的小白或者linux并不是那么熟练这个命令是个大坑大坑大坑。
后来查看离线依赖包里面发现了下面几个包 nss-util-3.44.0-4.el7_7.x86_64.rpm nss-softokn-freebl-3.44.0-8.el7_7.x86_64.rpm nss-softokn-freebl-3.44.0-8.el7_7.i686.rpm nspr-4.21.0-1.el7.x86_64.rpm 在执行上面的安装RPM包的命令的时候本机的nss被覆盖了会导致ssh相关 rpm相关命令失效。这种情况会出现在安装的nss包的版本比当前服务器的版本低的情况如果一样是不会导致错误的。 比如当前的nss版本是nss-3.67.0-3.el7_9.x86_64安装了一个nss-3.44.0-4.el7_7.x86_64.rpm这种情况就会出现错误。
拯救方案
经过反复测试。在另外一台正常运行的服务器上把相关的包复制过来进行覆盖就可以恢复。 当然覆盖前要做一些备份。 在/usr/lib64下面有这个几个.so文件 .nss/libnssckbi.so libnspr4.so ilibnss3.so libnssutil3.so libsmime3.so libssl3.so libfreeblpriv3.so 可以挨个替换然后验证是否已经解决问题。
复现步骤
1.上传依赖包 上传oracle11g_yilai到 /var/tmp下 2.自检 执行rpm -qa | grep nss输出正常 我当前服务版本是nss-3.44.0-4.el7_7.x86_64 ssh连接正常 3.升级nss
sudo yum install nss-3.67.0-3.el7_9.x86_64升级日志中可以看到升级了哪些包。 执行rpm -qa | grep nss输出正常已升级到nss-3.90.0-2.el7_9.x86_64 3.RPM强制覆盖
cd /var/tmp/oracle11g_yilai
rpm -ivh ./* --nodeps --forcessh 和 sftp窗口不要关闭否则连不上了 4.自检
[rootk8s-node1 ]# rpm -qa | grep nss
rpm: /lib64/libnssutil3.so: version NSSUTIL_3.82 not found (required by /lib64/libnss3.so)
rpm: /lib64/libnssutil3.so: version NSSUTIL_3.59 not found (required by /lib64/libnss3.so)ssh无法连接 6.复制libnss3.so到/usr/lib64 -必须复制原来3.4版本的libnss3.so。升级后的不会出现下面的错误
[rootk8s-node1 ]# rpm -qa | grep nss
错误Failed to initialize NSS library错误已经改变 Failed to initialize NSS library。 复制libnssutil3.so进去也行每个机器可能版本不一样表现不太一样。
7.从升级到nss3.90的服务器复制一下文件替换当前服务器的/uar/lib64下的.so文件 .nss/libnssckbi.so libnspr4.so ilibnss3.so libnssutil3.so libsmime3.so libssl3.so
[rootk8s-node1 ]# ssh localhost
The authenticity of host localhost (::1) cant be established.
ECDSA key fingerprint is SHA256:tbgFq5/tRhkV/P6jLz9olydPnQ3rYtCBNrQC/gL9GQ.
ECDSA key fingerprint is MD5:60:cf:f5:40:fb:bf:01:1b:ba:96:d4:9e:51:7a:80:19.
Are you sure you want to continue connecting (yes/no)? y
Please type yes or no: yes
Warning: Permanently added localhost (ECDSA) to the list of known hosts.ssh恢复正常
8.rpm修复
替换libfreeblpriv3.so
[rootk8s-node1 ~]# rpm -qa | grep nss
openssh-clients-7.4p1-21.el7.x86_64
nss-util-3.90.0-1.el7_9.x86_64
nss-3.90.0-2.el7_9.x86_64
nss-util-3.44.0-4.el7_7.x86_64
openssl-libs-1.0.2k-19.el7.x86_64
nss-softokn-freebl-3.44.0-8.el7_7.i686
openssh-server-7.4p1-21.el7.x86_64
nss-softokn-freebl-3.90.0-6.el7_9.x86_64
nss-sysinit-3.90.0-2.el7_9.x86_64
nss-tools-3.90.0-2.el7_9.x86_64
nss-softokn-freebl-3.44.0-8.el7_7.x86_64
openssl-1.0.2k-19.el7.x86_64
nss-pem-1.0.3-7.el7.x86_64
jansson-2.10-1.el7.x86_64
nss-softokn-3.90.0-6.el7_9.x86_64
xmlsec1-openssl-1.2.20-7.el7_4.x86_64
openssh-7.4p1-21.el7.x86_64