Как установить gpg на cygwin? в настоящее время он отсутствует

У меня установлен Cygwin на Win 7, но я не вижу gpg в /usr/bin/.. это нормально? Как я могу получить это? Я пытаюсь проверить Linux linux и мне нужно проверить файл подписи.

4 ответа

Решение

К счастью, gpg включен в репозиторий Cygwin. Просто запустите установщик Cygwin (setup-x86_64.exe или же setup-x86.exe), и когда появится меню выбора пакета, выполните поиск "gnupg". Проверьте опцию "gnupg", которая появляется под утилитами, закончите обновление, и все готово. Следует установить gpg и любые зависимости.

Если по какой-либо причине это НЕ работает, вы можете скомпилировать его самостоятельно. Я могу дать подробные инструкции по запросу, но сейчас - эта страница объясняет, как скомпилировать (большинство) программ для Linux под Cygwin, и на этой странице приведены инструкции по загрузке исходного кода.

ОБНОВЛЕНИЕ (2018-10-20)

Приведенная ниже информация устарела, поскольку на сегодняшний день текущая версия пакета Cygwin gnupg2 находится по адресу2.2.10-1 и тот, который идет с самым последним gpg4win (3.1.3), находится на 2.2.10,


К сожалению, предоставляемые Cygwin пакеты для GnuPG устарели и до сих пор используют устаревшую версию gnupg1.4. Это действительно печально, так как все остальное работает отлично. Таким образом, вы можете подумать, чтобы загрузить Windows Gpg4win, но это ошибка. Также этот пакет устарел (по состоянию на 2017-05-10) с последней версией 2.3.3 (2016-08-18), только с использованием gnupg 2.0.30. Так что делать?

Вместо этого перейдите на страницу загрузки GnuPG и выберите загрузку, помеченную как "Простой установщик для текущей GnuPG". Это загрузит последнюю версию *.exe с их FTP-сайта. Установите это. Ошибки GnuPG отслеживаются здесь.

Тем не менее, старый оригинальный бинарный файл Cygwin gpg находится в /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
...

Все хорошо! Наконец, обратите внимание, что ваши цепочки для ключей будут находиться в Cygwin $HOME для старого GPG, тогда как в /cygdrive/c/Users/xxxx/AppData/Roaming/gnupg/ для нового.

Конечно, вы всегда можете пройти долгий путь компиляции и установки последних версий из исходников.

Настоящий ответ для меня в 2020 году таков: это называется

gpg2

теперь в cygwin, а не в gpg. Откуда я должен был это знать? Пакет cygwin - это gnupg2, который не будет найден, если поискать gpg в программе установки cygwin. Поскольку эта ветка является самой популярной по запросу "gpg cygwin", возможно, я сэкономлю кому-нибудь время.

Чтобы использовать GPG2 с Git в Cygwin, я сделал следующее (включая gpg-агент для кэширования паролей GPG):

  • Установлен пакет gnupg2 Cygwin (версия 2.2.27-1).
  • Настроил git для использования gnupg2:git config --global gpg.program $(which gpg2)
Другие вопросы по тегам