如何升级到 GnuPG >2.2.8?

如何升级到 GnuPG >2.2.8?

如何在 Ubuntu 16.04.2 LTS 中升级版本 >2.2.8 的 GnuPG?当我输入 gpg --version 时,我得到 gpg (GnuPG) 1.4.20。当我输入 gpg2--version 时,我得到 gpg (GnuPG) 2.1.11。我还有版本 52.2.1 的 Thunderbird。我应该输入什么命令或安装哪些文件来升级 GnuPG?我需要升级 Thunderbird 吗?

我查看了一些链接,例如 如何安装 GnuPG 2.0? 如何安装 GnuPG 2.2?

但我仍然不知道该怎么做。我只是一个普通用户,担心会破坏某些东西。如果我能得到一些帮助,比如一步一步的“如何”指南,我将不胜感激。

答案1

使用包管理器是最简单的。

看起来像是 xenial 上 GnuPG 的 apt 包最大值为 1.4.20截至撰写本文时,您可以获得2.2.4 关于仿生, 或者2.2.19 焦点,这是当前的 LTS 版本。

你能将你的 Ubuntu 升级到较新的版本吗?我知道 xenial 可能仍然受支持,但如果可以的话,那么sudo apt-get install gnupg获取最新版本就很简单了。

否则你看起来就被困住了从源代码构建可在 gnupg.org 上获取,您需要在源目录中运行./configure,然后运行make,然后运行)。make install

答案2

好吧,他们肯定不会让它快速完成!在撰写本文时,2.2.27(发布于 2021-01-11)是通过 获得的最高版本apt,而当前版本是2.3.8(发布于 2022-10-13)。最新版本的 tarball 可以在这里找到:https://www.gnupg.org/download/index.html

以下是我安装 2.3.8 版本所必须做的事情。

要求

  • 系统准备
    $ sudo apt update
    $ sudo apt install bzip2(需要解压档案)
    $ sudo apt install build-essential(需要编译源代码)
  • GPG 依赖项
    • npth(新的可移植线程):https://gnupg.org/ftp/gcrypt/npth/
      $ wget https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2
      $ tar jxvf npth-1.6.tar.bz2
      $ ./npth-1.6/configure && make && sudo make install

    • libgpg-错误:https://gnupg.org/ftp/gcrypt/gpgrt/
      $ wget https://gnupg.org/ftp/gcrypt/gpgrt/libgpg-error-1.46.tar.bz2
      $ tar jxvf libgpg-error-1.46.tar.bz2
      $ ./libgpg-error-1.46/configure && make && sudo make install

    • libgcrypt:https://gnupg.org/ftp/gcrypt/libgcrypt/
      $ wget https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.1.tar.bz2
      $ tar jxvf libgcrypt-1.10.1.tar.bz2
      $ ./libgcrypt-1.10.1/configure && make && sudo make install

    • 利巴苏安:https://gnupg.org/ftp/gcrypt/libassuan/
      $ wget https://gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.5.tar.bz2
      $ tar jxvf libassuan-2.5.5.tar.bz2
      $ ./libassuan-2.5.5/configure && make && sudo make install

    • 库克斯巴:https://gnupg.org/ftp/gcrypt/libksba/
      $ wget https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.2.tar.bz2
      $ tar jxvf libksba-1.6.2.tar.bz2
      $ ./libksba-1.6.2/configure && make && sudo make install

    • 如果你先尝试安装 GPG,它会失败并提示你安装上述所有内容。当然,没有一个可以通过以下方式获得apt:)

通用石油气
$ wget https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.3.8.tar.bz2

鉴于程序的性质,强烈建议验证完整性。有几种方法可以做到这一点,他们的页面上有大致的解释:https://www.gnupg.org/download/integrity_check.html

  1. 下载相关的签名文件并检查gpg发行版中预装的现有文件。

    • $ wget https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.3.8.tar.bz2.sig
    • 您可能没有他们的分发密钥,因此您也必须下载它们:(
      $ wget https://gnupg.org/signature_key.asc.asc = ASCII)
    • $ gpg --import signature_key.asc # 导入密钥
    • $ gpg --verify gnupg-2.3.8.tar.bz2.sig gnupg-2.3.8.tar.bz2 # 核实
    • 如果他们验证成功(“来自...的良好签名”),那么我们就知道程序没有被修改。或者如果它被修改了,密钥也被修改了以隐藏这一事实。这就是为什么最好也做下面的事情。
  2. 验证文件的 SHA-1 校验和。

  • $ sha1sum gnupg-2.3.8.tar.bz2
  • 完整性检查页面底部列出了所有文件的校验和。1f31b7b4c9c9adad97f94ea3acf1aa64c0424bcc gnupg-2.3.8.tar.bz2是我们想要的(并且上述命令的输出应该匹配)。
  • 正如他们所说,如果有人修改了下载内容,他们很容易修改网站以显示错误的校验和。因此,建议使用gnupg-宣布邮件列表发布公告是校验和的规范来源。您必须搜索镜子此公告,因为你不能仅仅依赖网站本身的档案(可能会被破解)。但是,这可以作为另一次复查。
  • 查找镜像的最简单方法是搜索“gnupg-announce 2.3.8”。我发现,两者的校验和相同。所以我认为可以肯定地说这个存档未被修改并且可以安装。哦,顺便说一句,所有依赖项都有签名文件,也应该检查这些文件才能真正彻底!

$ tar jxvf gnupg-2.3.8.tar.bz2 # 解压 bzipped tarball
$ ./gnupg-2.3.8/configure && make && sudo make install # 构建源代码

几乎完成了!但您会注意到$ gpg --version显示的是旧版本,而显示$ /usr/local/bin/gpg --version的是新版本。让我们修复这个问题。

$ vim ~/.bash_aliases-> 添加行alias gpg=/usr/local/bin/gpg,保存并退出。
$ source ~/.bash_aliases # 激活别名
$ gpg --version # 2.3.8

瞧!

相关内容