Установка curl из исходников на Linux

cURL — это проект, и его основная цель и фокус — создание двух продуктов:
  • curl, инструмент командной строки
  • libcurl библиотека передачи с C API
И инструмент, и библиотека осуществляют интернет-передачу ресурсов, указанных как URL-адреса, с использованием интернет-протоколов.

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

Также важно учитывать, что curl и libcurl пытаются избежать обработки фактических передаваемых данных. Например, он ничего не знает о HTML или другом контенте, который популярен для передачи по HTTP, но он знает все о том, как передавать такие данные по HTTP.

Скачать последнюю версию curl для вашей операционной системы можно здесь: curl.se/download.html.

Для примера мы возьмем curl 7.77.0, который был выпущен 26 мая 2021 года.

Сперва скачаем исходники.
cd /home
wget https://curl.se/download/curl-7.77.0.zip
Теперь разархивируем его. Если нет утилиты unzip то ее можно поставить командой yum install unzip -y (для CentOS) или apt install unzip (для Debian/Ubuntu).
unzip curl-7.77.0.zip
Перейдем в папку с исходниками.
cd curl-7.77.0
Начнем конфигурацию. Важно знать, что нужно прямо указывать тип SSL/TLS. Иначе будет ошибка. Делаем это так.
./configure --with-openssl
Успех? Замечательно. Теперь приступим к сборке.
make && make install
Как только сборка закончена, проверяем версию curl.
curl -V
Должно показать что-то эдакое.
curl 7.77.0 (x86_64-pc-linux-gnu) libcurl/7.77.0 OpenSSL/1.0.2k-fips zlib/1.2.7
Release-Date: 2021-05-26
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HSTS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets
Если версия curl сходится с устанавливаемой — поздравляю, мы все сделали верно.