שאלה אילו פתרונות קיימים כדי לאפשר שימוש בבקרת שינויים עבור קבצי תצורת שרת? [סגור]


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

אני מעוניין בעיקר פתרונות יוניקס / לינוקס, אבל יהיה סקרן ליישומים של Windows גם כן.


85
2018-05-06 17:46




נראה לשכפל או להיות מאוד קשור לשאלה זו serverfault.com/questions/3852/... - Zoredache


תשובות:


בדקתי את זה בבית (~ 3 המארחים) במשך זמן מה עכשיו, מנסה שונה scms (RCS, חתרנות, git). ההתקנה שעובדת בצורה מושלמת בשבילי כרגע היא git עם ה setgitperms וו.

דברים שעליך לשקול:

טיפול בהרשאות קבצים ובעלות

  • RCS: האם זה מקורי
  • חתרנות: לאחרונה ניסיתי, אתה צריך עטיפה מסביב svn כדי לעשות זאת
  • git: setgitperms וו מטפל בזה בשקיפות (צריך די הגירסה האחרונה של git עם תמיכה post-checkout ווים, אם כי)

כמו כן, אם אתה לא רוצה את כל שלך /etc תחת בקרת גרסה, אבל רק את הקבצים שאתה ממש שונה (כמוני), תצטרך scm זה תומך בסוג זה של שימוש.

  • RCS: עובד רק על קבצים בודדים בכל מקרה.
  • חתרנות: מצאתי את זה להיות מסובך.
  • git: אין probem, לשים "*"ברמה העליונה .gitignore קובץ ולהוסיף רק אלה קבצים אתה רוצה להשתמש git add --force

לבסוף, יש כמה ספריות בעייתיות תחת /etc שבו חבילות יכול לרדת config קטעי אשר קראו אז על ידי תוכנית או daemon (/etc/cron.d, /etc/modprobe.d, וכו.). חלק מהתוכניות הללו מספיק חכמות להתעלם קובצי RCS (לדוגמה, cron), חלקם אינם (לדוגמה, modprobe). אותו הדבר עם .svn ספריות. שוב פלוס גדול עבור git (רק יוצר אחד ברמה העליונה .git ספרייה).


52
2018-05-06 18:23



חתרנות צריכה asvn svn.collab.net/repos/svn/trunk/contrib/client-side/asvn. ארכיון SVN (asvn) יאפשר הקלטה של ​​סוגי קבצים לא מטופלים בדרך כלל על ידי svn. בשלב זה נכללים מכשירים, קישורי סימבולינג ובעלות / הרשאות של קבצים. - Cristian Ciupitu
האם יש לך לכתוב בכל מקום מראה כיצד להגדיר את הווים השתמשת, ect.? - GruffTech
כתבה קצרה כאן: jottit.com/jg8h7 - 8jean
הנה הודעה על הגדרת משהו כמו זה ב Arch Arch Linux, צריך להחיל באותה מידה גם כאן. zduck.com/2012/storing-your-raspberry-pi-config-in-git - silent__thought


עשיתי את זה באופן לא רשמי עם git, אבל יש גם את etckeeper פרויקט שהוא יישום יותר מפורט ומפורט.


28
2018-05-06 17:47



etckeeper הוא ממש טוב - הוא מטפל בהרשאות שחזור (לא נתמך על ידי git, hg, וכו ') ותומך backend שלך הבחירה (כולל git, hg, בזאר, וכו'). כמו כן יש אינטגרציה לתוך APT, כך שבכל פעם שאתה עושה apt-get מבצע, המאגר / etc מחויבת, ועושה לילה ביצוע. השתמשתי בזה במשך זמן מה הכולל הוא הרבה יותר טוב מאשר להשתמש VCS וניל, אם רק עבור התכונה הרשאות. - RichVel


אפשרות נוספת היא להשתמש בכלי תצורת שרת אוטומטי כמו בובה או Cfengine כדי סקריפט תצורות השרת שלך בשפה הצהרתית.

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


23
2018-05-06 18:03



