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 版本信息