Я установил 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-проблемой с точной ошибкой. Я также просматриваю прокси.
Ну, поскольку никто не ответил, вот что я сделал. Это сальнее, чем Самскванч, но, по крайней мере, пассажир обновляется. Надеюсь, у кого-нибудь есть ответ получше.
Общая идея состоит в том, чтобы использовать source.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:
из файла Packages необходимого для загрузки 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) ...