PracticU

הקמת YUM & DNF Repository

בלי כתוביותעם כתוביות
PracticU › קורס לינוקס למתקדמים - הסמכה בינלאומית - Linux - Red Hat - RHCSA / RHCE › הקמת YUM & DNF Repository
מילון מושגים:
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
CentOS - הפצת Linux ארגונית חינמית שהתבססה על Red Hat Enterprise Linux ושימשה נפוצות בשרתים.
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.
הרשאה - קביעה אילו פעולות ומשאבים מותרים למשתמש או לתהליך לאחר שזהותו אומתה. שולטת במי רשאי לעשות מה.
SELinux - מנגנון אבטחה ב-Linux שאוכף מדיניות בקרת גישה מחמירה על תהליכים וקבצים.
URL - הכתובת שמזהה משאב באינטרנט, למשל דף אתר, וכוללת פרוטוקול, שם מארח ונתיב.
חומת אש - מערכת שמסננת תעבורת רשת לפי כללים, ומתירה או חוסמת חיבורים כדי להגן על מחשב או רשת.
חבילה - אוסף ארוז של קוד, ספריות או קבצים המופץ כיחידה אחת ומותקן בעזרת מנהל חבילות.

הקמת YUM & DNF Repository
הקמת Repository מקומי של YUM/DNF מתוך מדיית ההתקנה, והפיכתו לריפוזיטורי שמוגש משרת HTTP לשרתים אחרים ברשת, כדי להתקין תוכנה בלי גישה לאינטרנט.
השלבים העיקריים
1. הרכבת המדיה: mount /dev/cdrom /mnt (עם -o ro אם יש אזהרת write protected). במדיה נמצאים שני ריפוזיטוריז: AppStream והבייס (BaseOS).
2. ביטול ריפוזיטוריז קיימים: ב-/etc/yum.repos.d משנים enabled מ-1 ל-0 בקבצי centos-base.repo, centos-upstream.repo ו-extras.repo, כדי שהמערכת לא תחפש תוכן באינטרנט.
3. העתקת התוכן: cp -r של AppStream ו-BaseOS מה-mnt לתיקייה ב-/var/www/html (לפי הוראות התרגיל, בתוך content/rel8/x86_64/dvd), ומוודאים בעזרת du -sh ו-watch שההעתקה מתקדמת.
4. הרשאות: בודקים read ו-execute על התיקיות (ls -la), ומריצים restorecon לשחזור הקונטקסט של SELinux.
5. ריפוזיטורי מקומי: מעתיקים את קובץ ה-repo (למשל ל-localbase.repo ול-localappstream.repo), מוחקים את שורת mirrorlist, מפעילים את שורת baseurl עם file:/// לנתיב המקומי, ומגדירים enabled=1. אז dnf install httpd עובד מהתיקייה המקומית.
6. התקנה והפעלה: systemctl enable httpd ו-start, בדיקה עם wget מקומי.
7. הגדרה כריפוזיטורי רשת: יוצרים קובצי repo נוספים (למשל org-base.repo ו-org-appstream.repo) שמפנים ל-URL של שרת ה-HTTP (לא לקובץ מקומי), ומבטלים את קובצי ה-local.
8. Firewall: firewall-cmd --zone=public --add-service=http --permanent כדי לחשוף את השירות דרך ה-firewall.
9. הגדרת שרת שני: מעתיקים (scp) את קבצי ה-repo לשרת השני ל-/etc/yum.repos.d, מבטלים את הריפוזיטוריז המקוריים שלו, ובודקים עם dnf repo list ו-dnf list.
שימו לב
לכל ריפוזיטורי צריך שם שונה מהריפוזיטוריז הקיימים, אחרת dnf repo list מחזיר שגיאת כפילות.
כך ניתן להתקין חבילות (למשל Apache) על שרתים מרובים בלי חיבור לאינטרנט, מתוך ריפוזיטורי פנימי.
השיעור הבא בקורס: התקנת שרת Apache
לחץ כאן להורדת הורדת קבצי Script של לינוקס שהיו בסרטים
מילון מושגים:
דיסק - התקן לאחסון קבוע של נתונים, כמו כונן קשיח (HDD) או כונן מבוסס זיכרון מהיר (SSD).
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
מחיצה - חלוקה לוגית של דיסק פיזי לאזורים נפרדים, שכל אחד מתפקד כאילו הוא כונן עצמאי.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.
דומיין - תחום ניהולי משותף של מחשבים ומשתמשים ברשת ארגונית, המנוהל מרכזית. גם שם ייחודי של אתר באינטרנט.
אימות - תהליך שמוודא שהמשתמש או המערכת הם מי שהם טוענים שהם, בדרך כלל באמצעות סיסמה, קוד או תעודה.
Active Directory - שירות מדריך של מיקרוסופט לניהול מרכזי של משתמשים, מחשבים והרשאות ברשת ארגונית מבוססת דומיין.
GPO - אובייקט מדיניות קבוצתית ב-Active Directory, שמכיל הגדרות ומדיניות המוחלות על משתמשים ומחשבים.


