`
猫太的鱼
  • 浏览: 235148 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

软件包的校验方法

阅读更多
1.1用MD5进行校验
当你下载一个软件包后,你应该去校验它,如果你的软件包带有MD5校验码,你可用下面的方法进行校验:
shell> md5sum <package>

注:并不是所有的操作系统都支持MD5SUM 命令----有的系统里它叫"MD5",你的LINUX也可能不支持.在LINUX,里,这个工具是一个GNU文本工具,你可下载源代码在这里:http://www.gnu.org/software/textutils/或更多.
如果你曾安装过OpenSSL,你也可以用命令openssl md5 <package>来代替.
DOS/WINDOWS环境下的md5命令可从这里找到:http://www.fourmilab.ch/md5/.

举个例子:
shell> md5sum mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz
155836a7ed8c93aee6728a827a6aa153
mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz
这个结果可用来与下载页中提供的MD5校验码进行比较来确定包的完整性.

1.2用GnuPG进行签名校验
一个更加广泛使用的软件包校验工具,它采用加密的签名来进行校验.Mysql使用GnuPG,这是一个著名的开放源码项目Pretty Good Privacy (PGP),由Phil Zimmermann创作,可访问http://www.gnupg.org/ 和 http://www.openpgp.org/网站得到更多的有关 OpenPGP/GnuPG的资料,包括如何配置安装它们在你的系统里.大多数LINUX发行版本已默认安装了GnuPG.

MYSQL从4.0.10开始对它们的软件包采用GnuPG进行标记,
校验一个软件包,你首先需要去找到一个MYSQL的GPG构造包的拷贝,它由build@mysql.com创建.当然你也可以从http://www.keyserver.net/寻找名��...�复制粘贴.
它的内容如下:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3
RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ
fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3
BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW
hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV
K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE
kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI
QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep
rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q7TXlTUUwgUGFj
a2FnZSBzaWduaW5nIGtleSAod3d3Lm15c3FsLmNvbSkgPGJ1aWxkQG15c3FsLmNv
bT6IXQQTEQIAHQUCPj6jDAUJCWYBgAULBwoDBAMVAwIDFgIBAheAAAoJEIxxjTtQ
cuH1cY4AnilUwTXn8MatQOiG0a/bPxrvK/gCAJ4oinSNZRYTnblChwFaazt7PF3q
zIhMBBMRAgAMBQI+PqPRBYMJZgC7AAoJEElQ4SqycpHyJOEAn1mxHijft00bKXvu
cSo/pECUmppiAJ41M9MRVj5VcdH/KN/KjRtW6tHFPYhMBBMRAgAMBQI+QoIDBYMJ
YiKJAAoJELb1zU3GuiQ/lpEAoIhpp6BozKI8p6eaabzF5MlJH58pAKCu/ROofK8J
Eg2aLos+5zEYrB/LsrkCDQQ+PqMdEAgA7+GJfxbMdY4wslPnjH9rF4N2qfWsEN/l
xaZoJYc3a6M02WCnHl6ahT2/tBK2w1QI4YFteR47gCvtgb6O1JHffOo2HfLmRDRi
Rjd1DTCHqeyX7CHhcghj/dNRlW2Z0l5QFEcmV9U0Vhp3aFfWC4Ujfs3LU+hkAWzE
7zaD5cH9J7yv/6xuZVw411x0h4UqsTcWMu0iM1BzELqX1DY7LwoPEb/O9Rkbf4fm
Le11EzIaCa4PqARXQZc4dhSinMt6K3X4BrRsKTfozBu74F47D8Ilbf5vSYHbuE5p
/1oIDznkg/p8kW+3FxuWrycciqFTcNz215yyX39LXFnlLzKUb/F5GwADBQf+Lwqq
a8CGrRfsOAJxim63CHfty5mUc5rUSnTslGYEIOCR1BeQauyPZbPDsDD9MZ1ZaSaf
anFvwFG6Llx9xkU7tzq+vKLoWkm4u5xf3vn55VjnSd1aQ9eQnUcXiL4cnBGoTbOW
I39EcyzgslzBdC++MPjcQTcA7p6JUVsP6oAB3FQWg54tuUo0Ec8bsM8b3Ev42Lmu
QT5NdKHGwHsXTPtl0klk4bQk4OajHsiy1BMahpT27jWjJlMiJc+IWJ0mghkKHt92
6s/ymfdf5HkdQ1cyvsz5tryVI3Fx78XeSYfQvuuwqp2H139pXGEkg0n6KdUOetdZ
Whe70YGNPw1yjWJT1IhMBBgRAgAMBQI+PqMdBQkJZgGAAAoJEIxxjTtQcuH17p4A
n3r1QpVC9yhnW2cSAjq+kr72GX0eAJ4295kl6NxYEuFApmr1+0uUq/SlsQ==
=YJkx
-----END PGP PUBLIC KEY BLOCK-----
将上面的内容保存成文件,如:mysql.
接下来,你可用gpg --import mysql ,倒入这个构造密钥到公开GPG keyring中.可查看关于公开密钥如何工作的GPG文档来得到更多信息.
在你保存并倒入构造密钥后,现在你需要下载你需要的MYSQL软件包和对应的签名文件.这个签名文件是一个以".asc"为后缀的文件.例如,`mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz'的签名文件是`mysql- standard-4.0.10-gamma-pc-linux-i686.tar.gz.asc'.
保证这两个文件位于同一目录下,再运行下面的命令去校验它.
shell> gpg --verify <package>.asc

