如何在 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
下载相关的签名文件并检查
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
# 核实- 如果他们验证成功(“来自...的良好签名”),那么我们就知道程序没有被修改。或者如果它被修改了,密钥也被修改了以隐藏这一事实。这就是为什么最好也做下面的事情。
验证文件的 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
瞧!