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

ניהול חבילות באמצעות Yum
כדי להתקין חבילה יחד עם כל ההסמכות שאינן כבר מותקנות, תשתמש:
# yum -y install package_name(s)
איפה שם_חבילה(ים) מייצג לפחות שם חבילה אמיתי אחד.
לדוגמא, כדי להתקין httpd ו-mlocate (בסדר זה), הקלד.
# yum -y install httpd mlocate
הערה: האות y בדוגמא לעיל מדלגת על ההנחיות לאישור שyum מציג לפני שמבצע את ההורדה וההתקנה האמיתית של התוכנות המבוקשות. אפשר להשאיר את זה.
כברירת מחדל, yum יתקין את החבילה עם הארכיטקטורה שתואמת לארכיטקטורת המערכת, אלא אם כן מתעלמים מכך על ידי הוספת ארכיטקטורת החבילה לשמה.
לדוגמא, במערכת 64 סיביות, yum install package יתקין את הגרסה x86_64 של החבילה, ואילו yum install package.x86 (אם זה זמין) יתקין את הגרסה 32-bit שלה.
יתכן שיהיו רגעים שבהם תרצה להתקין חבילה אך לא תכיר את שמה המדויק. אפשרויות search all או search יכולות לחפש במאגרים המאופשרים כעת עבור מילת מפתח מסוימת בשם החבילה ו/או בתיאור שלה בהתאמה.
לדוגמה,
# yum search log
תחפש במאגרים המותקנים עבור חבילות עם המילה "log" בשמם ובתקצירים שלהן, בעוד
# yum search all log
תחפש את אותה מילת מפתח בתיאור החבילה ובשדות url גם.
כאשר החיפוש מחזיר רשימת חבילות, ייתכן שתרצה להציג מידע נוסף על חלקן לפני התקנה. זהו הזמן שבו האפשרות info תהיה שימושית:
# yum info logwatch

ניתן לבדוק באופן קבוע לעדכונים עם הפקודה הבאה:
# yum check-update
הפקודה לעיל תחזיר את כל החבילות המותקנות אשר קיימת עבורן עדכון זמין. בדוגמה המוצגת בתמונה למטה, רק rhel-7-server-rpms יש עבורה עדכון זמין:

אז ניתן לעדכן את החבילה בודדת זו בלבד עם,
# yum update rhel-7-server-rpms
אם ישנן מספר חבילות שניתן לעדכן, yum update יעדכן את כולן בו זמנית.
כעת מה קורה כאשר אתה מכיר את שם התכנית הניתנת להפעלה, כמו ps2pdf, אך לא יודע איזה חבילה מספקת אותה? ניתן לגלות זאת עם yum whatprovides “*/[executable]”
:
# yum whatprovides “*/ps2pdf”

עכשיו, בנושא הסרת חבילה, ניתן לעשות זאת עם yum remove package. קל, לא? זה מראה כי yum הוא מנהל חבילות שלם ועוצמתי.
# yum remove httpd
קרא גם: 20 פקודות Yum לניהול ניהול חבילות RHEL 7
טובה וישנה RPM פשוטה
RPM (ידועה גם כ-מנהל חבילות RPM, או מקורית כ-מנהל חבילות RedHat) ניתן גם להשתמש בה כדי להתקין או לעדכן חבילות כאשר הן מגיעות בצורת חבילות .rpm
עצמאיות.
לרוב משתמשים בקובץ הפלט המפורט -Uvh
כדי לציין שיש להתקין את החבילה אם היא עדיין לא קיימת או לנסות לעדכנה אם היא כבר מותקנת (-U)
, וליצור פלט מפורט (-v)
וסרגל התקדמות עם סימני גבעול (-h)
במהלך הפעולה. לדוגמה,
# rpm -Uvh package.rpm
שימוש טיפולי נוסף ב־rpm הוא ליצור רשימה של חבילות המותקנות כעת עם הקוד>rpm -qa (קיצור לשאילתא כולה):
# rpm -qa

קרא גם: 20 פקודות RPM להתקנת חבילות ב־RHEL 7
קידום משימות באמצעות Cron
לינוקס ומערכות ההפעלה שונות בדומה ל־Unix כוללות כלי בשם cron המאפשר לך לתזמן משימות (כלומר פקודות או סקריפטים של של פקודות) לרוץ באופן תדיר. Cron בודק כל דקה את התיקייה /var/spool/cron לקבצים שמכילים את שמות החשבונות ב־/etc/passwd.
בעת ביצוע פקודות, כל הפלט נשלח לבעלים של קובץ ה-crontab (או למשתמש שצוין במשתנה הסביבה MAILTO בקובץ /etc/crontab, אם הוא קיים).
קבצי ה-crontab (שנוצרים על ידי הקלדת crontab -e והקשת Enter) יש להם את הפורמט הבא:

