בדף הזה מתואר איך להוסיף, להציג ולמחוק חבילות RPM במאגרי Yum. מאגרי Yum ב-Artifact Registry תומכים ב-Yum וב-DNF.
לפני שמתחילים
- אם מאגר ה-Yum של היעד לא קיים, יוצרים מאגר חדש.
- מגדירים את המכונות הווירטואליות כדי לגשת למאגר.
- (אופציונלי) הגדרת ברירות מחדל לפקודות gcloud.
- חשוב לוודא ששמות החבילות במטא-נתונים עומדים בדרישות של ההנחיות למתן שמות לחבילות ב-Fedora ושל ההנחיות לניהול גרסאות של חבילות ב-Fedora.
הוספת חבילות
מצבי מאגר: רגיל
כדי להוסיף חבילות, צריך הרשאות קריאה וכתיבה למאגר.
אפשר להעלות חבילה למאגר באמצעות Google Cloud CLI, או לייבא חבילה שמאוחסנת ב-Cloud Storage.
יכול להיות שפעולות ייבוא או העלאה ארוכות מאוד יחרגו מתקופת התפוגה של האסימון שמשמש את ה-CLI של gcloud לקריאה ל-API. אם אתם רוצים להוסיף מספר גדול מאוד של חבילות, כדאי להוסיף אותן בקבוצות קטנות יותר כדי שכל פעולת העלאה או ייבוא תושלם בזמן קצר יותר. מידע נוסף זמין במאמר פתרון בעיות בחבילות של מערכת ההפעלה.
העלאה ישירה
משתמשים בפקודה gcloud artifacts yum upload כדי להעלות חבילה למאגר Yum:
gcloud artifacts yum upload REPOSITORY \
--location=LOCATION \
--source=PACKAGES
מחליפים את הערכים הבאים:
-
REPOSITORYהוא שם המאגר ב-Artifact Registry. -
LOCATIONהוא המיקום האזורי של המאגר. -
PACKAGESהוא הנתיב לחבילה.
לדוגמה, כדי להעלות את החבילה my-package.rpm למאגר Yum my-repo במיקום u-france-east1, מריצים את הפקודה:
gcloud artifacts yum upload my-repo \
--location=u-france-east1 \
--source=my-package.rpm
Cloud Storage
- העלאה של חבילות ישירות לקטגוריה של Cloud Storage.
- מריצים את הפקודה הבאה:
gcloud artifacts yum import REPOSITORY \ --location=LOCATION \ --gcs-source=PACKAGES
מחליפים את הערכים הבאים:
-
REPOSITORYהוא שם המאגר ב-Artifact Registry. -
LOCATIONהוא המיקום האזורי של המאגר. -
PACKAGESהיא רשימה של חבילות שמופרדות בפסיקים ב-Cloud Storage. כדי להעלות את כל החבילות מספרייה, משתמשים בתו כללי לחיפוש בספרייה (*) או בתו כללי לחיפוש בספרייה באופן רקורסיבי (**) כדי להעלות את כל החבילות בכל ספריות המשנה.
לדוגמה, הפקודה הבאה מעלה את החבילה
package.rpmואת כל החבילות בספרייהdirectoryמהקטגוריהmy-bucketלמאגר Yummy-repoבמיקוםu-france-east1: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 או ב-CLI של gcloud כדי לראות את החבילות במאגר ולוודא שהן הועלו בהצלחה.
אם יש לכם מאגר גדול עם הרבה חבילות, יכול להיות שיידרשו כמה דקות כדי ליצור מחדש את אינדקס החבילות, כך שהחבילות החדשות יהיו גלויות ללקוח Yum.
צפייה בחבילות
מצבי מאגר: רגיל
כדי לראות חבילות, צריכות להיות לכם ההרשאות שמוגדרות בתפקיד Artifact Registry Reader. ב-Artifact Registry לא מופיעים קבצים בתוך חבילות.
כדי לראות חבילות וגרסאות של חבילות באמצעות Cloud de Confiance המסוף
או gcloud:
המסוף
פותחים את הדף Repositories במסוף Cloud de Confiance .
ברשימת המאגרים, לוחצים על המאגר המתאים.
בדף Packages (חבילות) מופיעה רשימת החבילות במאגר.
לוחצים על חבילה כדי לראות את הגרסאות שלה.
gcloud
כדי להציג את רשימת החבילות במאגר, מריצים את הפקודה הבאה:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
מחליפים את מה שכתוב בשדות הבאים:
-
REPOSITORYהוא שם המאגר. אם הגדרתם מאגר ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל. -
LOCATIONהוא המיקום האזורי של המאגר. אם הגדרתם מיקום ברירת מחדל, תוכלו להשמיט את הדגל הזה כדי להשתמש בברירת המחדל.
כדי לראות את הגרסאות של חבילה, מריצים את הפקודה הבאה:
gcloud artifacts versions list --package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION]
מחליפים את מה שכתוב בשדות הבאים:
-
PACKAGEהוא המזהה של החבילה או המזהה המלא של החבילה. -
REPOSITORYהוא שם המאגר. אם הגדרתם מאגר ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל. -
LOCATIONהוא המיקום האזורי של המאגר. משתמשים בדגל הזה כדי להציג מאגרי מידע במיקום ספציפי. אם הגדרתם מיקום ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל.
התקנת חבילות
מצבי מאגר: רגיל
לפני שמתקינים חבילות, צריך לוודא שהגדרתם את המכונה הווירטואלית להתקנת חבילות ממאגר Artifact Registry.
כדי להתקין חבילה, מריצים את הפקודה הבאה:
sudo yum --enablerepo=REPOSITORY install PACKAGE
מחליפים את הערכים הבאים:
-
PACKAGEהוא שם החבילה -
REPOSITORYהוא שם המאגר שהוגדר בקובץ.repo.
לדוגמה, כדי להתקין את החבילה my-package מהמאגר my-repo, מריצים את הפקודה:
sudo yum --enablerepo=my-repo install my-package
מחיקת חבילות
מצבי מאגר: רגיל
לפני שמוחקים חבילה או גרסת חבילה, חשוב לוודא שטיפלתם בכל התלות החשובה בה.
כדי למחוק חבילה:
המסוף
פותחים את הדף Repositories במסוף Cloud de Confiance .
ברשימת המאגרים, לוחצים על המאגר המתאים.
בדף Packages (חבילות) מופיעה רשימת החבילות במאגר.
בוחרים את החבילה שרוצים למחוק.
לוחצים על מחיקה.
בתיבת הדו-שיח לאישור, לוחצים על מחיקה.
gcloud
מריצים את הפקודה הבאה:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
מחליפים את מה שכתוב בשדות הבאים:
-
PACKAGEהוא שם החבילה במאגר. -
REPOSITORYהוא שם המאגר. אם הגדרתם מאגר ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל. -
LOCATIONהוא המיקום האזורי של המאגר. אפשר להשתמש בדגל הזה כדי להציג מאגרי מידע במיקום ספציפי. אם הגדרתם מיקום ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל.
הדגל --async גורם לפקודה לחזור באופן מיידי, בלי להמתין שהפעולה תסתיים.
כדי למחוק גרסאות של חבילה:
המסוף
פותחים את הדף Repositories במסוף Cloud de Confiance .
ברשימת המאגרים, לוחצים על המאגר המתאים.
בדף Packages (חבילות) מופיעה רשימת החבילות במאגר.
לוחצים על חבילה כדי לראות את הגרסאות שלה.
בוחרים את הגרסאות שרוצים למחוק.
לוחצים על מחיקה.
בתיבת הדו-שיח לאישור, לוחצים על מחיקה.
gcloud
מריצים את הפקודה הבאה:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
מחליפים את מה שכתוב בשדות הבאים:
-
VERSIONהוא שם הגרסה שרוצים למחוק. -
PACKAGEהוא שם החבילה במאגר. -
REPOSITORYהוא שם המאגר. אם הגדרתם מאגר ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל. -
LOCATIONהוא המיקום האזורי של המאגר. אפשר להשתמש בדגל הזה כדי להציג מאגרי מידע במיקום ספציפי. אם הגדרתם מיקום ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל.
הדגל --async גורם לפקודה לחזור באופן מיידי, בלי להמתין שהפעולה תסתיים.
אם המאגר גדול, יכול להיות שיעברו כמה דקות עד שמדד חבילות ה-Yum ייווצר מחדש ויוצגו בו המחיקות.