第2.02节 下载源码

最新版本的sendmail可以通过以下方式获得:

http://www.sendmail.org/

当你下载源码时,你必须从所列的源码中选择满足你的需求的一个。除了选择你想要的sendmail的版本,你还要在两种发布版本中选择一种tar包的压缩形式。那些以.Z结尾的是用unix命令compress压缩的。

以.gz结尾的是用GNU工具gzip进行压缩的。后者更受欢迎,因为包文件更小更易于传输。

除了两种发布的形式外,每个版本带有一个PGP签名文件。在V8.11版本前,这个签名用来验证解压文件,也就是说在你验证它之前要先解压tar包。从V8.11版本起,每个压缩包对应一个签名文件,因此,没有必要在在验证之前解压。

签名文件与发布包文件同名但带有一个.sig后缀。
sendmail.8.14.1.tar.gz          ← the distribution file
sendmail.8.14.1.tar.gz.sig      ← the signature file for this distribution file
sendmail.8.14.1.tar.Z           ← the distribution file
sendmail.8.14.1.tar.Z.sig       ← the signature file for this distribution file

如果你对早期的sendmail版本还没有验证,那么你现在就要从sendmail.org下载并安装PGPKEYS文件:

ftp://ftp.sendmail.org/pub/sendmail/PGPKEYS

下载这个文件后,用下列命令将它所含的keys加到PGP key ring中:

pgp -ka PGPKEYS      ← for pgp version 2.x
pgpk -a PGPKEYS      ← for pgp version 5.x
gpg --import PGPKEYS ← for gpg

如果使用gpg命令,你的输出可能看起来是这个样子的:

% gpg --import PGPKEYS
gpg: key 16F4CCE9: "Sendmail Security <sendmail-security@sendmail.org>" 22 new
signatures
gpg: key 7093B841: public key "Sendmail Signing Key/2007 <sendmail@Sendmail.ORG>"
imported
gpg: key AF959625: "Sendmail Signing Key/2006 <sendmail@Sendmail.ORG>" 7 new
signatures
gpg: key 1EF99251: "Sendmail Signing Key/2005 <sendmail@Sendmail.ORG>" 9 new
signatures
gpg: key 95F61771: "Sendmail Signing Key/2004 <sendmail@Sendmail.ORG>" 7 new
signatures
gpg: key 396F0789: "Sendmail Signing Key/2003 <sendmail@Sendmail.ORG>" 27 new
signatures
gpg: key 678C0A03: "Sendmail Signing Key/2002 <sendmail@Sendmail.ORG>" 13 new
signatures
gpg: key CC374F2D: "Sendmail Signing Key/2001 <sendmail@Sendmail.ORG>" 14 new
signatures
gpg: key E35C5635: "Sendmail Signing Key/2000 <sendmail@Sendmail.ORG>" 5 new
signatures
gpg: key A39BA655: "Sendmail Signing Key/1999 <sendmail@Sendmail.ORG>" 4 new
signatures
gpg: key D432E19D: "Sendmail Signing Key/1998 <sendmail@Sendmail.ORG>" 4 new
signatures
gpg: key 12D3461D: "Sendmail Signing Key/1997 <sendmail@Sendmail.ORG>" 4 new
signatures
gpg: key A0F8AA0C: public key "Sendmail, Inc. Security Officer <security-
officer@sendmail.com>" imported
gpg: key BF7BA421: "Eric Allman <eric@allman.name>" 4 new user IDs
gpg: key BF7BA421: "Eric Allman <eric@allman.name>" 44 new signatures
gpg: key A00E1563: "Gregory Neil Shapiro <gshapiro@sendmail.com>" 48 new signatures
gpg: key 22327A01: "Claus Assmann (PGP2) <ca+pgp2@Sendmail.ORG>" 14 new signatures
gpg: Total number processed: 15
gpg:               imported: 1
gpg:           new user IDs: 4
gpg:         new signatures: 222
gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u

注意看在前面所导入的最新的key是key7093B841(2007的签名),用以下命令打印它的指纹来验证这个key是合法的。