举个例子:
shell> gpg --verify mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz.asc
运行结果:
gpg: Warning: using insecure memory!
gpg: Signature made Mon 03 Feb 2003 08:50:39 PM MET using DSA key ID 5072E1F5
gpg: Good signature from
"MySQL Package signing key (www.mysql.com) <build@mysql.com>"

"Good signature" 信息说明你的安装包完好.

我下载的最新的mysql-standard-5.0.0-alpha-pc-linux-i686.tar.gz的校验结果.
[root@redsea program]# gpg --verify mysql-standard-5.0.0-alpha-pc-linux-i686.tar.gz.asc
gpg: Signature made 2003年12月24日 星期三 00时13分07秒 CST using DSA key ID 5072E1F5
gpg: Good signature from "MySQL Package signing key (www.mysql.com) <build@mysql.com>"
gpg: checking the trustdb
gpg: no ultimately trusted keys found
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5

1.3 用RPM进行签名校验.
针对RPM包的校验.
对于RPM包来说,它没有分离的签名--RPM包实际有一个内置的GPG签名和MD5校验码.你可以校验它用下面的命令:
shell> rpm --checksig <package>.rpm

举个例子:
shell> rpm --checksig MySQL-server-4.0.10-0.i386.rpm
MySQL-server-4.0.10-0.i386.rpm: md5 gpg OK

