如何在 cygwin 上安装 gpg?目前缺失

如何在 cygwin 上安装 gpg?目前缺失

我在 Win 7 上安装了 cygwin,但看不到 gpg /usr/bin/。这是正常的吗?我该如何获取它?我正在尝试验证 Linux ISO,需要它来检查签名文件。

答案1

幸运的是,gpg 包含在 Cygwin 的软件存储库中。只需运行 cygwin 安装程序(setup-x86_64.exe或者setup-x86.exe),当出现软件包选择菜单时,搜索“gnupg”。选中 utils 下出现的“gnupg”选项,完成更新,您就大功告成了。它应该会安装 gpg 和任何依赖项。

如果由于某种原因,这不起作用,您可以自己编译。我可以根据要求提供详细说明,但目前-这一页解释如何在 Cygwin 下编译(大多数)Linux 程序,以及这一页提供有关下载源代码的说明。

答案2

更新(2018-10-20)

以下信息现已过时,因为截至目前,当前的 Cygwingnupg2软件包版本为2.2.10-1以及最新的gpg4win(3.1.3)位于2.2.10


不幸的是赛格威假如GnuPG 软件包已经过时了,仍然使用弃用的gnupg1.4。这确实令人遗憾,因为其他一切似乎都运行良好。因此,您可能会考虑下载 Windows 原生Gpg4win,但这是一个错误。此外,该软件包已过时(截至 2017-05-10),最新版本为2.3.3(2016-08-18),仅使用gnupg 2.0.30。 那么该怎么办?

相反,去 GnuPG下载页面并选择标记为的下载“当前 GnuPG 的简单安装程序”。这将从他们的FTP 站点. 安装它。GnuPG Bug 已跟踪这里

然而,旧的原始 CygwinGPG二进制文件位于,/usr/bin/gpg.exe并且该路径优先于新的 Windows 路径。因此,要查看新版本,您必须提供完整路径。

$ gpg --version
gpg (GnuPG) 1.4.21
...
Home: ~/.gnupg
...

$ /cygdrive/c/Program\ Files\ \(x86\)/GnuPG/bin/gpg.exe --version

gpg (GnuPG) 2.1.20
libgcrypt 1.7.6
...

Home: C:/Users/xxxx/AppData/Roaming/gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

获得新二进制文件的简单解决方案是通过软链接它。

$ ln -s /cygdrive/c/Program\ Files\ \(x86\)/GnuPG/bin/gpg.exe /usr/bin/gpg2
$ ln -s /cygdrive/c/Program\ Files\ \(x86\)/GnuPG/bin/gpg-agent.exe /usr/bin/gpg-agent
# And others depending on your need

$ gpg2 --version
gpg (GnuPG) 2.1.20
libgcrypt 1.7.6
...

$HOME一切都好!最后,请注意,对于旧 gpg,您的钥匙串将位于 Cygwin 中,而/cygdrive/c/Users/xxxx/AppData/Roaming/gnupg/对于新 gpg,则位于 中。

当然,你总是可以编译并安装最新的来源

答案3

对我来说,2020 年的真正答案是

gpg2

现在在 cygwin 中,而不是 gpg。我怎么知道的?cygwin 包是 gnupg2,如果在 cygwin 安装程序中搜索 gpg,则找不到它。由于此线程是搜索“gpg cygwin”时最热门的,也许我可以为某人节省一些时间。

答案4

我按照以下步骤在 Cygwin 上将 GPG2 与 Git 结合使用(包括用于缓存 GPG 密码的 gpg-agent):

  • 安装了 gnupg2 Cygwin 包(版本 2.2.27-1)。
  • 配置 git 以使用 gnupg2: git config --global gpg.program $(which gpg2)

相关内容