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

בדף הזה מוסבר איך להוסיף, לראות ולמחוק חבילות Debian במאגרי Apt.

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

  1. אם מאגר ה-Apt של היעד לא קיים, יוצרים מאגר חדש.
  2. מגדירים את המכונות הווירטואליות כדי לגשת למאגר.
  3. (אופציונלי) הגדרת ברירות מחדל לפקודות gcloud.
  4. מוודאים ששמות החבילות במטא-נתונים עומדים בתקנים של שמות חבילות Debian.

הוספת חבילות

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

כדי להוסיף חבילות, צריכות להיות לכם הרשאות קריאה וכתיבה למאגר.

אתם יכולים להעלות חבילה למאגר באמצעות Google Cloud CLI, או לייבא חבילה שמאוחסנת ב-Cloud Storage. אם אתם יוצרים חבילות באמצעות Cloud Build, התהליך יכול לאחסן את החבילות ב-Cloud Storage כדי שתוכלו לייבא אותן.

יכול להיות שפעולות ייבוא או העלאה ארוכות מאוד יחרגו מתקופת התפוגה של האסימון שמשמש את ה-CLI של gcloud לקריאה ל-API. אם יש לכם מספר גדול מאוד של חבילות להוסיף, כדאי להוסיף אותן בקבוצות קטנות יותר כדי שכל פעולת העלאה או ייבוא תוכל להסתיים בזמן קצר יותר. מידע נוסף זמין במאמר פתרון בעיות בחבילות של מערכת ההפעלה.

העלאה ישירה

משתמשים בפקודה gcloud artifacts apt upload כדי להעלות חבילה למאגר Apt:

gcloud artifacts apt upload REPOSITORY \
    --location=LOCATION \
    --source=PACKAGES

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

  • REPOSITORY הוא שם המאגר ב-Artifact Registry.
  • ‫ ‫LOCATION הוא המיקום האזורי של המאגר.
  • PACKAGES הוא הנתיב לחבילה.

לדוגמה, כדי להעלות את החבילה my-package.deb למאגר Apt my-repo במיקום u-france-east1, מריצים את הפקודה:

gcloud artifacts apt upload my-repo \
    --location=u-france-east1 \
    --source=my-package.deb

Cloud Storage

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

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

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

    לדוגמה, כדי להעלות את החבילה package.deb ואת כל החבילות בספרייה directory מהקטגוריה my-bucket למאגר Apt my-repo במיקום u-france-east1, מריצים את הפקודה:

    gcloud artifacts apt import my-repo \
      --location=u-france-east1 \
      --gcs-source=gs://my-bucket/path/to/package.deb,gs://my-bucket/directory*
    

אחרי שההעלאה או הייבוא מסתיימים, אפשר להשתמש במסוףCloud de Confiance או ב-CLI של gcloud כדי לראות את החבילות במאגר ולוודא שהן הועלו בהצלחה.

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

צפייה בחבילות

Repository modes: standard

כדי להציג חבילות, צריכות להיות לכם ההרשאות שכלולות בתפקיד הקורא ב-Artifact Registry. ‫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 הוא המיקום האזורי של המאגר. אפשר להשתמש בדגל הזה כדי להציג מאגרי מידע במיקום ספציפי. אם הגדרתם מיקום ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל.

התקנת חבילות

Repository modes: standard

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

כדי להתקין חבילה במאגר:

  1. מעדכנים את הרשימה של החבילות הזמינות:

    sudo apt update
    
  2. מתקינים את החבילה ומציינים את שם המאגר שהוגדר ב-Apt.

    sudo apt install PACKAGE/REPOSITORY
    

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

    • PACKAGE הוא שם החבילה.
    • REPOSITORY הוא השם של מאגר Artifact Registry.

    לדוגמה, כדי להתקין את החבילה my-package מהמאגר my-repo, מריצים את הפקודה:

    sudo apt install my-package -t my-repo
    

מחיקת חבילות

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

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

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

המסוף

  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 גורם לפקודה לחזור באופן מיידי, בלי להמתין שהפעולה תסתיים.

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

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