注意:如果你使用RPM4.1,上面的命令会出现(GPG) NOT OK (MISSING KEYS: GPG#5072e1f5)(即使你曾经倒入过你的GPG密钥).这时你需要首先倒入RPM keyring密钥.RPM 4.1不再使用GPG keyring(和GPG本身),它使用自己的keyring(因为它是系统生成的,而GPG公开密钥是一个用户自定义文件.).
用下面的命令倒入MYSQL公开密钥到RPM keyring中.

shell> rpm --import <pubkey>

举个例子:

shell> rpm --import mysql_pubkey.asc
随后再用--checksig参数进行校验
假如你注意到MD5校验码和GPG数字签名不匹配时,可再次下载正确的软件包,可选用别的镜像服务器.
分享到:
评论

相关推荐

    Checksum_校验、CheckSum_

    通讯协议校验处理、数据之间通讯可通过检查错位

    Redhat7安装全量包 包括 CentOS-Base.repo配置文件

    Redhat7安装yum的图解,这里的资源是安装全量包,包括 CentOS-Base.repo配置文件 相关博客地址:http://blog.csdn.net/qq_34256348/article/details/78837175

    起重机设计计算复核校验软件包V4.6

    总结起来,“起重机设计计算复核校验软件包V4.6”是起重机设计领域的一把利器,它集成了丰富的计算模型和校验方法,旨在提升设计质量和工作效率,保障起重机的安全性能。对于任何涉及起重机设计和运营的团队而言,这...

    校验码生成工具软件包

    校验码生成工具软件包

    宁芝键盘固件和验证包,23年6月编程固件说明校验软件包

    23年6月编程固件说明校验软件包

    subscription-manager-rhsm-certificates-1.28.17-1.el8.x86_64.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    CheckSum 校验和工具

    3. 软件完整性检查:安装软件前,校验软件包的校验和,防止下载到被篡改的恶意版本。 4. 系统镜像验证:在创建或恢复系统镜像时,CheckSum工具能确保镜像文件无误。 五、压缩包内的文件解析 在提供的压缩包中,...

    HashCalc MD5等校验工具

    CRC32(Cyclic Redundancy Check with 32 bits)是一种较简单的校验方法,用于检测数据传输中的错误。它通过计算一段数据的循环冗余校验码,然后将结果与预期的校验码进行比较,以判断数据是否正确。尽管CRC32不如MD...

    IIC总线方式软件包

    3. 错误处理:为了确保可靠性和稳定性,软件包通常会包含错误检测和处理机制,例如超时检测、数据校验等,帮助开发者识别并解决通信问题。 4. 示例代码:为了帮助开发者快速入门,IIC软件包可能包含一些示例程序,...

    linux-软件包管理-rpm和yum使用视频教程

    06.2.4 软件包管理-rpm命令管理-校验和文件提取.mp4 06.3.1 软件包管理-RPM包管理-yum在线管理-IP地址配置和网络yum源.mp4 06.3.2 RPM包管理-yum在线管理-yum命令.mp4 06.3.3 RPM包管理-yum在线管理-光盘yum源....

    MD5进度校验大文件.rar

    MD5进度校验大文件.rar

    Linux服务器配置与管理:软件包管理与服务进程.pptx

    【知识目标】 了解:Linux服务的概念 掌握:rpm软件包的命名格式 ...作用:对RPM格式的软件包进行安装、查询、更新升级、校验、卸载以及生成.rpm格式的软件包等 RPM功能通过rpm命令使用不同参数来实现。

    MD5校验工具 确保软件完整性

    MD5校验工具 确保软件完整性 安装即用

    送电线路设计软件包

    送电线路设计的软件包,包括三维设计校验,导、地线的弧垂计算等。

    Java通过XML Schema校验XML

    ava校验XML是件很扯淡的事情,因为Sun的XML相关软件包会令你云里雾里。  W3C这块的XML相关的规范相当的多,这也是导致XML处理器起来费劲的主要原因。要想精通这些规范和相关的API,实在是异想天开(新的规范在不停...

    MD5&SHA1 校验(hash)工具包 by 白鹿第一帅.zip

    计算下载软件包的校验值,与正版官方软件进行对比,若无误则说明该软件正版无病毒。

    linux命令详解之useradd命令使用方法.doc

    --excludedocs 不安装软件包中的文档文件 --includedocs 安装文档 ...--ignorearch 不校验软件包的结构 --ignoreos 不检查软件包运行的操作系统 --nodeps 不检查依赖性关系 --ftpproxy 用 作为 FTP代理

    一些常用硬件测试软件包

    这些工具会进行一系列复杂的运算,寻找内存模块可能出现的问题,如数据丢失、错误校验失败等。在新装机或怀疑内存问题时,进行内存测试是必不可少的步骤。 综上所述,这个软件包提供了一套全面的硬件诊断工具,涵盖...

    linux下卸载apache方法小结.docx

    RPM 的参数中,`-i` 是安装,`-v` 是校验,`-h` 是用散列符显示安装进度,`*.rpm` 是软件包的文件名,`-e` 是删除软件包,`packgename` 是软件包名。 在使用 RPM 命令时,需要注意以下几点: * 使用 `rpm -qa|grep...

    md5校验器 专业的md5查询工具,一款查看文件是否被修改过的小软件

    3. **使用场景**:MD5校验在多个领域都有应用,例如在软件分发时,开发者会提供软件包的MD5值,用户下载后可以通过校验确保文件的完整性和安全性。在备份恢复时,也能用MD5校验确认备份文件与原始文件的一致性。 4....

Global site tag (gtag.js) - Google Analytics