כן, אבל אתה צריך גם גרסה שליטה שולטת בובות שלך / cfengine. אני גם מעריץ של שינוי גרסאות הפלט, כך שתוכל לענות על השאלה "מה היה את התצורה על תאריך x? "כמו גם" מה צריך את התצורה כבר על פי בובה? ", ו לתאם תשומות עם פלטי לפתרון בעיות במערכת ניהול תצורה. - Rob Chanter


אני כבר ניסויים etckeeper אשר נראה לעבוד די טוב. אני לא דורש שרת מרכזי, אשר עשוי להיות חשוב במצבים מסוימים. אתה יכול להשתמש backcs שונים שונים backends, כך שאתה יכול לבחור את אחד אתה הכי מוכר. זה נראה עובד טוב מאוד בשבילי, אבל לא ניסיתי לקבל את שאר techs איפה אני עובד כדי להתחיל להשתמש בו עדיין.


10
2018-05-06 18:10





אני כבר מסתכל שף לאחרונה. לא רק שזה שומר טמפלטי (.) configs בשליטה בגרסה, אבל מאפשר לך לבצע פעולות (כמו מפעיל מחדש שירות לאחר שהעלית את התצורה לצומת). השף עוזר עם ניהול החבילה, כך שתוכל לאמת תלות עם כל הצומת ממשק עם (כלומר יש חבילת sudo מותקן). השף נראה להרחבה בקלות רובי, אז אם יש לך תהליכים מותאמים אישית אתה יכול פשוט סקריפט זה במסגרת המסופק.

אבל עדיין לא ניסיתי את זה ואתה צריך להתקין רובי על הלקוח לשרת עם אבני חן המתאים (זה באמת לא כל כך קשה). בסך הכל נראה ממש קל לנהל שרתים רבים בבת אחת.


6
2018-05-27 20:49



אנו משתמשים השף בכבדות (60 + שרתים) בהצלחה בהצלחה. כל המתכונים וקובצי ההגדרות נבדקים לתוך Subversion. - organicveggie


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

אני מעדיף Mercurial שכן זה רק אוסף של קבצים עם כמה metadata מאוחסן בספריות נסתרות (קל לניהול, קל להבין, קל לשימוש).

קבצי הבובות שלי נמצאים ב- / usr / local / etc / puppet / (FreeBSD 7.1). כל מה שנדרש כדי להוסיף Mercurial אליו:

> cd /usr/local/etc/puppet
> hg init

כל השינויים מחויבים עם פשוט "HG להתחייב". אם שינוי כלשהו מציב משהו, אני יכול לחזור כל שרת יחיד לגירסה נתונה של הקובץ (למשל, sudoers) עם פקודה אחת.

מבוא נהדר Mercurial


3
2018-05-06 19:59





אני משתמש ב- Subversion בשרתים שאני מנהל. עובד בסדר. יש לי גם להגדיר Trac למשל, כך יש לנו להציג ציר זמן, מערכת הכרטוס, גלישה, וכו '

שימוש ב- symlinks, cron ו- subversion, אני גם מגדיר את תצורת התצורה האוטומטית בהתבסס על מאגר החתרנות, שבו כל שרת לינוקס מעדכן מאגר באמצעות svn update עם סקריפטים (למשל סקריפטים של חומת אש).


3
2018-05-07 16:19





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

הרעיון הוא שאתה יכול להיות אחד מאגר כי אתה יכול Checkout תיקיות ספציפיות על השרתים (למשל / var / שם /) אז יש לי גם היסטוריה גיבוי של קבצי תצורה (הגיבוי הוא בונוס אם אתה עושה את הטעות של שימוש ביישום תצורת GUI שמנגב את התוספות שלך בעריכה שיעול מנהל שרת ב - Mac OS X שרת שיעול). אז זה קל לבדוק את זה בשרת הבדיקה ולאחר מכן לעדכן את שרת הייצור עם קבצים שפועלים ללא העתקה ידנית של קבצים.


2
2018-05-06 19:11





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

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


1
2018-05-12 07:13





חתרנות היא קלה מאוד להתקנה ושימוש ויש הרבה משאבים:

בסיסי כיצד לבצע

ספר SVN

סקירה כללית על ניהול מסמכים


0
2018-05-06 17:58



אני מסכים, אם אתה משתמש ב- Windows Windows Checkout Checkout, פשוט מאוד שלה לשימוש. - Element