תבנית:התקנת ג'נטו - פרק 4
מתוך הויקי של ג'נטו.
תוכן העניינים |
[עריכה] הכנת הדיסקים
[עריכה] התקני Block
בהקדמה זו נביט באספקטים הנוגעים לדיסקים בג'נטו לינוקס ובלינוקס באופן כללי, כולל מערכות קבצים של לינוקס, מחיצות, והתקנים מסוג block. לאחר מכן, כשתכיר את הדיסקים ומערכות הקבצים מבפנים ומבחוץ, תודרך בתהליך יצירת המחיצות ומערכות הקבצים עבור התקנת הג'נטו לינוקס שלך.
בתור התחלה, נציג את התקני ה-block. התקן ה-block המפורסם ביותר הוא כנראה זה שמייצג את כונן ה-IDE הראשון במערכת לינוקס, והוא נקרא /dev/hda. אם המערכת שלך משתמשת בכונן SCSI או SATA, אזי הכונן הראשי ייקרא /dev/sda.
התקני block מייצגים ממשק מופשט אל הכונן. תוכנות משתמש יכולות להשתמש בהתקני block אלה כדי לבצע אינטרקציה יחד עם הדיסק שלך, מבלי שיצטרכו לדאוג האם הם IDE, SCSI, או משהו אחר. התוכנה יכולה, מבחינתה, לגשת אל האחסון שעל הדיסק כקבוצה של בלוקים אחידים בגודל של 512 בתים, שניתן לגשת אליהם באופן אקראי לחלוטין.
[עריכה] מחיצות
למרות שבאופן תאורטי ניתן להשתמש בדיסק שלם כדי לארח את מערכת הלינוקס שלך, דבר זה כמעט לא נעשה אף פעם בפועל. במקום זה, התקני block של דיסק מחולקים להתקני block קטנים יותר, שיותר קל לנהלם. במערכות מבוססות x86, התקנים אלו נקראים בשם מחיצות (partitions, לעתים גם "פרטישנים" בעברית).
ישנם שלושה סוגים של מחיצות: ראשיות (primary), מורחבות (extended) ולבסוף לוגיות (logical).
מחיצה ראשית היא מחיצה שהמידע עליה שמור בתוך ה-MBR (קיצור של Master Boot Record). כיוון שה-MBR מאוד קטן (גדולו 512 בתים), רק ארבע מחיצות ראשיות ניתנות להגדרה בכונן אחד (לדוגמא, /dev/hda1 עד /dev/hda4).
מחיצה מורחבת היא מחיצה ראשית מיוחדת (כלומר, מחיצה מורחבת נכללת בארבעת המחיצות הראשיות האפשריות בכונן), אשר יכולה להכיל מחיצות אחרות. מחיצה מסוג זה לא הייתה קיימת במקור, והיא הומצאה אחרי שגילו שארבע מחיצות זה פשוט לא מספיק. היא הובאה לחיים כדי להרחיב את סכמת המחיצות מבלי לאבד תאימות אחורנית.
מחיצה לוגית היא כל מחיצה אשר מוגדרת בתוך מחיצה מורחבת. ההגדרות של מחיצה זו אינן נשמרות בתוך ה-MBR, אלא בתוך המחיצה המורחבת.
[עריכה] אחסון מתקדם
תקליטור ההתקנה ל-x86 מכיל תמיכה עבור EVMS ו-LVM2. הנ"ל הן שיטות להגדיל את הגמישות המוצעת בהגדרת המחיצות שלך. במהלך הנחיות ההתקנה שבמדריך זה, נתמקד במחיצות "רגילות", אך תמיד טוב לדעת שהתמיכה ב-EVMS וב-LVM2 קיימת גם כן.
[עריכה] תכנון סכמת מחיצות
[עריכה] סכמת מחיצות ברירת מחדל
אם אתה לא מעוניין ליצור לעצמך סכמת מחיצות עבור המערכת שלך, תוכל להשתמש בסכמת ברירת המחדל שאנו מציעים במהלך מדריך זה:
| מחיצה | מערכת קבצים | גודל | תיאור |
| /dev/hda1 | ext2 | 32M | מחיצת אתחול |
| /dev/hda2 | (שחלוף) | 512M | מחיצת שחלוף |
| /dev/hda3 | ext3 | שאר הדיסק | מחיצת שורש |
אם אתה מעוניין לדעת כמה גדולה מחיצה צריכה להיות, או כמה מחיצות אתה צריך, קרא הלאה. אחרת, המשך עם חלוקת הדיסק למחיצות על ידי קפיצה לחלק שימוש ב-fdisk כדי ליצור מחיצות על הדיסק שלך
[עריכה] כמה מחיצות, וכמה גדולות?
מספר המחיצות תלוי מאוד בסביבה שלך. לדוגמא, אם יש לך הרבה משתמשים, כנראה שתרצה שמחיצה /home שלך תהיה נפרדת כיוון שהדבר מגביר את האבטחה והופך את הגיבויים לקלים יותר. אם אתה מתקין את ג'נטו כדי לתפקד כשרת דואר, מחיצת ה-/var שלך צריכה להיות נפרדת, כיוון שכל הדואר מאוחסן ב-/var. בחירה טובה של מערכת קבצים תמקסם את הביצועים שלך. שרתי משחקים ירצו מחיצת /opt נפרדת, כיוון שרוב שרתי המשחקים מותקנים שם. הסיבה דומה ל-/home: אבטחה וגיבויים. אתה בהחלט תרצה לשמור על /usr גדולה למדי: לא רק שהיא תכיל את רוב התוכנות שלך, עץ ה-Portage לבדו תופס כ-500 מגה-בתים, לא כולל חבילות קוד המקור שגם נמצאות שם.
כמו שאתה יכול לראות, הדבר תלוי מאוד במה אתה רוצה להשיג. מחיצות נפרדות נותנות את היתרונות הבאים:
- אתה יכול לבחור את מערכת הקבצים בעלת הביצועים הטובים ביותר עבור כל מחיצה ומחיצה, בהתאם לייעודה
- המקום בכלל המערכת שלך לא יכול להיגמר (ובכך להשפיע גם על תוכנות אחרות) אם כלי או תוכנה מסויימת מתחילה "לפוצץ" את הכונן במידע חדש
- אם יש צורך בכך, בדיקות מערכת קבצים לוקחות פחות זמן, כיוון שהבדיקות נעשות במקביל על כל המחיצות (למרות שיתרון זה יותר משמעותי כשהכוננים נפרדים, מאשר מחיצות נפרדות על אותו כונן)
- אבטחה יכולה להיות טובה יותר, על ידי עגינת חלק מהמחיצות עם אפשרויות כגון קריאה-בלבד, nosuid (התעלמות מסיביות setuid), ואף noexec (לא ניתן להריץ תוכנות ממחיצה זו), ועוד.
אך, לריבוי מחיצות ישנו חסרון אחד גדול: אם התצורה לא נקבעת כראוי, אתה עלול להגיע למצב שבו במחיצה אחת יש לך המון מקום פנוי, ואפס מקום במחיצה אחרת (ואין לך הרבה מה לעשות בנידון אחרי שזה קורה, בדרך כלל...). כמו כן, ישנה מגבלה של עד 15 מחיצות עבור SCSI ו-SATA.
כדוגמה לחלוקת מחיצות, נציג בפניך כונן בגודל 20 ג'יגה-בייט, על מחשב נייד להדגמה (אשר יכיל שרת Web, שרת דואר, GNOME, ...):
| קוד: תצרוכת מקום במערכות הקבצים |
$ df -h Filesystem Type Size Used Avail Use% Mounted on /dev/hda5 ext3 509M 132M 351M 28% / /dev/hda2 ext3 5.0G 3.0G 1.8G 63% /home /dev/hda7 ext3 7.9G 6.2G 1.3G 83% /usr /dev/hda8 ext3 1011M 483M 477M 51% /opt /dev/hda9 ext3 2.0G 607M 1.3G 32% /var /dev/hda1 ext2 51M 17M 31M 36% /boot /dev/hda6 swap 516M 12M 504M 2% <not mounted> (ישנו שטח פנוי בנפח 2 ג'יגה-בייט ללא שימוש, שמור לשימוש עתידי) |
/usr היא די מלאה בדוגמא זו (83% בשימוש) , אך אחרי שכל התוכנות כבר מותקנות, /usr לא נוטה לגדול יותר מדי. עבור /var, אנשים עשויים לחשוב שהמקום המוקצה גדול מדי, אך יש לזכור, שג'נטו מהדרת את כל התוכנות שלה בתוך /var/tmp/portage, כך שב-/var צריך להיות לפחות ג'יגה-בייט אחד פנוי אם אתה לא רוצה להדר תוכנות גדולות, ולפחות 3 ג'יגה-בייט אם הידור של KDE או אופן-אופיס לא יהיה ביג-דיל עבורך.
[עריכה] שימוש ב-fdisk כדי ליצור מחיצות על הדיסק שלך
החלקים הבאים יסבירו כיצד ליצור את סכמת המחיצות כפי שתוארה קודם לכן, בעיקר:
| מחיצה | תיאור |
| /dev/hda1 | מחיצת אתחול |
| /dev/hda2 | מחיצת שחלוף |
| /dev/hda3 | מחיצת שורש |
שנה את סכמת המחיצות כדי שתתאים להעדפותיך.
[עריכה] צפייה בסכמת המחיצות הקיימת שלך
fdisk הוא כלי פופולארי וחזק כדי לחלק את הדיסק שלך למחיצות. הרץ את fdisk על הכונן שלך (בדוגמא שלנו, אנו משתמשים ב-/dev/hda:
| קוד: הרצת fdisk |
|
fdisk /dev/hda |
כשאתה בתוך fdisk, התוכנה תברך אותך עם שורת קלט שנראית כך:
| קוד: שורת הקלט של fdisk |
Command (m for help): |
הקלד p כדי להציג את סכמת המחיצות הנוכחית שעל הדיסק שלך:
| קוד: דוגמא סכמת מחיצות |
Command (m for help): p Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders Units = cylinders of 15120 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 14 105808+ 83 Linux /dev/hda2 15 49 264600 82 Linux swap /dev/hda3 50 70 158760 83 Linux /dev/hda4 71 2184 15981840 5 Extended /dev/hda5 71 209 1050808+ 83 Linux /dev/hda6 210 348 1050808+ 83 Linux /dev/hda7 349 626 2101648+ 83 Linux /dev/hda8 627 904 2101648+ 83 Linux /dev/hda9 905 2184 9676768+ 83 Linux Command (m for help): |
דיסק מסויים זה מוגדר לארח שבע מערכות קבצים של לינוקס (אשר כל אחת מהן מוצגת כ-"Linux"), וגם מחיצת שחלוף אחת (שמוצגת כ-"Linux swap").
[עריכה] הסרת כל המחיצות
בתור התחלה, נסיר את כל המחיצות מהדיסק. הקלד d כדי למחוק מחיצה. לדוגמא, כדי למחוק את המחיצה הקיימת /dev/hda1:
| קוד: מחיקת מחיצה |
Command (m for help): d Partition number (1-4): 1 |
המחיצה תוזמנה למחיקה, ולא תופיע יותר אם תכתוב p, אך היא לא תמחק עד שלא תשמור את השינויים. אם עשית טעות, ואתה רוצה "לברוח" בלי לשמור את השינויים, לחץ על q באופן מיידי ואז על enter, והמחיצה שלך לא תמחק.
כעת, בהנחה שאתה באמת רוצה למחוק את כל המחיצות על המערכת שלך, לחץ שוב ושוב על p כדי להדפיס את רשימת המחיצות, ואז לחץ על d ומספר המחיצה כדי למחוק אותה. בסופו של דבר, תגיע לטבלת מחיצות ריקה:
| קוד: טבלת מחיצות ריקה |
Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System Command (m for help): |
כעת, שטבלת המחיצות שנמצאת בזיכרון ריקה, אנו מוכנים ליצור את המחיצות. אנו נשתמש בסכמת המחיצות ברירת המחדל שנדונה קודם לכן במדריך זה. כמובן, אל תשתמש בהנחיות אלה מילה במילה אם אתה לא רוצה את סכמת המחיצות הזו!
[עריכה] יצירת מחיצת אתחול
קודם כל, ניצור מחיצת אתחול קטנה. הקלד n כדי ליצור את המחיצה החדשה, ואז p כדי לבחור בסוג המחיצה "ראשי" (primary). כאשר אתה נשאל לגבי הצילינדר (cylinder) הראשון, לחץ על enter. כאשר אתה נשאל על הצילינדר האחרון, הקלד +32M כדי ליצור מחיצה בגודל 32 מגה-בייט:
| קוד: יצירת מחיצת אתחול |
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-3876, default 1): (Hit Enter) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M |
כעת, כשתלחץ על p, אתה אמור לראות את פלט המחיצות הבא:
| קוד: מחיצת אתחול שנוצרה |
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 1 14 105808+ 83 Linux |
נצטרך להפוך מחיצה זו לברת-אתחול. לחץ על a כדי להפעיל את דגל ה"בר-אתחול" על מחיצה, ובחר ב-1. אם תלחץ על p שוב, תוכל לראות שיש סימן * בטור "Boot".
[עריכה] יצירת מחיצת שחלוף
כעת ניצור את מחיצת השחלוף. כדי לעשות זאת, לחץ על n כדי ליצור מחיצה חדשה, ואז על p כדי להגיד ל-fdisk שאתה רוצה מחיצה מסוג ראשי. עכשיו לחץ על 2 כדי ליצור מחיצה ראשית שנייה, /dev/hda2 במקרה שלנו. כשאתה נשאל לגבי הצילינדר הראשון, לחץ enter. כשאתה נשאל לגבי הצילינדר האחרון, הקלד +512M, כדי ליצור מחיצת שחלוף בגודל חצי ג'יגה. אחרי שעשית זאת, לחץ על t כדי לקבוע את סוג המחיצה, 2 כדי לבחור את המחיצה שהרגע יצרת, ואז 82 כדי להגדיר את סוג המחיצה כ-"Linux Swap". אחרי שהשלמת שלבים אלה, הקלדת p אמורה להציג לך טבלת מחיצות דומה לזאת:
| קוד: רשימת מחיצות אחרי יצירת מחיצת שחלוף |
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 14 105808+ 83 Linux /dev/hda2 15 81 506520 82 Linux swap |
[עריכה] יצירת מחיצת השורש
לבסוף, הבה ניצור את מחיצת השורש. כדי לעשות זאת, לחץ על n כדי ליצור מחיצה חדשה, לאחר מכן על p כדי להגיד ל-fdisk שאתה רוצה מחיצה ראשית. לאחר מכן 3 כדי ליצור מחיצה ראשית שלישית, /dev/hda3 בדוגמא שלנו. כשאתה נשאל לגבי הצילינדר הראשון, לחץ enter. כשאתה נשאל לגבי הצילינדר האחרון, לחץ על enter כדי ליצור מחיצה שתופסת את כל נפח הדיסק שנשאר על הכונן שלך. אחרי השלמת שלבים אלו, הקלדת p אמורה להציג רשימת מחיצות שנראית דומה לזאת:
| קוד: רשימת המחיצות אחרי יצירת מחיצת השורש |
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 14 105808+ 83 Linux /dev/hda2 15 81 506520 82 Linux swap /dev/hda3 82 3876 28690200 83 Linux |
[עריכה] שמירת סכמת המחיצות
כדי לשמור את סכמת המחיצות ולצאת מ-fdisk, הקלד w.
| קוד: שמירה ויציאה מ-fdisk |
Command (m for help): w |
[עריכה] יצירת מערכות קבצים
[עריכה] הקדמה
כעת שהמחיצות שלך נוצרו, הגיע הזמן לשים עליהן מערכת קבצים. אם לא איכפת לך באיזו מערכת קבצים אתה משתמש, ואין לך בעייה עם ברירת המחדל המוצגת במדריך זה, תוכל לדלג ישירות לחלק יצירת מערכות קבצים על המחיצות. אחרת, המשך לקרוא הלאה כדי ללמוד על מערכות הקבצים הזמינות...
[עריכה] מערכות קבצים?
הקרנל של לינוקס תומך במערכות קבצים שונות. אנו נסביר על ext2, ext3, ReiserFS, XFS ו-JFS, כיוון שאלו הנפוצות ביותר בשימוש במערכות לינוקס.
ext2 היא מערכת מנוסה ואמיתית עבור לינוקס, אך אין בה metadata journaling, מה שאומר שבדיקות שגרתיות של מערכת הקבצים במהלך העלייה של המערכת עשויות לקחת הרבה מאוד זמן. ישנן כיום מספר בחירות למערכות קבצים מדור חדש יותר, אשר כן יש בהן journaling, והבדיקה שלהן היא הרבה יותר מהירה, ולכן, לרוב, עדיפות מול חברותיהן שאין בהן תכונה זו. מערכות קבצים עם journal מונעות עיכובים גדולים במידה וכשאתה מעלה את המערכת שלך כאשר מערכת הקבצים נמצאת במצב לא אחיד.
ext3 היא גירסא עם journal של מערכת הקבצים ext2, והיא מספקת metadata journaling עבור שחזור מהיר, ובנוסף לכך מצבי journal מועשרים כגון full data ו-ordered data journaling. מערכת הקבצים ext3 היא טובה ואמינה. יש לה אפשרות לאינדקס b-tree hash אשר מאפשר ביצועים גבוהים כמעט בכל מצב. בקיצור, ext3 היא מערכת קבצים מצויינת.
ReiserFS היא מערכת קבצים מבוססת B*-tree אשר לה ביצועים טובים מאוד, והיא עוקפת בביצועים גם את ext2 וגם את ext3 באופן ניכר כאשר היא מטפלת בקבצים קטנים (קבצים בגודל הקטן מ-4k). בדרך כלל בהפרשים של פי 10 עד פי 15. כמו כן, ReiserFS גדלה באופן מצויין, והיא תומכת ב-metadata journaling. החל מקרנל 2.4.18 ומעלה, ReiserFS יציבה ושימושית גם כמערכת קבצים לשימוש כללי, וגם במקרים קיצוניים של יצירת מערכות קבצים גדולות, בשימוש של הרבה קבצים קטנים, קבצים גדולים מאוד, וספריות המכילות עשרות אלפי קבצים.
XFS היא מערכת הקבצים שתומכת ב-metadata journaling ומגיעה עם סט-פיצ'רים חזק, והיא מתוכננת עבור גידול. אנו ממליצים להשתמש במערכת זו אך ורק במערכות לינוקס עם אחסון מסוג high-end SCSI או fibre channel, כאשר המערכת מוגנת באמצעות מערכת אל-פסק. כיוון ש-XFS מאחסנת מידע באמצע תעבורה במטמון RAM באופן אגרסיבי למדי, מערכות שאינן מתוכננות היטב (כאלו שאינן לוקחות אמצעי זהירות כשהן כותבות לדיסק, וישנן הרבה כאלה), יכולות לאבד כמות ניכרת במיוחד של מידע במידה והמערכת יורדת באופן בלתי צפוי (הפסקת חשמל למשל).
JFS היא מערכת ביצועים-גבוהים של IBM, וגם היא תומכת ב-journaling. רק לאחרונה היא הפכה להיות מוכנה לעבודה בסביבת ייצור (production), ואין מספיק מידע עליה כדי לומר עליה שום דבר, חיובי או שלילי, בכל הנוגע ליציבות.
[עריכה] יצירת מערכות קבצים על המחיצות
כדי ליצור מערכת קבצים על מחיצה, ישנם מספר כלים זמינים עבור כל סוג של מערכת קבצים:
| מערכת קבצים | פקודת יצירה |
| ext2 | mke2fs |
| ext3 | mke2fs -j |
| reiserfs | mkreiserfs |
| xfs | mkfs.xfs |
| jfs | mkfs.jfs |
לדוגמא, כדי שמחיצת האתחול (/dev/hda1 בדוגמא שלנו) תכיל מערכת קבצים ext2, ומחיצת השורש (/dev/hda3 בדוגמא שלנו) תכיל מערכת קבצים ext3 (כמו בדוגמא שלנו), נשתמש בפקודות הבאות:
| קוד: יצירת מערכות קבצים על המחיצות |
# mke2fs /dev/hda1 # mke2fs -j /dev/hda3 |
כעת צור את מערכות הקבצים על המחיצות שחדשות שלך לפי הדוגמאות.
[עריכה] יצירת מחיצת שחלוף
mkswap היא הפקודה שבה משתמשים כדי ליצור מחיצות שחלוף:
| קוד: יצירת מחיצת שחלוף |
|
mkswap /dev/hda2 |
כדי להפעיל את השחלוף על המחיצה שיצרנו, יש להשתמש בפקודה swapon:
| קוד: הפעלת מחיצת השחלוף |
|
swapon /dev/hda2 |
צור והפעל את מחיצת השחלוף עם הפקודות שהוזכרו לעיל.
[עריכה] עגינה
כעת שהמחיצות שלך מאותחלות ויש עליהן מערכת קבצים, הגיע הזמן לעגון מחיצות עלה. השתמש בפקודה mount. אל תשכח ליצור את מחיצות העגינה עבור כל מחיצה שיצרת. כדוגמא, נעגון את מחיצת השורש ואת מחיצת האתחול:
| אזהרה: בגלל באג בחבילת e2fsprogs, עלייך לציין באופן מפורש את האפשרות mount -t ext3 אם אתה משתמש במערכת קבצים מסוג ext3. |
| קוד: עגינת מחיצות |
# mount /dev/hda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/hda1 /mnt/gentoo/boot |
| שים לב: אם אתה רוצה שה-tmp/ "ישכון" על מחיצה נפרדת, וודא שאתה משנה את ההרשאות שלה אחרי העגינה: chmod 1777 /mnt/gentoo/tmp. דבר זה נכון גם לגבי var/tmp/, אם בחרת לאחסן ספריה זו על מחיצה נפרדת. |
