從源安裝¶
已釋出的軟體包¶
本頁介紹如何使用官方釋出的軟體包下載和驗證 apache-airflow-providers-apache-pig 提供者(provider)版本 4.6.1。您也可以像大多數 Python 軟體包一樣,透過 PyPI 安裝此提供者軟體包。您可以透過選擇頁面左上角的下拉選單來選擇不同版本的提供者。
釋出的 sdist 和 whl 軟體包是“官方”的安裝來源,如果您想驗證軟體包的來源以及軟體包的校驗和(checksums)和簽名(signatures),可以使用它們。這些軟體包可透過Apache 軟體基金會官方下載站點獲取。
下載地址如下:
如果您想從原始碼安裝,可以從上面的原始碼連結下載,其中包含一個 INSTALL 檔案,詳細說明了如何構建和安裝此提供者。
釋出完整性¶
使用 PGP 或 SHA 簽名驗證下載檔案的完整性至關重要。PGP 簽名可以使用 GPG 或 PGP 進行驗證。請下載 KEYS 以及相關分發檔案的 asc 簽名檔案。建議從主分發目錄獲取這些檔案,而不是從映象站點獲取。
gpg -i KEYS
或
pgpk -a KEYS
或
pgp -ka KEYS
要驗證二進位制檔案/原始碼,您可以從主分發目錄下載相關的 asc 檔案,並按照以下指南操作。
gpg --verify apache-airflow-providers-********.asc apache-airflow-*********
或
pgpv apache-airflow-providers-********.asc
或
pgp apache-airflow-providers-********.asc
示例
$ gpg --verify apache-airflow-providers-apache-pig-4.6.1.tar.gz.asc apache-airflow-providers-apache-pig-4.6.1.tar.gz
gpg: Signature made Sat 11 Sep 12:49:54 2021 BST
gpg: using RSA key CDE15C6E4D3A8EC4ECF4BA4B6674E08AD7DE406F
gpg: issuer "kaxilnaik@apache.org"
gpg: Good signature from "Kaxil Naik <kaxilnaik@apache.org>" [unknown]
gpg: aka "Kaxil Naik <kaxilnaik@gmail.com>" [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 匯入,您已經知道這是一個有效的 Key。
要進行 SHA512 和校驗(sum check),請下載相關的 sha512 檔案並執行以下命令:
shasum -a 512 apache-airflow-providers-******** | diff - apache-airflow-providers-********.sha512
檔案的 SHASUM 應該與 .sha512 檔案中提供的一致。
示例
shasum -a 512 apache-airflow-providers-apache-pig-4.6.1.tar.gz | diff - apache-airflow-providers-apache-pig-4.6.1.tar.gz.sha512
驗證 PyPI 釋出版本¶
您可以透過使用以下指令碼在本地下載軟體包、簽名和 SHA 和校驗檔案,來驗證 PyPI 中的提供者 .whl 軟體包。
#!/bin/bash
PACKAGE_VERSION=4.6.1
PACKAGE_NAME=apache-airflow-providers-apache-pig
provider_download_dir=$(mktemp -d)
pip download --no-deps "${PACKAGE_NAME}==${PACKAGE_VERSION}" --dest "${provider_download_dir}"
curl "https://downloads.apache.org/airflow/providers/apache_airflow_providers_apache_pig-4.6.1-py3-none-any.whl.asc" \
-L -o "${provider_download_dir}/apache_airflow_providers_apache_pig-4.6.1-py3-none-any.whl.asc"
curl "https://downloads.apache.org/airflow/providers/apache_airflow_providers_apache_pig-4.6.1-py3-none-any.whl.sha512" \
-L -o "${provider_download_dir}/apache_airflow_providers_apache_pig-4.6.1-py3-none-any.whl.sha512"
echo
echo "Please verify files downloaded to ${provider_download_dir}"
ls -la "${provider_download_dir}"
echo
根據上一章的說明驗證檔案後,即可刪除建立的臨時資料夾。