אחסון חבילות RPM ב-Artifact Registry
במדריך למתחילים הזה מוסבר איך מגדירים מאגר Yum פרטי ב-Artifact Registry, מוסיפים למאגר חבילת RPM ומתקינים את החבילה במכונת VM ב-Compute Engine שמופעלת בה מערכת ההפעלה CentOS 7. במאמר הגדרת מכונות וירטואליות להתקנת חבילות RPM מוסבר איך להגדיר מאגרי Yum שמשתמשים ב-DNF.
מידע נוסף על ניהול חבילות RPM זמין במאמר עבודה עם חבילות RPM.
לפני שמתחילים
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירה ולניהול של מאגרי חבילות Yum ב-Artifact Registry, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Artifact Registry Administrator (אדמין של Artifact Registry) (roles/artifactregistry.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
התקנת ה-CLI של gcloud
מתקינים ומפעילים את Google Cloud CLI אם הוא עדיין לא מותקן. אם כבר התקנתם את Google Cloud CLI, תוכלו לעדכן את הרכיבים שלו באמצעות הפקודה:
gcloud components updateכדי לבדוק את הגרסה של gcloud CLI, מריצים את הפקודה:
gcloud version
יצירת מאגר
יוצרים את המאגר של הארטיפקטים.
יוצרים את המאגר:
המסוף
פותחים את הדף Repositories במסוף Cloud de Confiance .
לוחצים על Create Repository (יצירת מאגר).
מציינים את
quickstart-yum-repoכשם המאגר.בוחרים בפורמט Yum.
בקטע Location Type, בוחרים באפשרות Region ואז בוחרים את המיקום
u-france-east1.לוחצים על יצירה.
המאגר נוסף לרשימת המאגרים.
gcloud
ב-Cloud Shell, מריצים את הפקודה הבאה כדי ליצור מאגר Yum חדש בפרויקט הנוכחי בשם
quickstart-yum-repoבמיקוםu-france-east1.gcloud artifacts repositories create quickstart-yum-repo \ --repository-format=yum \ --location=u-france-east1 \ --description="Yum repository"מריצים את הפקודה הבאה כדי לוודא שהמאגר נוצר:
gcloud artifacts repositories list
עכשיו אפשר להוסיף חבילה למאגר.
הוספת חבילה למאגר
אפשר להעלות חבילה למאגר באמצעות Google Cloud CLI, או לייבא חבילה שמאוחסנת ב-Cloud Storage.במדריך למתחילים הזה, מעלים קובץ לדוגמה באמצעות הפקודה gcloud artifacts yum
upload.
ב-Cloud Shell, מורידים את כלי Nano לעריכת טקסט באמצעות הפקודה:
sudo yum install --downloaddir=. --downloadonly nanoמערכת Yum מורידה את הגרסה האחרונה של החבילה שזמינה ממאגרי CentOS שהגדרתם.
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.dal.nexril.net * epel: ord.mirror.rackspace.com * extras: centos.mirror.lstn.net * updates: ftpmirror.your.org Resolving Dependencies --> Running transaction check ---> Package nano.x86_64 0:2.3.1-10.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: nano x86_64 2.3.1-10.el7 base 440 k Transaction Summary ================================================================================ Install 1 Package Total download size: 440 k Installed size: 1.6 M Background downloading packages, then exiting: nano-2.3.1-10.el7.x86_64.rpm | 440 kB 00:00 exiting because "Download Only" specifiedמריצים את הפקודה
lsכדי לקבל את שם הקובץ של החבילה. שם הקובץ דומה ל-nano-2.3.1-10.el7.x86_64.rpm.כדי לפשט את הפקודות של
gcloud, מגדירים את מאגר ברירת המחדל ל-quickstart-yum-repoואת מיקום ברירת המחדל ל-u-france-east1. אחרי שמגדירים את הערכים, לא צריך לציין אותם בפקודותgcloudשדורשות מאגר או מיקום.כדי להגדיר את המאגר, מריצים את הפקודה:
gcloud config set artifacts/repository quickstart-yum-repoכדי להגדיר את המיקום, מריצים את הפקודה:
gcloud config set artifacts/location u-france-east1מידע נוסף על הפקודות האלה זמין במאמר בנושא gcloud config set.
מריצים את הפקודה
gcloud artifacts yum uploadכדי להעלות את החבילה למאגר:gcloud artifacts yum upload quickstart-yum-repo \ --source=FILE_NAMEמחליפים את הערך ב-
FILE_NAMEבנתיב לחבילת nano.
הצגת החבילה במאגר
מוודאים שהחבילה נוספה למאגר.
המסוף
פותחים את הדף Repositories במסוף Cloud de Confiance .
ברשימת המאגרים, לוחצים על המאגר quickstart-yum-repo.
בדף Packages (חבילות) מופיעה רשימת החבילות במאגר.
gcloud
כדי להציג את רשימת החבילות במאגר quickstart-yum-repo, מריצים את הפקודה:
gcloud artifacts packages list
כדי לראות את הגרסאות של חבילה ב-quickstart-yum-repo, מריצים את הפקודה:
gcloud artifacts versions list --package=nano
יצירת VM
יוצרים מכונה וירטואלית חדשה ב-Compute Engine שבה מתקינים את חבילת הדוגמה.
ב-Cloud Shell, מריצים את הפקודה הבאה כדי ליצור מכונת VM בשם quickstart-yum-vm.
gcloud compute instances create quickstart-yum-vm \
--image-family=centos-7 \
--image-project=centos-cloud \
--scopes=cloud-platform
כברירת מחדל, למכונה הווירטואלית אין את היקפי הגישה שנדרשים כדי לעבוד עם המאגר. הדגל --scopes מגדיר את היקף הגישה של המכונה הווירטואלית לערך cloud-platform.
הגדרת מנהל החבילות
כדי להתקין חבילה במכונה הווירטואלית, מוסיפים את המאגר שיצרתם לקובץ Yum שמגדיר מאגרי חבילות.
נכנסים לדף VM instances.
בשורה של המכונה הווירטואלית, לוחצים על SSH. ייפתח חלון חדש עם סשן טרמינל במכונה הווירטואלית.
עדכון Yum:
sudo yum makecacheכדי לאפשר ל-Yum לבצע אימות, מתקינים את כלי העזר של Yum לפרטי כניסה במכונה הווירטואלית באמצעות הפקודה הבאה:
sudo yum install yum-plugin-artifact-registryמגדירים את המכונה הווירטואלית כך שתהיה לה גישה לחבילות של Artifact Registry} באמצעות הפקודה הבאה:
sudo tee -a /etc/yum.repos.d/artifact-registry.repo << EOF [yum-quickstart] name=My Repository baseurl=https://u-france-east1-yum.s3nsregistry.fr/projects/PROJECT/quickstart-yum-repo enabled=1 repo_gpgcheck=0 gpgcheck=0 EOFמחליפים את PROJECT במזהה הפרויקט. Cloud de Confiance by S3NS
התקנת החבילה
מתקינים את החבילה שהוספתם למאגר.
מעדכנים את הרשימה של החבילות הזמינות:
sudo yum makecacheמתקינים את החבילה במאגר.
sudo yum --enablerepo=yum-quickstart install nanoכשמופיעה בקשה, מזינים
y.פרטי ההתקנה שמוחזרים נראים כמו בדוגמה הבאה:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.cmich.edu * epel: ord.mirror.rackspace.com * extras: mirror.team-cymru.com * updates: mirror.us-midwest-1.nexcess.net quickstart-yum-repo | 1.3 kB 00:00 Resolving Dependencies --> Running transaction check ---> Package nano.x86_64 0:2.3.1-10.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: nano x86_64 2.3.1-10.el7 base 440 k Transaction Summary ================================================================================ Install 1 Package Total size: 440 k Installed size: 1.6 M Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : nano-2.3.1-10.el7.x86_64 1/1 Verifying : nano-2.3.1-10.el7.x86_64 1/1 Installed: nano.x86_64 0:2.3.1-10.el7 Complete!
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Cloud de Confiance על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
לפני שמסירים את המאגר, צריך לוודא שכל החבילות שרוצים לשמור זמינות במיקום אחר.
כדי למחוק את המאגר:
המסוף
פותחים את הדף Repositories במסוף Cloud de Confiance .
ברשימת המאגרים, בוחרים במאגר quickstart-yum-repo.
לוחצים על Delete.
gcloud
כדי למחוק את מאגר
quickstart-yum-repo, מריצים את הפקודה הבאה:gcloud artifacts repositories delete quickstart-yum-repoאם רוצים להסיר את הגדרות ברירת המחדל של המאגר והמיקום שהגדרתם עבור התצורה הפעילה של
gcloud, מריצים את הפקודות הבאות:gcloud config unset artifacts/repository gcloud config unset artifacts/location
כדי למחוק את מכונת ה-VM שיצרתם, מריצים את הפקודה הבאה:
gcloud compute instances delete quickstart-yum-vm
המאמרים הבאים
- מידע נוסף על עבודה עם חבילות RPM
- אפשר לקרוא על DevOps ולעיין בתוכנית המחקר של DevOps.