מדריך מעשי / תמונת מערכת ותאימות

בחירת גרסת Ubuntu ובדיקת המערכת שהותקנה

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

· עודכן ב- · כ-4 דקות קריאה

במדריך הזה

אוספים דרישות לפני ההזמנה

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

Ubuntu 24.04 הושקה עם Python 3.12 כברירת מחדל, PHP 8.3 ו-PostgreSQL 16. גרסאות תיקון משתנות בעדכונים. יישום שנבנה לגרסה ראשית ישנה יותר אינו בהכרח תואם. בדקו את חלון התחזוקה של LTS ואת התמונה והאזור אצל הספק.

מזהים את המערכת שהתקבלה

הריצו בשרת את בדיקות הקריאה ושמרו את התוצאה לפני התקנה נוספת:

cat /etc/os-release
uname -r
dpkg --print-architecture
uname -m

VERSION_ID בקובץ /etc/os-release מציין את גרסת Ubuntu. הפקודה uname -r מציגה את הקרנל הפעיל, שאינו מזהה לבדו את גרסת ההפצה או מצב התמיכה. amd64 ב-dpkg תואם ל-x86_64 ב-uname; arm64 תואם ל-aarch64.

אין לצפות שקובץ בינארי ל-amd64 בלבד ירוץ ישירות ב-arm64. חפשו גרסה נתמכת או בחנו במפורש פתרון חלופי לפני מעבר.

מוודאים שההקמה הסתיימה

cloud-init עשוי ליצור משתמשים, מפתחות ורשת באתחול הראשון. תחילה בדקו אם הוא מותקן:

if command -v cloud-init >/dev/null 2>&1; then
    cloud-init status --long
else
    printf '%s\n' 'cloud-init is not installed; check the provider provisioning method.'
fi

אם הכלי חסר, הדוגמה מדפיסה הודעה באנגלית. החוסר אינו בהכרח תקלה; בדקו כיצד הספק מקים את התמונה. כאשר המצב running, המתינו. מצב error או degraded דורש בירור גם אם SSH פועל.

sudo tail -n 50 /var/log/cloud-init.log
sudo tail -n 50 /var/log/cloud-init-output.log

יומני הקמה עלולים להכיל מידע רגיש. הסירו אותו לפני שיתוף. אל תריצו cloud-init clean ואל תחליפו קובצי רשת רק כדי להעלים הודעת שגיאה. סיום ההקמה אינו בדיקה של היישום או הגיבוי.

בודקים חבילות לפני התקנה

הפקודות הבאות מעדכנות את רשימת החבילות ומציגות מועמדות להתקנה. הן אינן מתקינות את סביבות הריצה:

sudo apt update
apt-cache policy python3 php postgresql
apt-cache policy python3.12 php8.3 postgresql-16

Candidate היא הגרסה שהמאגרים מציעים. Installed: (none) פירושו שהחבילה הזאת אינה מותקנת. אלה אינם בהכרח הגרסה של התהליך הפעיל או הקובץ הבינארי שבו היישום משתמש. בדקו גם את מקור החבילה, הנתיב ופקודת הגרסה של השירות עצמו. לקוח מסד ושרת מסד אינם אותו רכיב.

מכריעים לפי אי-התאמה אמיתית

דוגמה: יישום דורש Python 3.10 והרחבה ל-amd64, אך התמונה מספקת Python 3.12 על arm64. אלה שתי בעיות נפרדות. סביבה וירטואלית אינה משנה ארכיטקטורה ואינה מתקינה כשלעצמה מפרש בגרסה אחרת.

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

כוללים קונטיינרים ותמיכה בתוכנית

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

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

מפרידים עדכונים רגילים משדרוג הפצה

לאחר עדכון רשימת החבילות ניתן לבדוק עדכונים ממתינים, שירותים שנכשלו וסמן להפעלה מחדש:

apt list --upgradable
systemctl --failed
if [ -f /var/run/reboot-required ]; then cat /var/run/reboot-required; fi

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

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

משאירים החלטה שניתן לשחזר

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

כשהסביבה ברורה, עברו לאתר HTTPS ראשון או לניסוי Oracle בהתאם לצורך.

שאלות ותשובות

האם תמיד לבחור את גרסת LTS החדשה ביותר?

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

אפשר להחליף תמונה בלי לאבד נתונים?

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

למה apt והיישום מציגים גרסאות שונות?

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

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

השלב הבא