לדלג לתוכן

קבצי תצורה מרכזיים בלינוקס מוסברים

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

fstab/etc/ - אילו מחיצות עולות אוטומטית

כשדיברנו על חלוקת דיסקים למחיצות, הזכרנו שכל מחיצה צריכה "להתחבר" - mount - לנקודה מסוימת בעץ הקבצים. הקובץ fstab/etc/- הוא הרשימה שאומרת למערכת אילו מחיצות להתחבר אוטומטית בכל אתחול, ולאן בדיוק.

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

hosts/etc/ - טבלת שמות מקומית

לפני שהמערכת פונה לשרת DNS כדי לתרגם שם דומיין לכתובת IP, היא בודקת קודם את הקובץ hosts/etc/-. כל שורה בקובץ הזה מגדירה זיווג ידני בין כתובת IP לשם - למשל שהשם myserver- מצביע תמיד על 127.0.0.1.

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

crontab - משימות שרצות בזמנים קבועים

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

crontab -e

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

0 0 * * * /home/amit/backup.sh

crontab- ברמת המערכת, שרלוונטי לכל המשתמשים, יושב בנפרד תחת crontab/etc/- או תיקיות ייעודיות כמו cron.d/etc/-, ומשמש בעיקר משימות תחזוקה שאחראית עליהן המערכת עצמה, לא משתמש בודד. חשוב לזכור שcron- מריץ משימות לפי הזמן שהמערכת מגדירה, כך שאם אזור הזמן של השרת לא מוגדר נכון, המשימות ירוצו בשעה אחרת ממה שציפיתם.

למה כדאי לגבות לפני עריכה

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

sudo cp /etc/fstab /etc/fstab.bak

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

לסיכום

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

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

יש לכם שאלה על קבצי תצורה או משימות מתוזמנות בלינוקס? בואו לדבר בדיסקורד.

הצטרפו לקהילה בדיסקורד