^ Beyond Linux(r) From Scratch (systemd Edition) - Version 12.1 ^^^
^ Chapter 17. Networking Libraries ^^^
|[[.:c-ares-1.26.0|이전]] | [[.:index|위로]] / [[:start|처음으로]] | [[.:GeoClue-2.7.1|다음]]|
|c-ares-1.26.0 | GeoClue-2.7.1|
----
===== cURL-8.6.0 =====
==== cURL 소개 ====
cURL 패키지에는 URL 구문으로 파일을 다음 프로토콜 중 하나로 전송하는 데 사용되는 유틸리티와 라이브러리가 포함되어 있습니다: DICT, 파일, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTSP, SMB, SMBS, SMTP, SMPTS, TELNET 및 TFTP. 파일 다운로드 및 업로드 기능을 다른 프로그램에 통합하여 스트리밍 미디어와 같은 기능을 지원할 수 있습니다.
이 패키지는 LFS 12.1 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다.
=== 패키지 정보 ===
* 다운로드(HTTP): [[https://curl.se/download/curl-8.6.0.tar.xz|curl-8.6.0.tar.xz]]
* MD5 Sum: 8f28f7e08c91cc679a45fccf66184fbc
* 다운로드 크기: 2.5 MB
* 필요한 예상 디스크 공간: 42 MB(테스트용 18 MB 추가)
* 예상 빌드 시간: 0.2 SBU (병렬 처리=4, 테스트용 4.1 SBU 추가(valgrind 미사용, valgrind 사용 시 36 SBU 추가))
=== cURL 종속성 ===
== 권장 ==
* [[.:libpsl-0.21.5]]
**참고** \\
libpsl 없이 패키지를 빌드하는 옵션이 있지만, 업스트림 개발자와 BLFS 편집자 모두 보안에 심각한 영향을 미치므로 libpsl 지원을 비활성화하지 않을 것을 강력히 권장합니다.
== 런타임 권장 ==
* [[.:make-ca-1.13]]((wget을 포함, 다수의 네트워크 관련 패키지에서 필요하기에 설치하는 것을 권장함.))
== 선택 사항 ==
* [[.:Brotli-1.1.0]]
* [[.:c-ares-1.26.0]]
* [[.:GnuTLS-3.8.3]]
* [[.:libidn2-2.3.7]]
* [[.:libssh2-1.11.0]]
* [[.:MIT Kerberos V5-1.21.2]]
* [[.:nghttp2-1.59.0]]
* [[.:OpenLDAP-2.6.7]]
* [[.:Samba-4.19.5]] 런타임, NTLM 인증용
* [[.:gsasl]]
* [[.:impacket]]
* [[.:libmetalink]]
* [[.:librtmp]]
* [[.:ngtcp2]]
* [[.:quiche]]
* [[.:SPNEGO]]
== 테스트 스위트를 실행하는 경우 선택 사항 ==
* [[.:Apache-2.4.58]]
* [[.:stunnel-5.72]] HTTPS 및 FTPS 테스트용
* [[.:OpenSSH-9.6p1]]
* [[.:Valgrind-3.22.0]] 테스트 속도가 느려지고 실패할 수 있음
==== cURL 설치 ====
다음과 같이 cURL을 설치합니다.
./configure --prefix=/usr \
--disable-static \
--with-openssl \
--enable-threaded-resolver \
--with-ca-path=/etc/ssl/certs &&
make
테스트 스위트를 실행하려면 ''**make test**''를 실행합니다. 일부 테스트는 불안정하므로 일부 테스트가 실패한 경우 다음과 같이 테스트를 다시 실행할 수 있습니다: (''**cd tests; ./runtests.pl **'') (실패한 테스트의 ID는 ''"These test cases failed:"'' 메시지에 표시됩니다). 패키지를 설치한 후 테스트를 실행하는 경우 아래 설치 설명의 'find' 명령으로 매뉴얼 페이지가 삭제되었기 때문에 일부 테스트가 실패할 수 있습니다.
이제 //''root''// 사용자로서
make install &&
rm -rf docs/examples/.deps &&
find docs \( -name Makefile\* -o \
-name \*.1 -o \
-name \*.3 -o \
-name CMakeLists.txt \) -delete &&
cp -v -R docs -T /usr/share/doc/curl-8.6.0
새로 설치된 curl에 대해 몇 가지 간단한 확인 테스트를 실행하려면 다음 명령을 실행하세요: ''**curl --trace-ascii debugdump.txt https://www.example.com/**'' 및 ''**curl --trace-ascii d.txt --trace-time https://example.com/**''. 버전 정보, 다운로드한 파일 정보 등이 포함된 로컬로 생성된 추적 파일 ''debugdump.txt'' 및 ''d.txt''를 검사합니다. 한 파일에는 각 작업의 시간이 기록됩니다.
==== 명령 설명 ====
* //--disable-static:// \\ 정적 라이브러리 설치를 비활성화 합니다.
* //--enable-threaded-resolver:// \\ cURL의 기본 제공 스레드 DNS 확인자를 활성화합니다.
* //--with-ca-path=/etc/ssl/certs:// \\ BLFS 인증 기관 저장소의 위치를 설정합니다.
* //--with-openssl:// \\ SSL/TLS 구현으로 OpenSSL을 선택합니다. 이 옵션은 거의 필수입니다.
* //--with-gssapi:// \\ libcurl에 Kerberos 5 지원을 추가합니다.
* //--without-ssl --with-gnutls:// \\ SSL/TLS용 OpenSSL 대신 GnuTLS를 지원하여 빌드합니다.
* //--with-ca-bundle=/etc/pki/tls/certs/ca-bundle.crt:// \\ SSL/TLS용 OpenSSL 대신 GnuTLS를 지원하여 빌드하는 경우 //--with-ca-path// 대신 이 스위치를 사용합니다.
* //--with-libssh2:// \\ cURL에 SSH 지원을 추가합니다. 이 옵션은 기본적으로 비활성화되어 있습니다.
* //--enable-ares:// \\ c-ares 라이브러리를 통한 DNS 확인에 대한 지원을 추가합니다. 이 매개 변수는 //--enable-threaded-resolver//를 재정의하며 편집자들에 의해 테스트되지 않았습니다.
* **''find docs ... -exec rm {} \;''**: 이 명령은 설치되는 문서 디렉터리에서 ''Makefile''과 man 파일을 제거합니다.
==== 내용 ====
* **설치 프로그램:** \\ curl 및 curl-config
* **설치 라이브러리:** \\ libcurl.so
* **설치 디렉토리** \\ /usr/include/curl 및 /usr/share/doc/curl-8.6.0
=== 간단한 설명 ===
* **curl** \\ URL 구문으로 파일을 전송하기 위한 명령줄 도구입니다.
* **curl-config** \\ 연결된 라이브러리 및 접두사 설정과 같은 마지막 컴파일에 대한 정보를 출력합니다.
* libcurl.so \\ curl과 다른 프로그램에 필요한 API 함수를 제공합니다.