Gentoo 更改 openssh 版本資訊(emerge 方式安裝)

來源:互聯網
上載者:User

Gentoo 系統的軟體都以源碼形式提供給使用者,所以安裝軟體都是以編譯源碼形式安裝。

使用 emerge 軟體包管理工具安裝軟體還是非常方便的(自動解決依賴,安裝後的軟也能很好的被系統和其他軟體識別),但是編輯(二次開發) emerge 下載的源碼後,卻由於hash的問題無法編譯安裝。本文以openssh為例,闡述了如何解決此問題。

openssh 是常用的遠程登入軟體,emerge 預設安裝會泄漏該軟體版本資訊,下所示:

從可以看到 OpenSSH_5.9p1-hpn13v11lpk, OpenSSL 2.2.2j 10 May 2012   等版本資訊(其中,OpenSSL 2.2.2j 10 May 2012 是改過的版本)。

現分析總結出一方法:

1. emerge 下載 openssh 軟體包(-f 表示只下載不安裝 )

從可見,下載了三個軟體包並檢查了各軟體包的(rmd160, sha1, sha256 )

2. 更改下載的軟體包資訊(不局限於版本)

2.1 更改 openssh-5.9p1.tar.gz 版本資訊

從可見,用 grep 在解壓後的源碼中未找到 OPENSSH_5.9p1 版本資訊,那麼繼續尋找:

去尋找到版本資訊的源碼檔案中更改版本(我把所有OpenSSH改成SSH,5.9改成3.3,p1改成p9 )

另外,中 grep 尋找關鍵字 還是不太對,正確的見:

 改完後,打包更改後的源碼成 openssh-5.9p1.tar.gz (替換掉了 emerge -f 下載的 openssh-5.9p1.tar.gz )

2.2  改 openssh-5.9p1-hpn13v11.diff.gz  和 openssh-lpk-5.9p1-0.3.14.patch.gz 中的版本資訊

我把所有OpenSSH改成SSH,5.9改成3.3,p1改成p9,hpn13v11改成 -bb- ,lpk 改成 cc 。

這樣以來,預計完成後ssh 版本資訊會從OpenSSH_5.9p1-hpn13v11lpk 變成 SSH_3.3p9-bb-cc

為我更改後的 openssh-5.9p1-hpn13v11.diff.gz

是我更改後的 openssh-lpk-5.9p1-0.3.14.patch.gz

3. 更改 portage Manifest

更改後的軟體包不可以直接用於 emerge 安裝, 無法通過 emerge checksum 檢測。

我的方法是 找到 Portage 中記錄的該軟體包的 rmd160, sha1, sha256 並把其改成修改後該軟體包的 rmd160, sha1, sha256 。

這樣以來修改過的軟體包就可以順利通過 emerge 的驗證了。

Portage 記錄 openssh-5.9p1.tar.gz rmd160 ,openssh-5.9p1-hpn13v11.diff.gz  和 openssh-lpk-5.9p1-0.3.14.patch.gz 值的檔案是:/usr/portage/net-misc/openssh/Manifest 。

具體方法如下(本文只示範了openssh-5.9p1.tar.gz rmd160, 其他同理)

3.1 用工具 openssl 計算出 openssh-5.9p1.tar.gz rmd160 的 rmd160, sha1, sha256 (還有檔案大小哦)

3.2 用計算出的值,替換掉 /usr/portage/net-misc/openssh/Manifest 中的對應值(記得還有檔案大小)


3.3 openssh-5.9p1-hpn13v11.diff.gz  和 openssh-lpk-5.9p1-0.3.14.patch.gz 


4.  安裝修改過的軟體

直接運行 emerge openssh 即可(若出錯,清自檢自己之前的行為 :))

5. 結果(對照本文第一張圖, 版本資訊從之前的OpenSSH_5.9p1-hpn13v11lpk 變成 SSH_3.3p9-bb-cc)

6. 木有了 ....

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.