蘇恆永 蘇恆永
最近被 highlight openssh 必須更新至 7.2p2.
CentOS5 真是有夠古老的,
一堆套件都沒有更新.

所以只能自己製作 RPM 了.
製作過程發現 openssh 7.2p2 必須配合 openssl 0.9.8f 以後版本!!
所以連 openssl 也一起更新到 1.0.1s ( 0.9.8 和 1.0.0 已經 Out of service 了)

!!! 用這個方法更新後 yum 更新會有問題 (反正 CentOS5 已經很久沒更新了, 沒差)

參考: 
連結網址
連結網址
連結網址


0. 因為要自己 build rpm, 要先安裝必要套件
yum install rpm-build gcc make wget openssl-devel krb5-devel pam-devel libX11-devel xmkmf libXt-devel


!!!!!openssh 7.2p2 需要 openssl >= 0.9.8f
!!!!! CentOS 5 只更新到 0.9.8e

1. 下載並解開 openssl 1.0.1s
wget https://www.openssl.org/source/openssl-1.0.1s.tar.gz .
tar zxvf openssl-1.0.1s.tar.gz


2. 複製檔案
cp openssl-1.0.1s/openssl.spec /usr/src/redhar/SPECS
cp openssl-1.0.1s.tar.gz /usr/src/redhat/SOURCES


3. 儲存 patch 檔. 把下列內容儲存為 openssl-centos5.patch
--- /root/openssl-1.0.1s/openssl.spec 2016-03-01 21:40:46.000000000 +0800
+++ openssl.spec 2016-03-21 17:01:46.000000000 +0800
@@ -116,7 +116,7 @@
%doc CHANGES CHANGES.SSLeay LICENSE NEWS README
%attr(0755,root,root) /usr/bin/*
-%attr(0755,root,root) /usr/lib/*.so*
+%attr(0755,root,root) /usr/lib64/*.so*
%attr(0755,root,root) %{openssldir}/misc/*
%attr(0644,root,root) /usr/man/man[157]/*
@@ -129,8 +129,8 @@
%defattr(0644,root,root,0755) %doc CHANGES CHANGES.SSLeay LICENSE NEWS README
-%attr(0644,root,root) /usr/lib/*.a
-%attr(0644,root,root) /usr/lib/pkgconfig/openssl.pc
+%attr(0644,root,root) /usr/lib64/*.a
+%attr(0644,root,root) /usr/lib64/pkgconfig/openssl.pc
%attr(0644,root,root) /usr/include/openssl/*
%attr(0644,root,root) /usr/man/man[3]/*


4. Patch openssl.spec
patch /usr/src/redhat/SPECS/openssl.spec < openssl-centos5.patch 


5. 製作 rpm
rpmbuild -bb /usr/src/redhat/SPECS/openssl.spec


6. 安裝 rpm
cd /usr/src/redhat/RPMS/x86_64/
rpm -Uvh openssl-1.0.1s-1.x86_64.rpm openssl-debuginfo-1.0.1s-1.x86_64.rpm openssl-devel-1.0.1s-1.x86_64.rpm openssl-doc-1.0.1s-1.x86_64.rpm --nodeps


Openssh 7.2p2

7. 下載並解開 openssh 7.2p2
wget http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/openssh-7.2p2.tar.gz .
tar zxvf openssh-7.2p2.tar.gz


8.複製檔案
cp openssh-7.2p2/contrib/redhat/openssh.spec /usr/src/redhat/SPECS/
cp openssh-7.2p2.tar.gz /usr/src/redhat/SOURCES/


9. 調整
cd /usr/src/redhat/SPECS sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh.spec sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" openssh.spec sed -i -e "s/BuildPreReq/BuildRequires/g" openssh.spec


10. build RPM
rpmbuild -bb /usr/src/redhat/SPECS/openssh.spec


結果會卡在 slogin 及 slogin.1 找不到的錯誤,
主要是 openssh 7.2 已經沒有 slogin 了,
但 openssh.spec 還沒改.    
必須修改 /usr/src/redhat/SPECS/openssh.spec,
把 363, 364 行註解掉.
之後重 build rpm 就 OK 了.

11 安裝 rpm
cd /usr/src/redhat/RPMS/x86_64/
rpm -Uvh openssh-7.2p2-1.x86_64.rpm openssh-clients-7.2p2-1.x86_64.rpm openssh-debuginfo-7.2p2-1.x86_64.rpm openssh-server-7.2p2-1.x86_64.rpm

 

三重湯城園區 Go

作者簡介

蘇恆永

重新 pickup 本能中

訪客留言

留下一些足跡證明你來拜訪過我

推薦閱讀

作者其他相關類別故事

Linux 連線數調校.

Linux 連線數調校.

最近常常遇到連線數太多(因為底層 WebService 太忙了). web 最後連不上...

Python Pragmatic Unicode

Python Pragmatic Unicode

記錄一下 Python Pragmatic Unicode http://...

Python TimeUUID

Python TimeUUID

參考這一篇: 什麼時候讓用 time UUID,https://samkuo.me/...

請選擇選項

執行錯誤

Hi,謝謝你的參與,但無法重複投票哦~

現在就加入innstory,開始紀錄你的故事。

「innstory」是一個儲存故事的地方,我們致力於成為一個有溫度的平台,加深人與人之間的羈絆是我們所努力的方向。
我們深信人與人間的區塊鏈不是只是冷冰冰的運算。現在就加入我們。