התאמה אישית של תיקון תיקונים: הדרך לקראת LFS

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

הבעיה הזו באמת באה אליי בגלל שנכנסתי ל- LFS (LinuxFromScratch), שהוא מדריך (לא הפצה עצמה) להתקנת לינוקס מותאם אישית. הנקודה ב"הפצה "זו היא שמכל LiveCD ועם הכלים המתאימים אתה מוריד את קוד הליבה וכלים אחרים לבניית מערכת משלך (קומפילציה של הכל לאט לאט). אם אתה רוצה לעקוב אחר המדריך שלב אחר שלב, אתה זקוק למספר כלים ומהדרים, ואין liveCD עם הכל, אז אתה צריך להתאים אישית אחד כזה.

בוא נעשה את זה. נשתמש ב- SystemRescueCD, המציעה סביבה מבוססת ג'נטו מקיפה למדי.

בדוגמה שלנו (התקנת לינוקס מאפס בעקבות ספר Linux From Scratch) חסרים לנו התוכניות Bison ו- Makeinfo, לכן אנו הולכים ליצור תמונת ISO חדשה של הדיסק הזה אך עם הכלים החדשים.

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

למרות שמשתמשים במנהל חבילות (כמו apt-get של דביאן), במקום להוריד חבילות, קוד המקור יורד כדי להרכיב אותו במחשב שלך.

לתהליך תזדקק למחיצת לינוקס (למשל ext4) עם לפחות 1.5G חופשי, אם כי מומלץ יותר. אם אתה לא רוצה להתעסק במחיצות שלך, השתמש במכונה וירטואלית. כמובן, רצוי שבמחיצה יהיו כמה הופעות שכן במהלך האוסף, ההתקנה, הסנכרון של המאגרים ... יש צורך במרחב זמני; אני ממליץ להשתמש במחיצת החלפה של 8G + 2G (עם 4G + 1G זה אמור להספיק, אך כדי שנוכל להבטיח לכם, אם RAM / swap חסר התהליך יהיה איטי עוד יותר).

בהנחה שיצרת מכונה וירטואלית עם דיסק 10G, אתה מפעיל אותה על ידי אמירתו לאתחל מה- SystemRescueCd שהורדת לאחרונה. ברגע שנכנס פנימה אנו מחלקים עם fdisk (אם התחלתם את ההפעלה הגרפית תוכלו לעשות זאת עם gparted, אך מטרת הפוסט הזה היא ללמד שימוש בכלים בסיסיים). fdisk היא פקודה אינטראקטיבית:

  • עם האפשרות "n" אנו יוצרים מחיצה חדשה
  • עם האפשרות "t" אנו משנים את סוג מערכת הקבצים שתעבור במחיצה
  • עם האפשרות «w» אנו כותבים לדיסק
  • עם האפשרות «q» אנו עוזבים מבלי לכתוב את השינויים

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

בעת יצירת המחיצה השנייה נשתמש באפשרויות ברירת המחדל שכן שאר השטח יהיה תפוס. כמו כן, כדי לומר ל- fdisk שהמחיצה השנייה תהיה מסוג swap, השתמש באפשרות "t" (הקסד-קוד עבור החלפה הוא 82). הממשק נראה כך:

% fdisk / dev / sda Command (m לעזרה):

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

% mkswap / dev / sda2% swapon / dev / sda2

יש לנו כבר מעוצבת את מחיצת ההחלפה ועם הפקודה החלפה התחלנו להשתמש בו. כעת אנו מעצבים את המחיצה הראשונה ב- ext4:

% mkfs.ext4 /dev/sda1

אנו יכולים להתחיל לבצע את השלבים המתוארים ב http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, כאן אני מתרגם / מתאר אותם בהערה מוזרה.

אנו מרכיבים את המחיצה במקומה (ה- LiveCD כבר מגיע מוכן עם תיקייה / mnt / custom שבו יש להתקין את המחיצה בה נבצע את השינויים המתאימים). גם לאחר הרכבה נצטרך לחלץ את הקבצים מהדיסק, זה מושג עם סקריפט שכבר מוכן. התסריט ייקח זמן מה (מכיוון שהוא משליך מאות מגה-בייט של זיכרון), אם אתה רוצה לבדוק שהוא אכן עובד, עבור למסוף אחר (עם Alt + F4 למשל) ועשה df-h.

% mount / dev / sda2 / mnt / custom% / usr / sbin / sysresccd-custom extract

אם אתה מנווט כעת בתוך / mnt / custom / customcd, תראה מספר תיקיות. ב / mnt / custom / customcd / files מערכת קבצי השורש נמצאת. עכשיו הגיע הזמן לעקור את המערכת החדשה העתידית. כאן אני אשים את הפקודות, למידע נוסף על chroot תוכלו לראות הדרכה זו שכתבתי לפני חודש

% mount -o bind / proc / mnt / custom / customcd / files / proc% mount -o bind / dev / mnt / custom / customcd / files / dev% mount -o bind / sys / mnt / custom / customcd / files / sys% chroot / mnt / custom / customcd / files / bin / bash # gcc-config $ (gcc-config -c)

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

