Вопрос или проблема
Я использую сервер Ubuntu 16.04. Я только что обновил его этим утром. Эта команда, которая является частью обновления Redmine, генерирует ошибку GnuTLS. Я искал решения в интернете, но не нашел. Буду признателен за любые советы.
**bundle install --gemfile=/opt/redmine/redmine/Gemfile**
Получение https://github.com/jbox-web/gitolite-rugged.git
ошибка: RPC не удалась; curl 56 ошибка получения GnuTLS (-110): TLS-соединение было неправильно завершено.
Попытка повторить `git clone 'https://github.com/jbox-web/gitolite-rugged.git' "/home/sysadmin/.gem/ruby/2.2.3/cache/bundler/git/gitolite-rugged-f96eae3bf467935eea22ec876625e07825442454" --bare --no-hardlinks --quiet` из-за ошибки (2/4): Bundler::Source::Git::GitCommandError Ошибка git: команда `git clone 'https://github.com/jbox-web/gitolite-rugged.git' "/home/sysadmin/.gem/ruby/2.2.3/cache/bundler/git/gitolite-rugged-f96eae3bf467935eea22ec876625e07825442454" --bare --no-hardlinks --quiet` в каталоге /home/sysadmin завершилась неудачно. ошибка: RPC не удалась; curl 56 ошибка получения GnuTLS (-110): TLS-соединение было неправильно завершено.
Попытка повторить `git clone 'https://github.com/jbox-web/gitolite-rugged.git' "/home/sysadmin/.gem/ruby/2.2.3/cache/bundler/git/gitolite-rugged-f96eae3bf467935eea22ec876625e07825442454" --bare --no-hardlinks --quiet` из-за ошибки (3/4): Bundler::Source::Git::GitCommandError Ошибка git: команда `git clone 'https://github.com/jbox-web/gitolite-rugged.git' "/home/sysadmin/.gem/ruby/2.2.3/cache/bundler/git/gitolite-rugged-f96eae3bf467935eea22ec876625e07825442454" --bare --no-hardlinks --quiet` в каталоге /home/sysadmin завершилась неудачно. ошибка: RPC не удалась; curl 56 ошибка получения GnuTLS (-110): TLS-соединение было неправильно завершено.
Попытка повторить `git clone 'https://github.com/jbox-web/gitolite-rugged.git' "/home/sysadmin/.gem/ruby/2.2.3/cache/bundler/git/gitolite-rugged-f96eae3bf467935eea22ec876625e07825442454" --bare --no-hardlinks --quiet` из-за ошибки (4/4): Bundler::Source::Git::GitCommandError Ошибка git: команда `git clone 'https://github.com/jbox-web/gitolite-rugged.git' "/home/sysadmin/.gem/ruby/2.2.3/cache/bundler/git/gitolite-rugged-f96eae3bf467935eea22ec876625e07825442454" --bare --no-hardlinks --quiet` в каталоге /home/sysadmin завершилась неудачно. ошибка: RPC не удалась; curl 56 ошибка получения GnuTLS (-110): TLS-соединение было неправильно завершено.
**Ошибка Git: команда `git clone 'https://github.com/jbox-web/gitolite-rugged.git' "/home/sysadmin/.gem/ruby/2.2.3/cache/bundler/git/gitolite-rugged-f96eae3bf467935eea22ec876625e07825442454" --bare --no-hardlinks --quiet` в каталоге
/home/sysadmin завершилась неудачно.***
Это, вероятно, проблема с SSL (вы, возможно, изменили сертификаты или обновили криптографические библиотеки во время обновления)?
Вы можете попробовать переустановить git или, если не получится, собрать git из исходного кода, использовав другой криптографический бэкенд. Вы можете обратиться к инструкциям из этого ответа.
Ответ или решение
Ошибка GnuTLS: "TLS connection was non-properly terminated" часто возникает при попытке установить соединение через протокол HTTPS, особенно после обновлений системных библиотек или программного обеспечения. В вашем случае, это может быть связано с обновлением Ubuntu до версии 16.04.
Вот несколько шагов, которые могут помочь вам справиться с этой проблемой:
-
Проверка версии git и gnutls:
Убедитесь, что у вас установлены последние версииgit
иgnutls
. Вы можете проверить их версии с помощью команд:git --version gnutls-cli --version
-
Обновление системных пакетов:
Возможно, проблема связана с устаревшими библиотеками, которые были обновлены. Запустите следующие команды для обновления пакетов:sudo apt update sudo apt upgrade
-
Переустановка git:
Если обновление не помогло, попробуйте переустановитьgit
:sudo apt remove git sudo apt install git
-
Проверка сертификатов:
Убедитесь, что SSL-сертификаты корректны. Вы можете попробовать обновить пакеты с сертификатами:sudo apt install --reinstall ca-certificates
-
Сборка git из исходников:
Если проблема продолжает возникать, вы можете попробовать собрать git из исходников с использованием другой криптографической библиотеки, например,OpenSSL
. Для этого выполните следующие шаги:sudo apt install build-essential libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext cd /usr/src sudo git clone https://github.com/git/git.git cd git sudo make configure sudo ./configure --with-ssl=openssl sudo make all sudo make install
-
Изменение URL репозитория:
Попробуйте изменить URL для клонирования репозитория с HTTPS на SSH, если это приемлемо:git clone git@github.com:jbox-web/gitolite-rugged.git
-
Дополнительные настройки Git:
Можно попробовать добавить параметры, уменьшающие вероятность ошибок:git config --global http.postBuffer 524288000 git config --global http.sslVerify false
Если ни один из этих методов не помог, проверьте наличие ошибок и предупреждений в системных журналах, таких как dmesg
, и убедитесь, что ваше сетевое соединение надежно. В случае необходимости, обратитесь к документации или сообществу Ubuntu для получения дополнительной поддержки.