• 如何正确安装软件


    背景:

    经常在下载一些gnu软件的时候,会看到软件包ftp的地址下还会有MD5SUM,Sha1SUM这样的文件,一直不知道有什么作用。

    昨晚在配置vim的自动补齐功能时,遇到了同样的问题,承蒙某大神网友指点特此记录一下。


    为了方便起见,本文暂时仅以md5校验为例。其他的加密算法以后有机会再补充。

    MD5校验流程

    1.首先文件提供方需要提供一个别人需要下载的文件a.txt, 和文件a对应的md5文件(如a.md5)。
    2.文件使用方在将a.txt以及a.md5一同下载下来,进行校验,得到校验结果。

    具体步骤

    以文件plug.vim为例
    文件提供方:
    1.产生对应的md5文件,并将输出内容重定向到plug.vim.md5。

    >md5sum plug.vim > plug.vim.md5
    

    将上面的文件上传至github或者其他地方供文件使用方下载

    如果有多个文件需要md5加密,就要重定向时分成多行,每行的格式和上面的是一样的。

    Note:
    介绍下plug.vim.md5文件的内容,我的文件内容如下:
    0ec2be5d481f384253910ef8320c85fe plug.vim

    前面一个0ec2...这一串数字是通过md5加密算法算出来的一段数字,后面plug.vim是被加密的文件名。

    具体怎么算的,如何校验的以后有机会再研究和补充。

    文件使用方:
    2.下载plug.vim和plug.vim.md5以后,进行校验

    >md5sum --check plug.vim.md5
    

    也可以使用 -c选项

    如果输出是
    plug.vim: OK
    即表明通过校验。

    待完善补充

    md5 sha主要用来检查文件的完整性。只能说是个指纹,不具有防抵赖的作用。
    pgp可以有效防抵赖,pgp可以知道是谁发布的这个文件,它的前提是,
    使用方要相信文件提供者,一旦签名跟发布者的不匹配,就不要相信文件没有被修改过。

    因为md5本身你也不知道是不是最原始的md5,如果提供文件的网站被黑了。
    文件被他人修改,并且他使用md5加密算法生成了新的md5,文件使用者就不知道这是不是原始的md5了。

    pgp的作用主要有两个:
    一个是为了防止下载中被篡改(比如被网络劫持了,就有可能被篡改)
    另一个就是为了检查文件的完整性。

    当你使用别人的github上的库的时候,或者要改造别人代码的时候,最好不要用master的版本。
    因为master的版本是开发版本始终再变化。你可以在tag里面选择一个自己要修改的版本,然后提交给别人。
    或者自己写教程用。master里面的版本接口都是有可能改变的。

    如果别人的接口改变了,而你的文档或者代码没有及时跟着更新,就很可能导致你的代码或者文档是不可用的,这点要注意。

    同一个版本的接口一般不会变,如果接口变了,就要更新大版本号。比如php5.6和php7就是大更新,python2 和 python3也是大更新,
    开源软件这种事情有很多,比如java7和java8,node8与node10。这些都是接口设计都变了的。

    如果不用版本用master,老代码怎么办?你又不想一个一个去改。

    所以一定要用版本。

    转载本Blog文章请注明出处,否则,本作者保留追究其法律责任的权利。 本人转载别人或者copy别人的博客内容的部分,会尽量附上原文出处,仅供学习交流之用,如有侵权,联系立删。
  • 相关阅读:
    宏__cplusplus
    linux C 可变参数类型va_list
    muduo笔记 网络库(六)Socket类及SocketsOps库函数封装
    LeetCode74 搜索二维矩阵
    babelpolyfill
    babel预设和插件
    wordwrap和wordbreak的区别
    react高级知识
    使用schematics简化脚手架开发
    js循环删除数组元素的方法
  • 原文地址:https://www.cnblogs.com/drfxiaoliuzi/p/9622113.html
Copyright © 2020-2023  润新知