לכן, אם נרצה לעדכן את מסד הנתונים המקומי (שמשמש על ידי locate למציאת קבצים לפי שם או תבנית) בכל שנייה יום שני של החודש ב-2:15 בבוקר, עלינו להוסיף את הקלט הבא ל-crontab:
15 02 2 * * /bin/updatedb
הקלט ב-crontab מעלה קורא, "הרץ את /bin/updatedb ביום השני של החודש, בכל חודש בשנה, ללא קשר ליום בשבוע, ב-2:15 בבוקר". כפי שאתה כבר דיברת, הסמל המופיע כוכב משמש כתו כללי.
לאחר הוספת משימת cron, תראה כי קובץ בשם root נוסף בתוך /var/spool/cron, כפי שציינו מראש. קובץ זה מפרט את כל המשימות שהדמון crond צריך להריץ:
# ls -l /var/spool/cron

בתמונה מעלה, crontab של המשתמש הנוכחי ניתן להציג באמצעות cat /var/spool/cron/root או,
# crontab -l
אם נצטרך להריץ משימה בצורה יותר דקה (לדוגמה, פעמיים ביום או שלוש פעמים בכל חודש), גם crontab יכול לעזור לך לעשות זאת.
לדוגמה, כדי להריץ /my/script בראשון וב-15 של כל חודש ולשלוח כל פלט ל-/dev/null, תוכל להוסיף שני קלטי crontab כך:
01 00 1 * * /myscript > /dev/null 2>&1 01 00 15 * * /my/script > /dev/null 2>&1
אך כדי שהמשימה תהיה קלה יותר לתחזוקה, ניתן לשלב את שתי הכניסות לכניסה אחת:
01 00 1,15 * * /my/script > /dev/null 2>&1
לפי הדוגמה הקודמת, ניתן להפעיל /my/other/script בשעה 1:30 בבוקר ביום הראשון של החודש כל שלושה חודשים:
30 01 1 1,4,7,10 * /my/other/script > /dev/null 2>&1
אך כאשר עליך לחזור על משימה מסוימת כל "x" דקות, שעות, ימים או חודשים, ניתן לחלק את המיקום הימני בתדירות הרצויה. הכניסה crontab הבאה מכילה את אותו המשמעות כמו הקודמת:
30 01 1 */3 * /my/other/script > /dev/null 2>&1
אולי עליך להפעיל משימה מסוימת בתדירות קבועה או לאחר הפעלת המערכת, לדוגמה. ניתן להשתמש באחד מהמחרוזות הבאות במקום השדות החמישה כדי לציין את הזמן המדויק שבו ברצונך שהמשימה תופעל:
@reboot Run when the system boots. @yearly Run once a year, same as 00 00 1 1 *. @monthly Run once a month, same as 00 00 1 * *. @weekly Run once a week, same as 00 00 * * 0. @daily Run once a day, same as 00 00 * * *. @hourly Run once an hour, same as 00 * * * *.
לקריאה נוספת: 11 פקודות לקביעת משימות Cron ב-RHEL 7
איתור ובדיקת לוגים
הלוגים של המערכת ממוקמים (ומסובבים) בתוך התיקייה /var/log. לפי סטנדרט מערכת הקבצים של מערכת הפעלת Linux, תיקייה זו מכילה קבצי לוג משתנים, שנכתבים לתוכה או לתת-תיקיות מתאימות (כמו audit, httpd, או samba בתמונה למטה) על ידי הדמונים המתאימים במהלך הפעולה של המערכת:
# ls /var/log

אחרים קבצי יומנים מעניינים הם dmesg (מכיל את כל ההודעות ממאגר הזיכרון של הקרנל), secure (יומני ניסיונות חיבור שדורשים אימות משתמש), messages (הודעות בכל רוחב המערכת) ו-wtmp (רשומות של כל התחברויות והתנתקויות משתמש).
יומנים הם חשובים מאוד מכיוון שהם מאפשרים לך לקבל הצצה למה קורה בכל עת במערכת שלך, ולמה קרה בעבר. הם מייצגים כלי בלתי יקר לאיתור ומעקב אחר שרת Linux, ולכן הם נהוגים עם הפקודה tail -f command
כדי להציג אירועים, בזמן אמת, כשהם קורים ומתוודדים ביומן.
לדוגמה, אם ברצונך להציג אירועים הקשורים לקרנל, הקלד את הפקודה הבאה:
# tail -f /var/log/dmesg
אותו הדבר אם ברצונך לצפות בגישה לשרת האינטרנט שלך:
# tail -f /var/log/httpd/access.log
סיכום
אם אתה יודע לנהל חבילות ביעילות, לתזמן משימות, ואיפה לחפש מידע על הפעולה הנוכחית והקודמת של המערכת שלך, אתה יכול להיות בטוח שלא תתקל בהפתעות בדרך כלל. אני מקווה שמאמר זה עזר לך ללמוד או לרענן את הידע שלך בנושא כישורים בסיסיים אלה.
אל תהסס לשלוח לנו שורה באמצעות טופס הקשר למטה אם יש לך שאלות או הערות.
Source:
https://www.tecmint.com/yum-package-management-cron-job-scheduling-monitoring-linux-logs/