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