Назад | Перейти на главную страницу

Невозможно обновить Phusion Passenger в Ubuntu 14.04: ошибка gnutls_handshake ():

Несколько месяцев назад я установил Phusion Passenger в Ubunut 14.04, используя HOWTO здесь: https://www.phusionpassenger.com/library/install/apache/install/oss/trusty/

Недавно, обновляя системные пакеты (apt-get update), я заметил ниже эту ошибку, касающуюся репозитория пассажиров. На этом этапе я должен прокомментировать записи в /etc/apt/sources.list.d/passenger.list чтобы установить обновления на моем сервере. Я искал в Google и, похоже, получил только шесть результатов :( Мне кажется, в репозитории Passenger есть некоторые проблемы с SSL. Кто-нибудь знает, что не так и как это исправить?

Err https://oss-binaries.phusionpassenger.com trusty/main amd64 Packages       
  gnutls_handshake() failed: A TLS packet with unexpected length was received.
Err https://oss-binaries.phusionpassenger.com trusty/main i386 Packages        
  gnutls_handshake() failed: A TLS packet with unexpected length was received.
Ign https://oss-binaries.phusionpassenger.com trusty/main Translation-en       
Fetched 2945 kB in 12s (241 kB/s)                                              
W: Failed to fetch https://oss-binaries.phusionpassenger.com/apt/passenger/dists/trusty/main/binary-amd64/Packages  gnutls_handshake() failed: A TLS packet with unexpected length was received.

W: Failed to fetch https://oss-binaries.phusionpassenger.com/apt/passenger/dists/trusty/main/binary-i386/Packages  gnutls_handshake() failed: A TLS packet with unexpected length was received.

E: Some index files failed to download. They have been ignored, or old ones used instead.

Как оказалось, когда Ubuntu 14.04 apt метод https (находится под /usr/lib/apt/methods/) построен с libcurl4-gnutls-dev, это вызывает у меня эту проблему. Восстановление apt с участием libcurl4-openssl-dev исправляет gnutls_handshake() ошибка. Что именно происходит, я не знаю. Может быть связано с эта проблема Git с точной ошибкой. Тоже прохожу через прокси.

Ну, так как никто не ответил, вот что я в итоге сделал. Он жирнее, чем Samsquanch, но, по крайней мере, пассажир обновлен. Надеюсь, у кого-то есть лучший ответ.

Общая идея - использовать sources.list для создания пути к имени файла в удаленном репо, затем загрузите его с помощью wget и установите с помощью dpkg.

# aptitude update
...

Err https://oss-binaries.phusionpassenger.com trusty/main i386 Packages                                                                                                                                            
  gnutls_handshake() failed: A TLS packet with unexpected length was received.
Ign https://oss-binaries.phusionpassenger.com trusty/main Translation-en                                                                                                                                           
Err https://oss-binaries.phusionpassenger.com trusty/main amd64 Packages                                                                                                                                           
  gnutls_handshake() failed: A TLS packet with unexpected length was received.
...                                                                                                                                                 
Fetched 9860 kB in 15s (651 kB/s)                                                                                                                                                                                  
W: Failed to fetch https://oss-binaries.phusionpassenger.com/apt/passenger/dists/trusty/main/binary-i386/Packages: gnutls_handshake() failed: A TLS packet with unexpected length was received.
W: Failed to fetch https://oss-binaries.phusionpassenger.com/apt/passenger/dists/trusty/main/binary-amd64/Packages: gnutls_handshake() failed: A TLS packet with unexpected length was received.
...



# wget https://oss-binaries.phusionpassenger.com/apt/passenger/dists/trusty/main/binary-amd64/Packages -O pkgs
...
2016-09-16 14:25:28 (392 KB/s) - 'pkgs' saved [419785/419785]


# grep Filename pkgs | grep passenger
...
Filename: pool/trusty/main/liba/passenger/libapache2-mod-passenger_5.0.30-1~trusty1_amd64.deb
...
Filename: pool/trusty/main/p/passenger/passenger_5.0.30-1~trusty1_amd64.deb



# cat /etc/apt/sources.list.d/passenger.list 
deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main

Префикс из файла пассажира.list должен перейти в wget, а затем добавить Filename: часть из файла пакетов deb, который вам нужно скачать.

# wget https://oss-binaries.phusionpassenger.com/apt/passenger/pool/trusty/main/p/passenger/passenger_5.0.30-1~trusty1_amd64.deb 
...
Saving to: 'passenger_5.0.30-1~trusty1_amd64.deb.1'


# wget https://oss-binaries.phusionpassenger.com/apt/passenger/pool/trusty/main/liba/passenger/libapache2-mod-passenger_5.0.30-1~trusty1_amd64.deb
...
Saving to: 'libapache2-mod-passenger_5.0.30-1~trusty1_amd64.deb'


# dir
-rw-r--r--  1 root root  291470 Jul 25 15:26 libapache2-mod-passenger_5.0.30-1~trusty1_amd64.deb
-rw-r--r--  1 root root 1661194 Jul 25 15:26 passenger_5.0.30-1~trusty1_amd64.deb

# dpkg -i libapache2-mod-passenger_5.0.30-1~trusty1_amd64.deb
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack libapache2-mod-passenger_5.0.30-1~trusty1_amd64.deb ...
Unpacking libapache2-mod-passenger (1:5.0.30-1~trusty1) over (1:5.0.30-1~trusty1) ...
Setting up libapache2-mod-passenger (1:5.0.30-1~trusty1) ...
 * Reloading web server apache2                                                                                                                                                                                     * 

# dpkg -i passenger_5.0.30-1~trusty1_amd64.deb  
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack passenger_5.0.30-1~trusty1_amd64.deb ...
Unpacking passenger (1:5.0.30-1~trusty1) over (1:5.0.30-1~trusty1) ...
Setting up passenger (1:5.0.30-1~trusty1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...