% gpg --fingerprint 7093B841
pub  1024R/7093B841 2006-12-16
     Key fingerprint = D9 FD C5 6B EE 1E 7A A8  CE 27 D9 B9 55 8B 56 B6
uid                  Sendmail Signing Key/2007 <sendmail@Sendmail.ORG>

然后与下列显示出的合法指纹作比较:

18 A4 51 78 CA 72 D4 A7  ED 80 BA 8A C4 98 71 1D← Sendmail Security
CA AE F2 94 3B 1D 41 3C  94 7B 72 5F AE 0B 6A 11← 1997
F9 32 40 A1 3B 3A B6 DE  B2 98 6A 70 AF 54 9D 26← 1998
25 73 4C 8E 94 B1 E8 EA  EA 9B A4 D6 00 51 C3 71← 1999
81 8C 58 EA 7A 9D 7C 1B  09 78 AC 5E EB 99 08 5D← 2000
59 AF DC 3E A2 7D 29 56  89 FA 25 70 90 0D 7E C1← 2001
7B 02 F4 AA FC C0 22 DA  47 3E 2A 9A 9B 35 22 45← 2002
C4 73 DF 4A 97 9C 27 A9  EE 4F B2 BD 55 B5 E0 0F← 2003
46 FE 81 99 48 75 30 B1  3E A9 79 43 BB 78 C1 D4← 2004
4B 38 0E 0B 41 E8 FC 79  E9 7E 82 9B 04 23 EC 8A← 2005
18 A4 51 78 CA 72 D4 A7  ED 80 BA 8A C4 98 71 1D← 2006
E3 F4 97 BC 9F DF 3F 1D  9B 0D DF D5 77 9A C9 79← 2006
D9 FD C5 6B EE 1E 7A A8  CE 27 D9 B9 55 8B 56 B6← 2007

如果所下载的PGPKEYS文件的指纹列表中的不匹配,那么这个文件是不可靠的。

需要注意的是,一旦你在你的key ring中增加了一个正确的PGPKEYS文件,你就可以执行下面的命令,任何新下载的源码的完整性和可靠性可以通过这些命令来验证。

pgp signature-file distribution-file             ← for pgp version 2.x
pgpv signature-file distribution-file            ← for pgp version 5.x
gpg --verify signature-file distribution-file    ← for gpg

如果tar包没有问题,gpg命令会显示签名是合法的。例如:

% gpg --verify sendmail.8.14.1.tar.gz.sig sendmail.8.14.1.tar.gz
gpg: Signature made Tue Jan 09 12:11:36 2007 PST using RSA key ID 7093B841
gpg: Good signature from "Sendmail Signing Key/2007 <sendmail@Sendmail.ORG>"
Primary key fingerprint: D9 FD C5 6B EE 1E 7A A8  CE 27 D9 B9 55 8B 56 B6

上面的短语Good signature意味着发布的文件是完整可靠的并且在签名后没有被修改。另一种预防措施是确认上面所显示的指纹与官方之前发布的指纹是否匹配。

除了正确的输出信息,你也许也会碰巧遇见关于自身设置的warnings。例如,下列warns和本地gpg命令设置有关,而与发布版本的合法性无关。

gpg: checking the trustdb
gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.

如果验证失败,那么检查可能的错误:

每个版本的签名与对应的tar包相匹配。重新取得匹配正确的版本。

使用ftp命令下载时,要确定使用二进制模式。用正确的模式重新取得版本。

所相信的映像FTP站点可能不像我们所期望的正式。如果它们发布的版本不能通过验证,那么从官方站点重新取得之前发布的版本。

官方发布的版本可能出现问题。如果这个版本不能通过验证,那么先检查一下你的PGP复本是否安装正确,然后确认一下你的网络畅通并且没有被损坏。如果上述方法都不起作用(包括重新取得发布版本),在邮件中描述你的问题发送给sendmail@sendmail.org的相关人员。

转载于:https://blog.51cto.com/01051192/813123

