本頁說明如何在 Yum 存放區中新增、查看及刪除 RPM 套件。Artifact Registry Yum 存放區支援 Yum 和 DNF。
事前準備
- 如果目標 Yum 存放區不存在,請建立新的存放區。
- 設定 VM 以存取存放區。
- (選用) 設定 gcloud 指令的預設值。
- 請確認中繼資料中的套件名稱符合 Fedora 套件命名規範和 Fedora 套件版本規範。
新增套件
存放區模式:標準
您必須具備讀取和寫入權限,才能在存放區新增套件。
您可以使用 Google Cloud CLI 將套件上傳至存放區,也可以匯入儲存在 Cloud Storage 中的套件。
如果您使用 Cloud Build 建構套件,建構作業可以將套件儲存在 Cloud Storage 中,供您匯入。長時間的匯入或上傳作業可能會超過 gcloud CLI 用來呼叫 API 的權杖到期期限。如果要新增的套件數量龐大,建議分批新增,這樣每項上傳或匯入作業都能在較短的時間內完成。詳情請參閱「OS 套件疑難排解」說明文件。
直接上傳
使用 gcloud artifacts yum upload
指令將套件上傳至 Yum 存放區:
gcloud artifacts yum upload REPOSITORY \
--location=LOCATION \
--source=PACKAGES
替換下列值:
REPOSITORY
是 Artifact Registry 存放區名稱。-
LOCATION
是存放區的地區或多地區位置。 PACKAGES
是套件的路徑。
舉例來說,如要將套件 my-package.rpm
上傳至 us-west1
位置的 Yum 存放區 my-repo
,請執行以下指令:
gcloud artifacts yum upload my-repo \ --location=us-west1 \ --source=my-package.rpm
Cloud Storage
- 請透過下列任一方式將套件上傳至 Cloud Storage:
- 上傳套件至 Cloud Storage 值區
- 使用 Cloud Build 建構套件,並儲存在值區中
- 請執行下列指令:
gcloud artifacts yum import REPOSITORY \ --location=LOCATION \ --gcs-source=PACKAGES
替換下列值:
REPOSITORY
是 Artifact Registry 存放區名稱。-
LOCATION
是存放區的地區或多地區位置。 PACKAGES
是以逗號分隔的 Cloud Storage 套件清單。如要上傳目錄中的所有套件,請使用目錄萬用字元 (*
) 或遞迴目錄萬用字元 (**
),上傳所有子目錄中的套件。
舉例來說,下列指令會從
my-bucket
值區上傳套件package.rpm
和directory
目錄中的所有套件,至us-west1
位置的 Yum 存放區my-repo
:gcloud artifacts yum import my-repo \ --location=us-west1 \ --gcs-source=gs://my-bucket/path/to/package.rpm,gs://my-bucket/directory*
上傳或匯入作業完成後,您可以使用Google Cloud 控制台或 gcloud CLI 查看存放區中的套件,並確認套件是否已成功上傳。
如果您有大量套件的大型存放區,系統可能需要幾分鐘的時間才能重新產生套件索引,讓 Yum 用戶端能夠查看新套件。
查看套件
存放區模式:標準、遠端 (預先發布版)
如要查看套件,您必須具備 Artifact Registry 讀取者角色的權限。Artifact Registry 不會列出套件中的檔案。
如要使用 Google Cloud 控制台或 gcloud
查看套件和套件版本,請按照下列步驟操作:
主控台
在 Google Cloud 控制台中開啟「Repositories」頁面。
在存放區清單中,按一下適當的存放區。
「Packages」頁面會列出存放區中的套件。
按一下套件即可查看套件版本。
gcloud
如要列出存放區中的套件,請執行下列指令:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
更改下列內容:
如要查看套件的版本,請執行下列指令:
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
更改下列內容:
安裝套件
存放區模式:標準、遠端 (預先發布版)
安裝套件前,請確認您已設定 VM,以便從 Artifact Registry 存放區安裝套件。
如要安裝套件,請執行下列指令:
sudo yum --enablerepo=REPOSITORY install PACKAGE
替換下列值:
PACKAGE
是套件名稱REPOSITORY
是.repo
檔案中設定的存放區名稱。
舉例來說,如要從存放區 my-repo
安裝套件 my-package
,請執行下列指令:
sudo yum --enablerepo=my-repo install my-package
刪除套件
存放區模式:標準
刪除套件或套件版本前,請確認您已通報或解決其中的任何重要依附元件。
如要刪除套件,請按照下列步驟操作:
主控台
在 Google Cloud 控制台中開啟「Repositories」頁面。
在存放區清單中,按一下適當的存放區。
「Packages」頁面會列出存放區中的套件。
選取要刪除的套件。
按一下 [刪除]。
在確認對話方塊中,按一下「刪除」。
gcloud
執行下列指令:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
更改下列內容:
PACKAGE
是存放區中的套件名稱。REPOSITORY
是存放區的名稱。如果您已設定預設存放區,可以略過此標記,以便使用預設值。-
LOCATION
是存放區的地區或多地區位置。 使用這個旗標可查看特定位置的存放區。如果您已設定預設位置,則可以省略此標記,以便使用預設值。
--async
標記會讓指令立即傳回,而不會等待進行中的作業完成。
如要刪除套件版本,請按照下列步驟操作:
主控台
在 Google Cloud 控制台中開啟「Repositories」頁面。
在存放區清單中,按一下適當的存放區。
「Packages」頁面會列出存放區中的套件。
按一下套件即可查看該套件的版本。
選取要刪除的版本。
按一下 [刪除]。
在確認對話方塊中,按一下「刪除」。
gcloud
執行下列指令:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
更改下列內容:
VERSION
是您要刪除的版本名稱。PACKAGE
是存放區中的套件名稱。REPOSITORY
是存放區的名稱。如果您已設定預設存放區,可以略過此標記,以便使用預設值。-
LOCATION
是存放區的地區或多地區位置。 使用這個旗標可查看特定位置的存放區。如果您已設定預設位置,則可以省略此標記,以便使用預設值。
--async
標記會讓指令立即傳回,而不會等待進行中的作業完成。
如果是大型存放區,系統可能需要幾分鐘的時間才能重新產生 Yum 套件索引,以反映刪除作業。