通過如下方式下載到openssh安裝包
https://www.cnblogs.com/qq931399960/p/11120429.html
-rwxrwxrwx. 1 root root 157200 Jul 2 10:39 cryptsetup-2.0.3-3.el7.x86_64.rpm -rwxrwxrwx. 1 root root 345964 Jul 2 10:39 cryptsetup-libs-2.0.3-3.el7.x86_64.rpm -rwxrwxrwx. 1 root root 98680 Jul 2 10:39 libgudev1-219-62.el7_6.6.x86_64.rpm -rwxrwxrwx. 1 root root 165932 Jul 2 10:39 libselinux-2.5-14.1.el7.x86_64.rpm -rwxrwxrwx. 1 root root 191104 Jul 2 10:39 libselinux-devel-2.5-14.1.el7.x86_64.rpm -rwxrwxrwx. 1 root root 241132 Jul 2 10:39 libselinux-python-2.5-14.1.el7.x86_64.rpm -rwxrwxrwx. 1 root root 155092 Jul 2 10:39 libselinux-utils-2.5-14.1.el7.x86_64.rpm -rwxrwxrwx. 1 root root 154244 Jul 2 10:39 libsemanage-2.5-14.el7.x86_64.rpm -rwxrwxrwx. 1 root root 304196 Jul 2 10:39 libsepol-2.5-10.el7.x86_64.rpm -rwxrwxrwx. 1 root root 78740 Jul 2 10:39 libsepol-devel-2.5-10.el7.x86_64.rpm -rwxrwxrwx. 1 root root 100668 Jul 2 10:39 lz4-1.7.5-2.el7.x86_64.rpm -rwxrwxrwx. 1 root root 522344 Jul 2 10:39 openssh-7.4p1-16.el7.x86_64.rpm -rwxrwxrwx. 1 root root 670336 Jul 2 10:39 openssh-clients-7.4p1-16.el7.x86_64.rpm -rwxrwxrwx. 1 root root 469340 Jul 2 10:39 openssh-server-7.4p1-16.el7.x86_64.rpm -rwxrwxrwx. 1 root root 938004 Jul 2 10:39 policycoreutils-2.5-29.el7_6.1.x86_64.rpm -rwxrwxrwx. 1 root root 495512 Jul 2 10:39 selinux-policy-3.13.1-229.el7_6.12.noarch.rpm -rwxrwxrwx. 1 root root 7247400 Jul 2 10:39 selinux-policy-targeted-3.13.1-229.el7_6.12.noarch.rpm -rwxrwxrwx. 1 root root 5299428 Jul 2 10:39 systemd-219-62.el7_6.6.x86_64.rpm -rwxrwxrwx. 1 root root 416428 Jul 2 10:39 systemd-libs-219-62.el7_6.6.x86_64.rpm -rwxrwxrwx. 1 root root 135760 Jul 2 10:39 systemd-python-219-62.el7_6.6.x86_64.rpm -rwxrwxrwx. 1 root root 85736 Jul 2 10:39 systemd-sysv-219-62.el7_6.6.x86_64.rpm
安裝的時候出現如下異常
[root@localhost openssh74pl]# rpm -ivh ./*.rpm error: Failed dependencies: selinux-policy-base < 3.13.1-66 conflicts with libselinux-2.5-14.1.el7.x86_64 systemd < 219-20 conflicts with libselinux-2.5-14.1.el7.x86_64 selinux-policy-base < 3.13.1-66 conflicts with libsemanage-2.5-14.el7.x86_64 selinux-policy < 3.13.1-92 conflicts with openssh-7.4p1-16.el7.x86_64
上述信息中,with后面為即將要安裝的軟件,開頭為當前已經安裝過的軟件,查詢已安裝的selinux安裝包
[root@localhost openssh74pl]# yum list installed | grep selinux-policy selinux-policy.noarch 3.13.1-60.el7 @anaconda selinux-policy-targeted.noarch 3.13.1-60.el7 @anaconda
版本為3.13.1-60.e17,確實低於3.13.1-66版本,而下載下來的安裝包中包含3.13.1-229.el7的版本,滿足要求的,但由於之前已經安裝了低版本的軟件,在安裝其他依賴該低版本軟件時,就會出現上述沖突。
有一種比較簡潔的方法,就是添加上兩個參數--force和--nodeps。由於通過yum downloadonly下載了完整的包,那在當前版本的CentOS中,將這些包全部安裝,就能正常升級openssh,所以也不需要逐個依賴依次安裝,或者先卸載之前版本在安裝。
rpm -ivh ./openssh74pl/*.rpm --force --nodeps
-- force 強制安裝/卸載
--nodeps 安裝/卸載時不檢查依賴關系
安裝完成后,驗證openssh升級到了7.4版本
[root@localhost bugfix]# ssh -V OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017