debconf

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

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

debconf נכתבה במקור על ידי ג'וי האס, ופותחה בהמשך על ידו יחד עם קולין ווטסון, גרסתה היציבה האחרונה היא 1.5.49‏[1], והיא מופצת תחת רישיון רישיון BSD[2]

התכנון של debconf מאפשר למשתמש לקבוע את ההגדרות באופן מודולרי, וכן קיימות גרסאות נפרדות לתוכנה Dialog, ל-GNU Readline, לשימוש באמצעות עורך טקסט, ל-GNOME[3], ל-KDE וכן ממשק תכנות יישומים לפייתון, ועוד.

הכתיבה המקורית של debconf הייתה בשפת Perl. במהלך הפיתוח של תוכנת ההתקנה של דביאן‏[4], נכתבה התכנה שוב בשפת C והיא נקראה בהתאם cdebconf. התכנה החדשה כיום בשימוש רק בהתקנה, אך היא עתידה להחליף את התכנה המקורית בשלמות בהמשך. שני התכנות משתמשות באותו פרוטוקול תקשורת בין הקצה של debconf, לבין קוד הלקוח[5]. מדובר בפרוטוקול פשוט, הדומה לפרוטוקולי רשת שונים.

פעולה[עריכת קוד מקור | עריכה]

בעת שחבילה מותקנת, debconf מאפשרת למשתמש לבחור באפשרויות הקובעות הגדרות במערכת, ונוגעות לצורכי החבילה המותקנת. לאחר התקנת התכנה ניתן לשנות בחזרה את ההגדרות שנקבעו לחבילה, על ידי התוכנה dpkg-reconfigure או על ידי תוכנה אחרת כמו מנהל החבילות של Synaptic.

בפועל debconf אינה מבצעת עצמאית שינויים במערכת, אלא שואלת את המשתמש באשר לביצוע שינויים, בהתאם לקבצים בעלי התבנית "filename."‏[6] שאת מיקומם וסדר הפעלתם הוא מקבל מסקריפטים שכתב מפתח התכנה המותקנת. בדרך-כלל "config." הוא הקובץ האחראי ל"שאלת" המשתמש באשר לאפשרויות הבחירה, והקובץ "postinst." אחראי להחיל את השינויים על החבילה המותקנת, בתגובה לבחירות המשתמש. דבר זה יכול לפעמים להשתנות, בשל דרישות טכניות שונות. תשובות המשתמשים מאוחסנות כזיכרון מטמון במסד הנתונים של debconf.

קישורים חיצוניים[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ יצאה ב-26 בדצמבר 2012
  2. ^ הרישיון המדויק הוא BSD-2-clause
  3. ^ The GNOME Journal: Simplified Package Management in Ubuntu Hoary
  4. ^ נקראת Debian-Installer
  5. ^ "confmodule"
  6. ^ קבצים ששמם מתחיל בנקודה כגון "config.",‏"postins." וכדומה