第2.02节 下载源码相关推荐

  1. 云知梦php资源下载,云知梦php全站工程师含有每节课源码及php手册

    云知梦php全站工程师含有每节课源码及php手册 视频清晰无水印 1.php环境搭建 2.php变量使用 3.php变量测试和变量转换 4.php常用运算符 5.php流程控制 6.php流程控制与函 ...

  2. 分享111个ASP上传下载源码,总有一款适合您

    分享111个ASP上传下载源码,总有一款适合您 111个ASP上传下载源码下载链接:https://pan.baidu.com/s/1VaiX2JZqyBue8g_x7bsrZA?pwd=szji  ...

  3. WDS-设置交叉编译器与下载源码

    1 交叉编译器 lzy@lzy-virtual-machine:~/imx6ull-sdk/ToolChain$ ls -ltr 总用量 16 drwxr-xr-x 12 lzy lzy 4096 1 ...

  4. Netbeans使用maven下载源码

    如果需要研究源码,自然需要下载源码,其实Netbeans使用maven构建项目下载源码非常简单. springmvc一开始没有下载源码 commons-lang3是下了源码的,下面是对其调用的代码 可 ...

  5. maven 下载 源码和javadoc命令

    1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...

  6. 为什么下载源码包需要到官网上去下载?

    1. 为什么下载源码包需要到官网上去下载? 答:官网提供的源码包更完整,无修改,无病毒,无后门. 2. 64位机器是否可以安装32位rpm包?64位机器是否可以安装32位的mysql二进制免编译包? ...

  7. idea maven项目下载源码及关联源码

    下载源码 关联源码 一般会自动关联上的,若需手动关联源码需要在下图处设置.

  8. Nacos 快速开始、版本选择、预备环境准备、下载源码或者安装包、从 Github 上下载源码方式、下载编译后压缩包方式、配置nacos、配置集群、启动服务器、服务注册发现和配置管理、关闭服务器

    1.Nacos 快速开始 1.1.版本选择 1.2.预备环境准备 1.3.下载源码或者安装包 1.3.1.从 Github 上下载源码方式 1.3.2.下载编译后压缩包方式 1.3.3.配置nacos ...

  9. maven下载源码linux,Maven 下载 源码和javadoc 命令

    摘要:我们在写代码时候,往往是想查看一下源码,看看源码的一些细节内容.一般情况下,在IDE(如eclipse)中近仅仅只需按住ctrl+ 点击对应的方法即可进入对应的源码部分.但是有些时候很多依赖项并 ...

最新文章

  1. Django之路——6 Django的模型层(一)
  2. [书目]软件制胜之道:执行的策略
  3. python函数中参数前面的*和**的含义
  4. Qt opencv 程序异常结束,crashed
  5. 4.3 偏差与方差-机器学习笔记-斯坦福吴恩达教授
  6. JavaEE班第四天
  7. php点击按钮查询,管理界面点击按钮打开查询功能
  8. 【转】RunTime.getRunTime().addShutdownHook用法
  9. iOS面试题:Socket原理
  10. xp系统开机自检很久_XP系统取消开机自检的5种方法?
  11. MLI_09 HMM(隐马尔可夫模型)
  12. 关于TP3.2.3的反序列化学习
  13. c语言编程数字后有ul,十六进制数后跟L/U/UL解析
  14. 巴西棕榈蜡的提取方式
  15. 个人对408计算机组成原理中PC(程序计数器)位数的理解
  16. ArcGIS属性表的计算
  17. 这是一个最好的时代,也是一个最坏的时代 ?
  18. 机器人原理及应用 东南大学 王兴松 64讲和48讲 课件
  19. 免费下载各种json包的网址
  20. UE4 高分辨率截图

热门文章

  1. ubuntu下eclipse新建项目没有java project的解决办法
  2. IOS-C语言第1天
  3. 业务行为的分析和设计
  4. 太难了!产品经理想拿高薪
  5. 规划搜索产品时,我们可以如何着手?
  6. 【pmcaff】挖掘产品痛点的神器:用户角色模型
  7. windows 批处理bat,设置定时关机
  8. 100道Java基础面试题收集整理(附答案)
  9. Linux任务处理及日志查看常用命令
  10. 更合理的 setState()