소스에서 설치하기
소스에서 설치하기 (Installing from Sources)
이 문서는 공식으로 배포된 패키지를 사용해 Airflow® 버전 3.3.2를 다운로드하고 검증하는 방법을 설명해요. 소스 패키지를 직접 빌드하거나, PGP/SHA 서명으로 패키지 무결성을 확인하는 절차를 다룹니다.
출처: 문서
본문
배포된 패키지 (Released packages)
이 페이지는 공식으로 배포된 패키지를 사용해 Airflow® 버전 3.3.2를 다운로드하고 검증하는 방법을 설명해요. 대부분의 Python 패키지처럼 PyPI를 통해 Apache Airflow를 설치할 수도 있어요. 페이지 왼쪽 상단의 드롭다운에서 다른 버전을 선택해 다른 Airflow 버전을 고를 수 있어요.
소스 패키지(Source packages)는 Apache Software Foundation의 공식 패키지예요. 소스 코드에서 직접 패키지를 빌드하고 싶고, 패키지의 출처가 검증되어 리포지토리의 소스 코드와 일치하는지, 체크섬과 서명을 확인할 수 있기를 원하는 경우 사용하는 것이 좋아요.
배포되는 sdist와 whl 패키지는 편의 패키지로, 같은 소스에서 설치되며 패키지의 출처를 검증하고 체크섬과 서명을 확인하고 싶을 때 유용해요. 패키지는 공식 Apache Software Foundation 다운로드 공식 Apache Software Foundation 다운로드에서 제공돼요.
3.3.2의 Airflow® 다운로드는 다음에서 이용할 수 있어요:
- airflow용 소스 패키지 (asc, sha512)
- airflow meta distribution용 sdist 패키지 (asc, sha512)
- airflow meta distribution용 whl 패키지 (asc, sha512)
- airflow core distribution용 sdist 패키지 (asc, sha512)
- airflow core distribution용 whl 패키지 (asc, sha512)
- airflow task-sdk distribution용 sdist 패키지 (asc, sha512)
- airflow task-sdk distribution용 whl 패키지 (asc, sha512)
소스 코드에서 설치하고 싶다면 위의 sources 링크에서 다운로드하면 되고, Airflow를 빌드·설치하는 방법에 대한 상세 내용이 담긴 INSTALL 파일이 포함되어 있어요.
릴리스 무결성 (Release integrity)
다운로드한 파일의 무결성을 PGP 또는 SHA 서명으로 검증하는 것은 필수예요. PGP 서명은 GPG 또는 PGP로 검증할 수 있어요. 관련 배포판에 대한 KEYS와 asc 서명 파일을 다운로드하세요. 이 파일들은 미러가 아닌 기본 배포 디렉터리에서 가져오는 것을 권장해요.
gpg -i KEYS
또는
pgpk -a KEYS
또는
pgp -ka KEYS
바이너리/소스를 검증하려면 기본 배포 디렉터리에서 관련 asc 파일을 다운로드하고 아래 가이드를 따르세요.
gpg --verify apache-airflow-********.asc apache-airflow-*********
또는
pgpv apache-airflow-********.asc
또는
pgp apache-airflow-********.asc
예시:
$ gpg --verify apache-airflow-3.3.2-source.tar.gz.asc apache-airflow-3.3.2-source.tar.gz
gpg: Signature made Sat 11 Sep 12:49:54 2021 BST
gpg: using RSA key CDE15C6E4D3A8EC4ECF4BA4B6674E08AD7DE406F
gpg: issuer "[email protected]"
gpg: Good signature from "Kaxil Naik <[email protected]>" [unknown]
gpg: aka "Kaxil Naik <[email protected]>" [unknown]
gpg: WARNING: The key's User ID is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: CDE1 5C6E 4D3A 8EC4 ECF4 BA4B 6674 E08A D7DE 406F
“Good signature from …”은 서명이 올바르다는 표시예요. “not certified with a trusted signature” 경고는 걱정하지 마세요. 대부분의 릴리스 관리자가 사용하는 인증서는 self-signed이기 때문에 이런 경고가 나오는 거예요. 이전 단계에서 서버를 가져오고 KEYS 페이지에서 ID로 가져왔다면, 이것이 이미 유효한 키라는 것을 알 수 있어요.
SHA512 체크섬 검증을 위해 관련 sha512를 다운로드하고 다음을 실행해요:
shasum -a 512 apache-airflow--******** | diff - apache-airflow--********.sha512
파일의 SHASUM이 .sha512 파일에 제공된 것과 일치해야 해요.
예시:
shasum -a 512 apache-airflow-3.3.2-source.tar.gz | diff - apache-airflow-3.3.2-source.tar.gz.sha512
PyPI 릴리스 검증하기 (Verifying PyPI releases)
아래 스크립트로 PyPI의 Airflow .whl 패키지를 로컬에서 다운로드해 패키지와 서명, SHA sum 파일을 검증할 수 있어요:
#!/bin/bash
AIRFLOW_VERSION="3.3.2"
airflow_download_dir="$(mktemp -d)"
pip download --no-deps "apache-airflow==${AIRFLOW_VERSION}" --dest "${airflow_download_dir}"
curl "https://downloads.apache.org/airflow/${AIRFLOW_VERSION}/apache_airflow-${AIRFLOW_VERSION}-py3-none-any.whl.asc" \
-L -o "${airflow_download_dir}/apache_airflow-${AIRFLOW_VERSION}-py3-none-any.whl.asc"
curl "https://downloads.apache.org/airflow/${AIRFLOW_VERSION}/apache_airflow-${AIRFLOW_VERSION}-py3-none-any.whl.sha512" \
-L -o "${airflow_download_dir}/apache_airflow-${AIRFLOW_VERSION}-py3-none-any.whl.sha512"
echo
echo "Please verify files downloaded to ${airflow_download_dir}"
ls -la "${airflow_download_dir}"
echo
이전 섹션의 지침에 따라 파일을 검증한 뒤, 생성된 임시 폴더를 제거하면 돼요.