מבנה ושמות דיסקים ומחיצות בלינוקס:


(Sda (disk0): זה הדיסק הפיזי הראשון (SATA DISK)

(Sda1,Sda2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי הראשון.

(Sdb (disk1): זה הדיסק הפיזי השני כמו בוינדוס Disk1

(Sdb1,Sdb2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי השני.

מחיצת השורש הראשונה:

וינדוס: C

לינוקס: /

מחיצות נוספות:

וינדוס: D: / E:

לינוקס: /data /example כמו תיקיות.

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

מטרת צירוף לינוקס לדומיין הינה לאימות משתמשים מתוך Active Directory בלבד ואין GPO  ללינוקס דרך AD.


הוכן ע"י התלמיד המצטיין: אברהים אבו שיכה

פרקי ההרצאה: הקמת YUM & DNF Repository

  1. 00:00

    מטרת הקמת YUM ו-DNF Repository

  2. 01:16

    הרכבת מדיית ההתקנה עם mount

  3. 02:22

    ריפוזיטורי AppStream ו-BaseOS

  4. 02:58

    ביטול הריפוזיטוריס הקיימים

  5. 05:41

    העתקת התוכן לשרת ה-Web

  6. 10:06

    הרשאות קריאה על התיקיות

  7. 11:44

    התקנת httpd מהריפוזיטורי המקומי

תמלול ההרצאה: הקמת YUM & DNF Repository

הטקסט המלא של הדקות הראשונות בהרצאה «הקמת YUM & DNF Repository» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:20

    קודם כל אנחנו נגדיר ריפוזיטורי אשר מצביע על המדיה עצמה וממנה נתקין את שרת ה-HTTP. בשלב השני אנחנו נגדיר את התוכן על גבי שרת ה-HTTP ונקנפג אותו במערכות. אז יש לנו פה סיסטם 1 וסיסטם 2 שהם רצים, כדי לעבוד בצורה נוחה אני אתחבר מתוך ה-SSH, אני רק אבדוק מה ה-IP של המערכת, 172.18.46.148, second SSH,

  3. 00:56

    172.18.46.148 מכניס את הסיסמה והנה אני בתוך המערכת. בתוך ההגדרות של המכונה הווירטואלית הגדרתי כך שה-CD-ROM בעצם יכיל את המדיה של ההתקנה.

  4. 01:16

    מה שאני צריך לעשות עכשיו זה להרכיב את ה-CD-ROM בתוך מערכת ההפעלה בעזרת פעולה שקוראים לה מעונט. אז אני אבצע mount /dev/cd-romo או לפעמים זה יקרא dvd תלוי במערכת לתוך mnt. mnt זאת תיקייה כללית שלתוכה עושים mount כמובן שאם נרצה לעבוד עם מספר תיקיות שאנחנו מרכיבים אז נעשה mnt1 mnt2 שימו לב עכשיו אני מקבל פה הודעת שגיאה בעצם הודעת אזהרה שים לב

  5. 01:56

    ההתקן הוא right protected אז אני עושה לו הרכבה עושה לו מונט במוצב של read only אם אני ארצה להימנע מזה אז אני אוסיף את האופציה read only בצורה הבאה יהיו מונט mnt עכשיו אני מבטל את ההרכבה ונחזור אל פקודת המונט שלנו ונוסיף מינוס o option ro read only ועכשיו המונט עבר בהצלחה

  6. 02:25

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

  7. 02:35

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

  8. 02:53

    אנחנו נצטרך לצורך התקנת שרת ה-Web, שרת ה-HTTP, את שתיהם. הפעולה הבאה שאני צריך לעשות זה לבטל את הריפוזיטוריס הקיימים. ככה אני אכנס ל-slash etc, ועכשיו אני אבדוק איזה ריפוזיטוריס המערכת מכירה.

  9. 03:12

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

  10. 03:28

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

  11. 03:38

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

  12. 03:55

    yam.repose.d ואני אעשה vi centos upstream ואני כאן אשנה את ה-enabled מ-1 ל-0. שומר את הקובץ, בואו נריץ עוד פעם ואני רואה שהוא נעלם מהרשימה.

  13. 04:18

    כרגע מה שאני אעשה, אני אריץ את הפעולה על ריפוזיטורי של בייס ואקסטרס וי.איי.צנטוס.בייס.ריפו ואשנה את ה-enabled מ-1 ל-0 בואו נראה.

  14. 04:38

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

  15. 05:07

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

  16. 05:46

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

  17. 06:08

    אנחנו ניכנס ל-slash mnt וכאן אני רואה בעצם את שתי הריפוזיטוריס, את האפסטרים ואת ה-baseOS, אנחנו נעשה להם CP עם מפתח R שידאג לעשות את זאת בצורה רקורסיבית, נבחר את ה-AppStream ואת ה-BaseOS ונעתיק אותם לתיקיית var www.html שזאת תיקיית השורש, תיקיית ה-root שממנה התחיל

  18. 06:40

    שרת ה-Web. אגב, עכשיו זה זמן טוב להיזכר בהוראות התרגיל ושימו אנחנו צריכים לשים את זה בתיקיית content rel 8 x86 64 dvd.

  19. 06:54

    אז כאן אנחנו ניצור mkdir var www.html content rel 86 64 dvd וכדי שיצור את כל התיקייה הזאתי אנחנו נשתמש במפתח מינוס p ונעשה רגע ls על התיקייה הזאתי לוודא שהיא נוצרה.

  20. 07:19

    והיא נוצרה ואכן היא נוצרה אחרת ls היה מחזיר לי שקיעה ועכשיו אני אעשה cp-r r עומד רקורסיבי בגלל שאני מעתיק את התקייה אז אני אשתמש במופתח r ואני אבחר את upstream אגב באופן כללי זאת המלצה מאוד טובה תוך כדי התרגיל לחזור מספר פעמים להוראות ולהתבונן בהם שוב לראות שאנחנו

  21. 07:48

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

  22. 08:18

    זה ללחוץ קונטרול Z ואז להמשיך את התהליך ברקע על ידי לחיצת BG ועכשיו אני יכול לראות מה הנפח של התיקייה זה DU מינוס S, H, S זה אומר Summary ו-H זה אומר Human ותכף אני אגיד למה זה מתייחס על התיקייה הזאת ואני רואה בעצם את התוכן שהוא גדל ועכשיו אם אני לא ארצה כל הזמן ללחוץ עוד פעם ועוד פעם אני יכול להריץ את

  23. 08:56

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

  24. 09:17

    כמובן אם הייתי רוצה לדעת כמה סך הכל יש, הייתי צריך לעשות קודם כל du-sh על תיקיות המקור שאותם אני מעתיק. בצורה הבאה, upstream ו-baseOS.

  25. 09:35

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

  26. 09:53

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

  27. 10:23

    הרשאה read ו-execute חשובה כי כאשר אני אשתף את התיקיות האלה דרך שרת ה-Web אם לא יהיו את הרשאות ה-read אז המערכת לא תיתן לגשת לתיקיות האלה מבחוץ.

  28. 10:36

    דבר נוסף שאני צריך לעשות לעשות ריסטור קון בעצם לשחזר את הקונטקסט של ה-SE-Linux מי שלא מכיר אז הוא מוזמן לצפות בסרטון על ה-SE-Linux לפני איזה אני רק אבדוק את הקונטקסט ls-lz אני רואה פה שהקונטקסט בסדר אבל לצורך העניין אני הולך לשחזר את הקונטקסט אני

  29. 11:05

    אעשה cd/www.html ואני עושה restorecon. ובעצם הפקודה הזאתי שחזרה את הקונטקסט למה שהוא היה צריך להיות אם כתוצאה מהעתקה הקונטקסט היה מתפקש או משתנה אז הפקודה הזאת הייתה דואגת לשחזר את הקונטקסט.

  30. 11:31

    עכשיו כל מה שנשאר לנו זה להתקין את שרת ה-Web. לצורך זה אני צריך לגשת ל-Repositories האלה ולהתקין משם את שרת ה-HTTP, כמובן אם אני אעשה עכשיו dnf install httpd הוא יגיד לי שאין לי מאיפה להתקין ואני צריך ריפוזיטוריס עכשיו אנחנו נגדיר את התיקייה המקומית בתור הריפוזיטורי של ה-DNF נכנס ל-etc.yam.repos.d וכאן אני אעתיק את

  31. 12:06

    תיקיית את הכובד centos base cp centos base repo ואני אקרא לו localbase.repo את השם הזה אני יכול לבחור מה שאני רוצה אבל אני חייב לשמור על הסיומת repo כדי שיהיה מידע לקרוא את הקבצים האלה אוקיי ואני אצטרך לעשות גם אותו דבר ל-appstream נקרא לו localappstream.repo עכשיו אני צריך להגדיר

  32. 12:43

    את הריפוזיטורי כך שיצביע על התיקייה המקומית קודם כל אני מוחק את השורה של ה-Mirror List בשורה הזאת מוגדרים מספר מקומות שמתוכם אפשר להוריד את התכנים של ה-Repository, למשל במקרה של CentOS ישנם מספר שרתים בעולם אשר מכינים את התוכן ואפשר לקבל רשימה של השרתים האלה מתוך ה-URL הזה אנחנו לא מעוניינים

  33. 13:15

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

  34. 13:23

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

  35. 13:45

    אני מאפשר את השורה של בייס url וכאן אני אגיד לו שילך להסתכל בתיקייה מקומית. אני ארשום פייל, נקודותיים, דאש סלאש var www, כי אני לא אסקור את זה אז אני רגע אצא ואני אעשה רגע ls var www.html.content.rel8 DVD וב-SOS, עכשיו אני אסמן ואעתיק את זה ואחזור לעריכת הקובץ ואדביק כאן את הנתיב המדויק של הקבצים.

  36. 14:38

    דאג שיהיה פה שלושה

לקורס המלא: קורס לינוקס מתקדם אונליין

ההרצאה הקודמת: הגדרת שם וסיסמה באתרי אינטרנט - APACHE

ההרצאה הבאה: התקנת שרת Apache

הרצאות קשורות מקורסים אחרים

  • מה זה Repository בלינוקס ?
  • הגדרת Veeam Repository
  • YUM MODULE - Install Packages
  • הקמת Cluster HyperV - חלק 1

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell