תיקון מערכת: HowTo chroot

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

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

מבוא

הפקודה נתח זה ידוע בשם CHangeROOT, כלומר פקודה שמאפשרת לשנות את שורש המערכת שעליה אתה עובד. במילים אחרות: אם אתה מ- LiveCD ואתה רוצה שכל מה שאתה עובד על המסוף ישפיע על המערכת המותקנת, תחילה עליך להשתמש ב נתח.

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

איך ל

ראשית עלינו להפעיל מסוף, ממערכת מותקנת אחרת (במחיצה / דיסק אחר) או מ- LiveCD. חשוב: הארכיטקטורה של ה- LiveCD חייבת להתאים לזו של המערכת לתיקון (32 או 64 ביט).
ברגע שאנחנו נמצאים במסוף נתחיל בזיהוי המחיצות שלנו:
fdisk -l

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

לדוגמא זו נשקול שהמערכת השבורה שלנו נמצאת / dev / sda1 .

אנו ממשיכים להרכיב את המערכת. ראשית ניצור את התיקיה בה אנו הולכים לעבוד ובהמשך נרכיב את המחיצה בה נמצאת המערכת השבורה שלנו בתיקייה זו
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

אם יש לך את התיקייה / בית o / var או כל אחד אחר במחיצה אחרת, עליך לעלות אותה / ים באופן הבא:
mount /dev/sda2 /mnt/my_linux/var

  • הערה: לקחתי כדוגמה את מחיצת / dev / sda2 עבור תיקיית / var, נתן לכל אחד להתאים את הקוד למאפייניו.

בדרך כלל זה יספיק אם אתה פשוט צריך לערוך קבצים ביד, אבל אם אנחנו רוצים לבצע כמה פקודות שמגדירות את המערכת, עלינו לעלות על תיקיות מערכת מיוחדות מסוימות: / dev, / proc/ sys.
mount -t proc proc /mnt/my_linux/proc
mount -t sysfs sys /mnt/my_linux/sys
mount -o bind /dev /mnt/my_linux/dev

  • עם אפשרות -t אנחנו מספרים הר סוג "מערכת הקבצים" שאנחנו רוצים להרכיב. יש לציין זאת בגלל האופי המיוחד של התיקיות / proc y / sys.
  • עם אפשרות -o אנו מציינים את האפשרויות של הר. האפשרות לאגד זה משמש ל"קישור ". ב- UNIX כל מכשירי החומרה נגישים דרך התיקיה / devלכן עלינו לעלות על הזרם שלנו / dev בתיקיה בה נמצאת המערכת השבורה שלנו. מכיוון שהתיקיה הזו כבר מותקנת, רק צריך לדעת הר היכן שהוא מותקן במקור.

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