ראשית אנו מסנכרנים את עץ הפורטאג '(המקבילה ל- apt-get עדכון)
# emerge-webrsync הערה: אנו משתמשים בפקודה זו במקום "להופיע –סינכרון" מכיוון שהיא מהירה יותר, מכיוון שהיא מורידה חבילת זפת מהאינטרנט. שלב זה הוא הכרחי, מכיוון שאם לא תופיע הוא יופיע אוטומטית - סנכרון, מאט אותו.

לאחר סינכרון עץ ה Portage נוכל להמשיך להתקין את החבילות:

# להופיע sys-devel / bison # emerge sys-devel / texinfo
ביזון ייקח זמן להיאסף, להיות סבלני

אנחנו משאירים את השורש:# exit

אנו מבטלים את ההקמה של "/ proc" כך שהחבילות המותקנות החדשות מאוחסנות בדשדוש. אנו מבטלים גם את הפעלת "/ dev" ו- "/ sys" כדי שלא נשכח אחר כך
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

מכיוון שכבר הכנתנו את מערכת קבצי הסקווש החדשה, אנו יוצרים אותה באמצעות הפקודה הבאה
% /usr/sbin/sysresccd-custom squashfs
אם אנו רוצים להוסיף קובץ בתמונת ה- ISO אך אנו רוצים שהוא יהיה מחוץ לדלפים, עלינו להכניס אותו לתיקיה «/ mnt / custom / customcd / isoroot»

% cp -a my-files /mnt/custom/customcd/isoroot

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

הרגע המפואר הגיע, כעת אנו יכולים ליצור את תמונת ה- ISO החדשה באמצעות המערכת המותאמת אישית שלנו!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" הוא השם שאנחנו נותנים לכרך, אתה יכול לקרוא לזה איך שאתה רוצה. התמונה נשמרת ב- «/ mnt / custom / customcd / isofile», בנוסף נוצר גם קובץ .md5 🙂

אם אתה עובד על דיסק וירטואלי, הצעד המכריע נשאר: לחלץ את תמונת ה- ISO של המערכת הווירטואלית. ישנן מספר דרכים לעשות זאת, אני אסביר אחת פשוטה (ב- VirtualBox) כדי להימנע מהצורך להתקין "תוספות אורח" או משהו כזה.
אנו נשתמש בלקוח כדי להשיג את הקובץ דרך מנהרת ssh. לשם כך עלינו להגדיר תחילה את מערכת האורחים באמצעות סיסמת שורש. שרת ssh מתחיל אוטומטית, אנו עדיין מפעילים אותו מחדש למקרה.
% passwd
% /etc/init.d/sshd restart

עלינו להגדיר את העברת היציאה של המכונה הווירטואלית. ב- VirtualBox זה נעשה באופן הבא:

  1. אתה ניגש לתצורת המכונה הווירטואלית
  2. בקטע הרשת כבר הגדרת מתאם ב- NAT
  3. חפש את אפשרות העברת הנמל
  4. אתה מוסיף כלל חדש, עם הפרמטרים היחידים "יציאת מארח" ו"יציאת אורח "
  5. מארח = 3022 ואורח = 22

בכך השגנו כי יציאה 3022 של המחשב האישי שלנו היא 22 של המכונה הווירטואלית. אנו מתחילים את לקוח Filezilla:

  1. בפרמטר השרת אנו כותבים: sftp: // localhost
  2. בפרמטר שם המשתמש אנו כותבים: root
  3. בפרמטר הסיסמה שמנו את זה שאנו משתמשים ב- «passwd»
  4. בפרמטר היציאה אנו כותבים: 3022
  5. לחץ על «חיבור מהיר»

אם הכל הלך טוב שמאלה נוכל לנווט במחשב האישי שלנו ולצד ימין במכונה הווירטואלית. זה מספיק כדי לגשת (במכונה הווירטואלית) לתיקייה «/ mnt / custom / customcd / isofile» ולגרור את תמונת ה- ISO למקום שאנחנו רוצים במחשב שלנו.

!! מזל טוב!! אם הכל התנהל כשורה, תמונת ה- ISO שלך מוכנה עם SystemRescueCD מותאם אישית ומוכן לאתחול מתקליטור, USB ...


תוכן המאמר עומד בעקרונותינו של אתיקה עריכתית. כדי לדווח על שגיאה לחץ כאן.

3 תגובות, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   ליאו דיג'ו

    איזה מדריך טוב, קצת מסובך אבל מאוד שימושי.
    תרומה טובה.

  2.   מצורע_איבן דיג'ו

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

  3.   קרלוס סאנצ'ס דיג'ו

    שלום ווקר, פוסט טוב מאוד!

    אני מלווה ב- LFS כבר כמה שנים ויצרתי את ה- ISO שלי שיכול לשרת אותך, יש בו את כל מה שאתה צריך להרכיב מכיוון שהוא LFS. אני מקווה שזה שימושי עבורך

    http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso