本頁說明如何設定 VM,從 Artifact Registry Yum 存放區安裝 RPM 套件。Artifact Registry Yum 存放區支援 yum
和 dnf
用戶端。
事前準備
如果目標 Yum 存放區不存在,請建立新的存放區。您可以建立私有存放區,或是不需要驗證的公開存放區。
準備 VM 以存取 Yum 存放區
如要準備 VM 來存取 Yum 存放區,請使用 yum
或 dnf
用戶端工具:
私人存放區
選擇要用來授予存取權的服務帳戶。
準備 VM 以存取存放區。
Compute Engine VM
將
cloud-platform
API 存取權範圍 指派給 VM。如要瞭解如何設定存取範圍,請參閱「變更執行個體的服務帳戶與存取範圍」。使用下列指令更新套件快取:
sudo yum makecache
在 VM 上安裝 Artifact Registry 外掛程式,請使用下列指令:
sudo yum install FORMAT-plugin-artifact-registry
更改下列內容:
FORMAT
,並搭配下列其中一個值:yum
,如果您的作業系統是 Enterprise Linux 7 或更早版本dnf
(如果作業系統是 Enterprise Linux 8 以上版本)
其他 VM
使用下列指令安裝 RPM 簽署金鑰:
sudo rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
建立名為
/etc/yum.repos.d/artifact-registry-plugin.repo
的檔案,並在當中加入下列內容:[ar-plugin] name=Artifact Registry Plugin baseurl=https://packages.cloud.google.com/yum/repos/FORMAT-plugin-artifact-registry-DISTRO-stable enabled=1 gpgcheck=1
更改下列內容:
FORMAT
,並搭配下列其中一個值:yum
,如果您的作業系統是 Enterprise Linux 7 或更早版本dnf
(如果作業系統是 Enterprise Linux 8 以上版本)
DISTRO
,其中X
是發布版本。elX
有效DISTRO
值範例:el7
和el8
。
使用下列指令更新 Yum:
sudo yum makecache
在 VM 上安裝 Artifact Registry 外掛程式,請使用下列指令:
yum install FORMAT-plugin-artifact-registry
請將
FORMAT
替換為下列其中一個值:yum
,如果您的作業系統是 Enterprise Linux 7 或更早版本dnf
(如果作業系統是 Enterprise Linux 8 以上版本)
在
artifact-registry.conf
檔案中找到#service_account_json = "/path/to/creds.json"
行,然後取消註解該行,並新增服務帳戶金鑰的路徑。- 如果是 Enterprise Linux 7 或更早版本的作業系統,設定檔路徑為
/etc/yum/pluginconf.d/artifact-registry.conf
。 - 如果是 Enterprise Linux 8 以上版本的作業系統,設定檔路徑為
/etc/dnf/plugins/artifact-registry.conf
。
設定檔項目:
service_account_json = "PATH_TO_SERVICE_ACCOUNT_KEY"
將
PATH_TO_SERVICE_ACCOUNT_KEY
替換為服務帳戶金鑰 JSON 檔案的路徑。- 如果是 Enterprise Linux 7 或更早版本的作業系統,設定檔路徑為
公開存放區
設定 VM 來存取標準 Yum 存放區
如要設定 VM 存取 Yum 存放區,請使用 yum
或 dnf
用戶端工具:
執行
gcloud beta artifacts print-settings yum
指令,產生 VM 設定指令:gcloud beta artifacts print-settings yum \ --repository=REPOSITORY \ --location=LOCATION
更改下列內容:
REPOSITORY
是 Artifact Registry 存放區的名稱。-
LOCATION
是存放區的區域或多區域位置。
輸出結果會與下列內容相似:
# To configure your package manager with this repository: # Update Yum: sudo yum makecache # Install the Yum credential helper: sudo yum install yum-plugin-artifact-registry # Configure your VM to access Artifact Registry packages using the following # command: sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL [REPOSITORY] name=REPOSITORY baseurl=https://LOCATION-yum.pkg.dev/projects/PROJECT/REPOSITORY enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL # Update Yum: sudo yum makecache
使用
print-settings
指令的輸出內容,透過tee
指令設定yum
用戶端工具,從存放區擷取套件。舉例來說,如要從專案
my-project
中位置us-west1
的公開my-repo
安裝套件,請使用下列指令:sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOL [my-repo] name=My Repository baseurl=https://us-west1-yum.pkg.dev/projects/my-project/my-repo enabled=1 repo_gpgcheck=0 gpgcheck=0 EOL
使用下列指令更新存放區來源:
sudo yum makecache
Yum 現在可以連線至存放區。
如果您建立其他 Yum 存放區,請在 /etc/yum.repos.d/
中為每個存放區建立 .repo
檔案。重新執行 sudo yum update
,更新存放區來源。
設定 VM 以存取遠端 Yum 存放區
如要將 VM 設為只使用遠端 Yum 存放區,而非標準上游 Yum 存放區,請將 VM 存放區清單中的標準存放區換成遠端存放區。
如果標準存放區是在設定檔中定義,而非在個別存放區檔案 (.repo
) 中定義,您可以刪除設定檔中的項目,並替換為遠端存放區,或在 /etc/yum.repos.d/
目錄中定義新的存放區檔案。
在 VM 所在資料列中,按一下「SSH」SSH。新視窗隨即開啟,顯示 VM 上的終端機工作階段。
開啟 VM 的
/etc/yum.repos.d/
資料夾,找出包含標準上游存放區的適當存放區檔案 (.repo
)。有時也稱為基礎存放區。含有[base]
或[baseos]
的 Yum 存放區名稱,可用來識別基本存放區。如要完全取代基礎存放區,請移除
[base]
或[baseos]
下的預設設定。如要保留標準上游存放區,並將遠端存放區新增為備援選項,請勿移除預設設定。在
[base]
或[baseos]
下方新增下列設定:name=YUM_REPOSITORY_NAME baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME enabled=1 gpgcheck=1
更改下列內容:
YUM_REPOSITORY_NAME
,並為遠端 Yum 存放區提供一個單字組成的專屬存放區 ID。如果您已刪除標準上游存放區設定,這個名稱可以與上游存放區名稱相符;如果保留標準上游存放區,則可以使用其他名稱將其識別為遠端存放區。-
LOCATION
是存放區的區域或多區域位置。 - 將
PROJECT_ID
替換為 VM 的專案 ID。 REMOTE_REPOSITORY_NAME
,並以使用者可解讀的名稱表示遠端存放區。
使用遠端 Yum 存放區做為備份
如要保留標準上游做為第一個選項,並新增遠端存放區做為備援選項,您可以將標準上游保留在存放區檔案中,並在 /etc/yum.repos.d
資料夾中建立新的存放區檔案。
如要在 /etc/yum.repos.d
資料夾中建立新的存放區檔案,請執行下列指令:
sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[YUM_REPOSITORY_NAME]
name=REPOSITORY_NAME
baseurl=https://LOCATION-yum.pkg.dev/remote/PROJECT_ID/REMOTE_REPOSITORY_NAME
enabled=1
gpgcheck=1
EOF
更改下列內容:
YUM_REPOSITORY_NAME
,其中包含遠端 Yum 存放區的專屬存放區 ID (一個字)。- 將
REPOSITORY_NAME
替換為存放區的清楚易懂名稱。 LOCATION
,其中包含遠端存放區的區域或多區域位置。- 將
PROJECT_ID
替換為 VM 的專案 ID。 REMOTE_REPOSITORY_NAME
改成您為遠端存放區提供的名稱。
舉例來說,下列指令會將 VM 設定為在 Yum 安裝存放區 my-repo
時,擷取專案 my-project
和位置 us-west1
中的存放區 my-repo
。
sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF
[my-repo]
name=My Repository
baseurl=https://us-west1-yum.pkg.dev/remote/my-project/my-repo
enabled=1
gpgcheck=1
EOF