זה הזמן להשתמש נתח:
chroot /mnt/my_linux/ /bin/bash

  • הפקודה מועברת כטיעונים בשביל השורש החדש «/» (שזה במקרה שלנו / mnt / my_linux) והקונסולה בה תרצה להשתמש (במקרה זה בחרנו בבאש הידוע שנמצא ב / bin / bash). אם לא נציין את המסוף, נמצא את עצמנו מול מתורגמן פקודה ארכאי משהו (הוא לא מתמלא בעת לחיצה על הכרטיסייה וכו ').

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

מידע נוסף ב https://wiki.archlinux.org/index.php/Change_Root (יותר מקריאה מומלצת).

דוגמה לשימוש: שחזר את GRUB2

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

שים לב: המדריך הקטן הזה הוא דוגמה בלבד, והוא עובד על הפצות שונות שמקורן בין היתר בדביאן, אובונטו ו- openSUSE. עם זאת, בדוק את תיעוד ההפצה שלך, שכן ברבים הפקודה לא נמצאת update-grub.
הערה: פקודות אלה פועלות פעם אחת בתוך chroot.update-grub
grub-install /dev/sda

  • עם update-grub אנו מעדכנים את תפריט הקלט של GRUB2 ובכך מוסיפים כל קלט חסר. בהמשך אנו מתקינים מחדש את GRUB בדיסק שלנו מכיוון שהוא ניזוק.

במקרה זה לקחתי / dev / sda כמו האלבום שבו יש לנו את המערכת שלנו, זה חייב להיות מותאם למקרה שלך.

צריך כבר לתקן את ה- GRUB שלנו, ולכן עלינו לצאת נתח, בטל את טעינת מערכת הקבצים (חשוב) והפעל מחדש כדי שהשינויים ייכנסו לתוקף. אם נשכח לבטל את ההקמה של מערכת הקבצים, ייתכן שהאתחול מחדש של הקבצים לא יפורק כראוי ולכן שינויים מסוימים לא ייכנסו לתוקף.
# השארנו את השורשexit
# בטל את הרכבה של מערכת הקבצים והפעל מחדשumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

וזה הכל. אני מקווה שתיהנו מזה וזה יעזור לכם. ברכת שלום!


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

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

*

*

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

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

    אני יכול להשתמש בזה .. בשלב מסוים אני צריך להשתמש בזה.

  2.   מריו דיג'ו

    האם מישהו מכם השתמש בצ'אקרה בנץ? אם כן, האם תוכל לומר לי אם
    האם זה קל למשתמש הנפוץ? אני משתמש ב- SolydK שזה מאוד פשוט אבל
    אני מבין שצ'אקרה היא KDE טהורה והיא מעניינת אותי.

    1.    ווקר דיג'ו

      כן, צ'אקרה היא טובה מאוד ופחות או יותר קלה, העניין הוא שכדי להתקין / להסיר חבילות אתה צריך לעשות את זה עם המסוף, מכיוון שהם עדיין עובדים על מנהל חבילות גרפי. נסה את זה כי זה שווה את זה. הוא משתמש במנהל חבילות ה- pacman, שעובר בירושה מ- Archlinux, אך היזהר, הוא אינו חולק מאגרים עם arch והוא אינו תואם להם. אם אתה רוצה ללמוד עוד על פקמן, עיין בוויקי הקשת https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    izzyvp דיג'ו

        Oktopi כבר יציב ועובד די טוב למשתמש ממוצע, עם זה אתה לא צריך את המסוף כדי להשתמש ב- pacman.

  3.   x11tete11x דיג'ו

    אני מקווה שפוסט זה יבקר על ידי רבים, ואז הם יתחילו להתקין את ראשיהם מחדש לכל דבר כאשר בעזרת chroot תוכלו לתקן את המערכת כמעט תמיד, ה- chroot מאפשר לכם הרבה אפשרויות, כולל התקנת Gentoo xD hahaha

  4.   אלונאדו דיג'ו

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

  5.   לולו דיג'ו

    להשלמתו, יהיה טוב להסביר כיצד להתקין מחיצות LVM, מחיצות מוצפנות ומערכות RAID.

    1.    ווקר דיג'ו

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

      1.    לולו דיג'ו

        ובכן האמת שאני יכול להשתמש נהדר.

        זה יהיה מוערך מאוד.

        1.    ווקר דיג'ו

          תסתכל בוויקי הזה, זה די מגניב http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   מוֹדֶם דיג'ו

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

    נושא זה יעבור לקבצי "אוסף המידע" שלי

  7.   עוגייה דיג'ו

    Arch LiveCD (עם הכלי הזה) הוא כל מה שנדרש כדי לתקן את המערכת שלך כשאתה שובר אותה.

    1.    RAW-Basic דיג'ו

      בדיוק! .. .. זה כל מה שצריך .. אפילו כדי לעזור למישהו עם ה- W $ שלו שהחליט לא להתחיל ..

      תמיד יש איתי פנדרייב של 1 ג'יגה-בייט עם Arch live ... ו- chroot הוא כל מה שצריך כדי שבכל בעיה, תוך 10 דקות יהיה לך הכל בסדר בלי להיבהל .. 😉

    2.    izzyvp דיג'ו

      אתה רק צריך לדעת איך לעשות את זה.

    3.    פבלו דיג'ו

      שלום, שים לב שיש לי בעיה עם centos, זה שולח לי פאניקת גרעינים וכו '. ולא הצלחתי לפתור את זה, יש לי את האתר והמאגר שלי שם. אני לא יודע מה עוד לעשות.

  8.   127 דיג'ו

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

    תודה רבה ואגב, תחי לד זפלין הייה.

  9.   קמלה דיג'ו

    תודה, סוף סוף יצאתי מסיוט ההצלה

    למעשה עקבתי אחר כל השלבים למעט umount / mnt / my_linux, כי זה אמר לי שזה תפוס, ואני מתמזג עם -km, אבל אפילו לא את זה, ומקפיץ ...

    אני מקווה שזה לא חשוב ....

    שוב תודה…
    ברכה

  10.   חוסה אנטוניו דיג'ו

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

    תודה רבה לך!

    1.    ווקר דיג'ו

      אני שמח שזה עזר לך. תודה על התגובה!

  11.   הליו דיג'ו

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

    1.    ווקר דיג'ו

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

  12.   Dach דיג'ו

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

  13.   זופק דיג'ו

    שלום, הדרכה מעולה! מוסבר להפליא, עבורנו בני תמותה בלבד!

    יש לי שאלה:
    כאשר ציינת שבמקרה שאתה צריך להתקין חבילות, לבצע עדכוני מערכת או פעילות מיוחדת אחרת ודורש הרכבה של תיקיות / dev / proc ו / sys, לא היה ברור לי אם התיקיות הללו נמצאות במערכת Live שאיתה התחיל את הציוד לתיקון, או אם הוא נמצא במחיצת השורש המותקן תחילה.

    תודה.

  14.   אורלנדו דיג'ו

    תודה רבה!!!!