ניהול חבילות RPM

בדף הזה מתואר איך להוסיף, להציג ולמחוק חבילות RPM במאגרי Yum. מאגרי Yum ב-Artifact Registry תומכים ב-Yum וב-DNF.

לפני שמתחילים

  1. אם מאגר ה-Yum של היעד לא קיים, יוצרים מאגר חדש.
  2. מגדירים את המכונות הווירטואליות כדי לגשת למאגר.
  3. (אופציונלי) הגדרת ברירות מחדל לפקודות gcloud.
  4. חשוב לוודא ששמות החבילות במטא-נתונים עומדים בדרישות של ההנחיות למתן שמות לחבילות ב-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

  1. העלאה של חבילות ישירות לקטגוריה של Cloud Storage.
  2. מריצים את הפקודה הבאה:
    gcloud artifacts yum import REPOSITORY \
      --location=LOCATION \
      --gcs-source=PACKAGES
    

    מחליפים את הערכים הבאים:

    • ‫REPOSITORY הוא שם המאגר ב-Artifact Registry.
    • ‫ ‫LOCATION הוא המיקום האזורי של המאגר.
    • ‫PACKAGES היא רשימה של חבילות שמופרדות בפסיקים ב-Cloud Storage. כדי להעלות את כל החבילות מספרייה, משתמשים בתו כללי לחיפוש בספרייה (*) או בתו כללי לחיפוש בספרייה באופן רקורסיבי (**) כדי להעלות את כל החבילות בכל ספריות המשנה.

    לדוגמה, הפקודה הבאה מעלה את החבילה package.rpm ואת כל החבילות בספרייה directory מהקטגוריה my-bucket למאגר Yum‏ my-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:

המסוף

  1. פותחים את הדף Repositories במסוף Cloud de Confiance .

    פתיחת הדף Repositories

  2. ברשימת המאגרים, לוחצים על המאגר המתאים.

    בדף Packages (חבילות) מופיעה רשימת החבילות במאגר.

  3. לוחצים על חבילה כדי לראות את הגרסאות שלה.

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

מחיקת חבילות

מצבי מאגר: רגיל

לפני שמוחקים חבילה או גרסת חבילה, חשוב לוודא שטיפלתם בכל התלות החשובה בה.

כדי למחוק חבילה:

המסוף

  1. פותחים את הדף Repositories במסוף Cloud de Confiance .

    פתיחת הדף Repositories

  2. ברשימת המאגרים, לוחצים על המאגר המתאים.

    בדף Packages (חבילות) מופיעה רשימת החבילות במאגר.

  3. בוחרים את החבילה שרוצים למחוק.

  4. לוחצים על מחיקה.

  5. בתיבת הדו-שיח לאישור, לוחצים על מחיקה.

gcloud

מריצים את הפקודה הבאה:

gcloud artifacts packages delete PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] [--async]

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PACKAGE הוא שם החבילה במאגר.
  • ‫REPOSITORY הוא שם המאגר. אם הגדרתם מאגר ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל.
  • ‫ ‫LOCATION הוא המיקום האזורי של המאגר. אפשר להשתמש בדגל הזה כדי להציג מאגרי מידע במיקום ספציפי. אם הגדרתם מיקום ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל.

הדגל --async גורם לפקודה לחזור באופן מיידי, בלי להמתין שהפעולה תסתיים.

כדי למחוק גרסאות של חבילה:

המסוף

  1. פותחים את הדף Repositories במסוף Cloud de Confiance .

    פתיחת הדף Repositories

  2. ברשימת המאגרים, לוחצים על המאגר המתאים.

    בדף Packages (חבילות) מופיעה רשימת החבילות במאגר.

  3. לוחצים על חבילה כדי לראות את הגרסאות שלה.

  4. בוחרים את הגרסאות שרוצים למחוק.

  5. לוחצים על מחיקה.

  6. בתיבת הדו-שיח לאישור, לוחצים על מחיקה.

gcloud

מריצים את הפקודה הבאה:

gcloud artifacts versions delete VERSION \
    --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] \
    [--async]

מחליפים את מה שכתוב בשדות הבאים:

  • ‫VERSION הוא שם הגרסה שרוצים למחוק.
  • ‫PACKAGE הוא שם החבילה במאגר.
  • ‫REPOSITORY הוא שם המאגר. אם הגדרתם מאגר ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל.
  • ‫ ‫LOCATION הוא המיקום האזורי של המאגר. אפשר להשתמש בדגל הזה כדי להציג מאגרי מידע במיקום ספציפי. אם הגדרתם מיקום ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל.

הדגל --async גורם לפקודה לחזור באופן מיידי, בלי להמתין שהפעולה תסתיים.

אם המאגר גדול, יכול להיות שיעברו כמה דקות עד שמדד חבילות ה-Yum ייווצר מחדש ויוצגו בו המחיקות.

המאמרים הבאים