Как изменить libcurl бэкенд SSL от gnutls до openssl на сервере Ubuntu

Это совершенно зависит от характера деятельности. Некоторые офисы 9-5 пять дней в неделю. Другие компании составляют 24 часа в день, 365 дней в год. Другие факторы, такие как штат и доступность ресурса играют значительную роль. Никакая научно-исследовательская работа не могла всесторонне покрыть каждое возможное расписание или возможность.

В конечном счете управление компанией или отделом совместно с управлением IT должно определить то, что является лучшим.

Ключ к успеху общается с пользователями, когда время простоя, как планируют, запустится, сколько времени он, как ожидают, продлится, любая подготовка, требуемая пользователей и что они могут ожидать в результате успешности или неуспешности. Большая часть этого оправдывает надежды, которые Вы устанавливаете.

В конце ничто не вытравливается в камне. Если процесс не работает, затем вносят изменения. Ваша гибкость и адаптируемость будут цениться.

Путем выполнения процедур обслуживания и обновления по тестовому оборудованию заранее, если это возможно, Вы будете лучше подготовлены, когда оно прибудет время для реализации их в производственных системах.

7
задан 11 January 2012 в 13:36
4 ответа

Пакеты -dev - это пакеты для разработки, они содержат заголовки библиотек, используемые для разработки и компиляции программ, использующих эту библиотеку. Обычно они не требуются для двоичных пакетов приложений (которые уже скомпилированы). Установка libcurl4-openssl-dev недостаточна для того, чтобы бинарные пакеты, созданные для libcurl3-gnutls , вместо этого использовали OpenSSL. Он будет полезен только для приложений, которые вы повторно компилируете для этого.

Пакет python-pycurl имеет прямую зависимость от libcurl3-gnutls и libgnutls26 .

Если нет пакетов на основе cURL для Ubuntu, скомпилированных против OpenSSL вместо GnuTLS в альтернативном репозитории, к сожалению, вам, возможно, придется собрать их самостоятельно.

В принципе, это можно сделать, загрузив исходный код ( apt-get source python-pycurl и связанные пакеты). Вам нужно будет зайти в файлы конфигурации упаковки Debian и изменить параметры (обычно передаются в сценарий configure , который также настраивает Makefile перед компиляцией), чтобы изменить параметры компиляции. , чтобы вместо этого использовать OpenSSL. Вам также может потребоваться изменить описание пакета, чтобы ограничить прерывание работы других пакетов, возможно, используя директиву provide: , чтобы указать, что ваш пакет может заменить пакет, упакованный Ubuntu.

Вам нужно будет зайти в файлы конфигурации упаковки Debian и изменить параметры (обычно передаются в сценарий configure , который также настраивает Makefile s перед компиляцией), чтобы изменить параметры компиляции. , чтобы вместо этого использовать OpenSSL. Вам также может потребоваться изменить описание пакета, чтобы ограничить прерывание работы других пакетов, возможно, используя директиву provide: , чтобы указать, что ваш пакет может заменить пакет, упакованный Ubuntu.

Вам нужно будет зайти в файлы конфигурации упаковки Debian и изменить параметры (обычно передаются в сценарий configure , который также настраивает Makefile перед компиляцией), чтобы изменить параметры компиляции. , чтобы вместо этого использовать OpenSSL. Вам также может потребоваться изменить описание пакета, чтобы ограничить прерывание работы других пакетов, возможно, используя директиву provide: , чтобы указать, что ваш пакет может заменить пакет, упакованный Ubuntu.

5
ответ дан 2 December 2019 в 23:23

Насколько я понимаю, пакет libcurl3 должен предлагать поддержку OpenSSL.

0
ответ дан 2 December 2019 в 23:23

I saw a solution on Debian bug tracker.

I figured I'd post a workaround for people to fix the python-pycurl package themselves.

sudo apt-get install build-essential fakeroot dpkg-dev
mkdir ~/python-pycurl-openssl
cd ~/python-pycurl-openssl
sudo apt-get source python-pycurl
sudo apt-get build-dep python-pycurl
sudo apt-get install libcurl4-openssl-dev
dpkg-source -x pycurl_7.18.2-1.dsc
cd pycurl-7.18.2

Note pycurl could have been updated so the name may not exactly be pycurl_7.18.2-1.dsc Edit the debian/control file and replace all instances of libcurl4-gnutls-dev with libcurl4-openssl-dev

dpkg-buildpackage -rfakeroot -b
sudo dpkg -i ../python-pycurl_7.18.2-1_i386.deb

To test just jump on the interpretor and look at the version.

It used to say:

shell~# python
Python 2.5.2 (r252:60911, Jan  4 2009, 17:40:26)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pycurl
>>> pycurl.version
'libcurl/7.18.2 GnuTLS/2.4.2 zlib/1.2.3.3 libidn/1.8'

It will now say (if you did everything right):

shell~# python
Python 2.5.2 (r252:60911, Jan  4 2009, 17:40:26)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pycurl
>>> pycurl.version
'libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18'

The reason just editing the debian/control file works here is because both libcurl4-gnutls-dev and libcurl4-openssl-dev use the file /usr/bin/curl-config to build its packages. One is for gnutls enviroments while the other is for openssl.

8
ответ дан 2 December 2019 в 23:23

Удалите модуль pycurl и переустановите его с помощью pip.

sudo pip install pycurl
1
ответ дан 2 December 2019 в 23:23

Теги

Похожие вопросы