כל הנתונים החשובים שלנו יושבים במערכת קבצים מסוג אחד או אחר, בעיות מערכת הקבצים חייבים לקרות. על לינוקס, אנחנו יכולים להשתמש
fsck
הפקודה כדי למצוא ולתקן שגיאות מערכת קבצים.
מערכות קבצים הן תוכנה
מערכות קבצים הן אחת המרכיבים הקריטיים ביותר של מחשב. ללא מערכת קבצים, המחשב אינו יכול לאחסן נתונים על כונן קשיח, אם כונן זה הוא מגש מכני ספינינג או כונן מצב מוצק . למעשה, יש ליצור מערכת קבצים לפני שניתן להתקין את מערכת ההפעלה בכונן הקשיח. חייב להיות משהו עבור קבצי מערכת ההפעלה להיות מאוחסן. לכן מערכת קבצים נוצרת במהלך תהליך ההתקנה.
מערכות קבצים הן נוצר על ידי תוכנה , שנכתב על ידי תוכנה, ולקרוא מתוך תוכנה. כפי שאתה יודע, כל התוכנה המורכבת יש באגים. הנתונים שלנו חשוב לנו ביקורת, אז אנחנו לשים הרבה אמונה במערכות הקבצים ואת התוכנה שיוצר ומשתמש בהם. אם משהו משתבש, אנחנו יכולים לאבד גישה חלקים של מערכת הקבצים או אפילו מחיצה שלמה.
מוֹדֶרנִי מערכות קבצים עדיפים בטיפול בבעיות שניתן לגרום על ידי אובדן פתאומי של כוח או לקרוס מערכת. הם חסומים, אבל הם לא בלתי מנוצחים. אם שלהם שולחנות פנימיים מקבלים מקושקשות הם יכולים לאבד את המסלול שבו כל קובץ מתגורר על הכונן, מה גודל זה, איזה שם יש לו, ומה הרשאות קובץ נקבעים עליהם.
ה
fsck
הפקודה מאפשרת לך לבדוק כי מערכות הקבצים שלך בריאים. אם הוא מוצא בעיות זה יכול בדרך כלל לתקן אותם גם לך.
האם בדיקות preflight
באמצעות
fsck
דורש
הרשאות סודו
. כל פקודה שיכולה לבצע שינויים במערכת קבצים צריכה להיות מטופלת בזהירות ומוגבלות לאלה שיודעים מה הם עושים.
טייסים לא קופצים למטוס, להתחיל את זה, ולעוף לתוך הכחול החיוור יונדר. הם עושים בדיקות preflight. יש יותר מדי על כף המאזניים לעשות אחרת. זה הרגל טוב לפתח. לפני שאתה משתמש
fsck
אתה צריך לוודא שאתה הולך להשתמש בו על הכונן הנכון. אז לפני עושה משהו עם
fsck
, אנחנו הולכים לעשות קצת סיור.
נתחיל עם
fdisk
ואת הצינור אותו לתוך
פָּחוּת
. אנחנו לא מבקשים מידע על מחיצה ספציפית. באמצעות
-L
(רשימה)
fdisk
מפרט את טבלאות המחיצה בכל המכשירים שהוא מוצא בקובץ "/ proc / partitions", אם הוא קיים.
Sudo Fdisk -l | פחות
אנו יכולים לראות את הערכים עבור
/ dev / sda
ו
/ dev / sdb
. באפשרותך לגלול בין הקובץ כדי לראות ערכים אחרים שעשויים להתקיים במחשב שלך.
המחיצות ב-
/ dev / sda
מפורטים כאל
/ dev / sda1
,
/ dev / sda2
, ו
/ dev / sda3
. אז יש לנו שלוש מחיצות על הכונן הראשון. אנחנו יכולים לראות קצת יותר מידע על ידי שימוש
נפרד
פקודה. נשתמש ב
'הדפס'
אפשרות להציג את טבלאות המחיצה בחלון הטרמינל.
Sudo Parted / Dev / SDA 'הדפס'
אנחנו מקבלים קצת מידע נוסף הפעם, כולל סוג של מערכת הקבצים בכל מחיצה.
דגם: ATA VBOX Harddisk (SCSI) דיסק / dev / sda: 34.4GB גודל המגזר (לוגי / פיזי): 512b / 512b לוח מחיצה: GPT דגלי דיסק: מספר גודל הקצה גודל קובץ שם קובץ דגלים 1 1049KB 2097KB 1049KB bios_grub 2 2097KB 540MB 538MB FAT32 EFI מערכת מחיצה אתחול, ESP 3 540MB 34.4GB 33.8GB EXT4
ישנם שלושה כוננים במחשב בדיקה זה. אלה הן התוצאות עבור שני כוננים אחרים
/ dev / sdb
ו
/ dev / sdc
. הערה כי מערכות קבצים אלה אין בשדה "שם".
sudo נפרד / dev / sdb 'להדפיס'
דגם: ATA VBOX Harddisk (SCSI) דיסק / dev / sdb: 21.5GB גודל המגזר (לוגי / פיזי): 512b / 512b טבלת המחיצות: msdos דגלי דיסק: דגלי מערכת גודל סוג קובץ מספר ההתחלה End 1 ext4 העיקרי 1049kB 21.5GB 21.5GB
sudo נפרד / dev / SDC 'להדפיס'
דגם: ATA VBOX Harddisk (SCSI) דיסק / dev / SDC: 21.5GB גודל המגזר (לוגי / פיזי): 512b / 512b טבלת המחיצות: msdos דגלי דיסק: דגלי מערכת גודל סוג קובץ מספר ההתחלה End 1 ext3 העיקרי 1049kB 21.5GB 21.5GB
הכוננים השני והשלישי לקרות להיות באותו גודל, ולכל אחד מהם יש מחיצה אחת. אבל מערכת הקבצים בכונן השני היא
ext4
המערכת, ואת הקובץ בכונן השלישי הוא מבוגר
ext3
.
אנחנו עוברים מזהים מחיצה כדי
fsck
, והוא בודק את מערכת הקבצים במחיצה הזו. אבל אנחנו לא יכולים לרוץ
fsck
על מערכת קבצים רכוב. אנחנו צריכים unmount הכונן. כדי לעשות זאת אנחנו צריכים לדעת את נקודת העיגון שהמחיצה-ולכן הקבצים בכל המערכת הוא רכוב על.
אנחנו יכולים לגלות כי בקלות באמצעות
df.
פקודה.
DF / dev / sdb1
DF / dev / sdc1
שימוש fsck הפיקוד
יש לנו את כל המידע שאנחנו צריכים. הדבר הראשון שנעשה הוא לנתקה מערכת הקבצים אנחנו הולכים לבדוק. אנחנו הולכים לעבוד על מערכת קבצים על הראשונה והיחידה-המחיצה של
/ dev / sdb
, שהינה
/ Dev / sdb1
. ראינו קודם לכן כי מדובר
ext4
מערכת הקבצים, והוא רכוב על "/ ריצה / הר / דייב / SATA2."
נשתמש ב
אוֹמֵן
פקודה. שימו לב כי אין "n" ב "umount."
sudo umount / לרוץ / הר / דייב / SATA2
עם
אוֹמֵן
חדשות, לא חדשות טובות. אם אתה שב בשקט אל שורת הפקודה, אנחנו טובים את אמורה ללכת.
sudo fsck / dev / sdb1
מערכת קובץ זה הוא כפי שדווח להיות נקי. כלומר, מערכת הקבצים מדווחת כי אין לה שגיאות או בעיות. בדיקת מערכת קבצים עמוקה אינה מתבצעת באופן אוטומטי. גם אנחנו יכולים להסתכל על קוד החזר כי
fsck
חזרתי הקליפה.
הד $?
הערך המוחזר של אפס מציין שאין טעויות. קודי החזרה האפשריים הם:
- 0. : ללא שגיאות
- 1. : שגיאות מערכת קבצים תקנו
- 2. : יש לאתחל מערכת
- 4. : שגיאות מערכת קבצים עזבו לא מתוקנות
- 8. : טעות מבצעית
- 16. : שגיאת שימוש או תחביר
- 32. : בדיקה בוטל בעקבות בקשת משתמשים
- 128. : שגיאה משותפת-ספרייה
למרות מערכת הקבצים שדווחה נקי, אנחנו יכולים להכריח המחאת מערכת קבצים להתקיים, באמצעות
-f
אפשרות (כוח).
sudo fsck / dev / sdb1 -f
הפעם, את צ'ק מתארך אך היא מבצעת בדיקה יסודית יותר של מערכת הקבצים. מערכת הקבצים שלנו אכן הייתה נקיה, וגם לא נמצאו דיווח שגיאות. אם נמצאות בעיות כמו בדיקות נערכות, תתבקש לתת
fsck
לתקן את הבעיה או להתעלם מהשגיאה.
כאשר יש לך בדיקות מוגמרות, אתה צריך לעלות שוב את מערכת הקבצים. הדרך הקלה ביותר לעשות זאת היא להשתמש
הר
עם ה
-א
אפשרות (כל). צ'קים זה "/ etc / fstab" עבור רשימה של מערכות קבצים, ומוודא שהם כל רכוב בדיוק כפי שהם יהיו הבאים אתחול רגיל.
sudo mount -a
הערה כי אנחנו לא צריכים לספר
fsck
איזה סוג של מערכת קבצים במחיצה; השירות קובע כי על ידי בחינת מערכת הקבצים. זה אומר שאנחנו יכולים לכפות בדיקת מערכת קבצים על
/ Dev / sdc1
, ה
ext3
מערכת הקבצים במחשב הבדיקה שלנו, באמצעות הפקודה בדיוק נהגנו על
/ Dev / sdb1
אשר, הוא
ext4
חֲלוּקָה.
sudo fsck / dev / sdc1 -f
אתה אולי לא רוצה לצלול ישר לתוך לתקן את מערכת הקבצים. ייתכן מעדיף להסתכל לפני שאתה קופץ. אתה יכול לשאול
fsck
לא מציעים לכם לתקן כל דבר ונושאים הדו"ח רק כדי לסגור את חלון המסוף. ה
-N
(יבשה ריצה) אפשרות עושה בדיוק את זה:
sudo fsck -N / dev / sdb1
ההפך כי הוא לספר
fsck
כדי לא להטריד המבקשת אם הוא מוצא את כול שגיאות, וכדי רק קדימה ולתקן אותם. כדי לעשות זאת, להשתמש
-
אפשרות (לא לפי הנחיות).
sudo fsck -y / dev / sdb1
שימוש fsck על מחיצת השורש
אתה לא יכול להשתמש
fsck
במחיצה רכוב, אך כדי לאתחל את המחשב את מחיצת השורש חייבת להיות מותקנת. אז איך אנחנו יכולים לרוץ
fsck
על מחיצת השורש? התשובה היא מפסיקה את תהליך האתחול וברח
fsck
במצב התאוששות.
בעוד מפעילים את המחשב שלך, חזק מקש "Shift". אם אתה כבר מתוזמן זה נכון שאתה לא תבצע אתחול לינוקס. תהליך האתחול יעצור תפריט שחור ולבן. מכונת הבדיקה נעשתה שימוש עבור מאמר זה רצה אובונטו אבל הפצות אחרות יש את אותו סוג של תפריט, למרות שהיא עשויה להשתנות במראה. איפה שכתוב "אובונטו" בתוך המסך זה יהיה השם של ההפצה שלך.
הזיזו את סרגל השיא עם המפתחות "חץ למעלה" ו "חץ למטה" כך "אפשרויות מתקדמות עבור אובונטו" פריט התפריט שנבחר. Hit "Enter" כדי לעבור למסך הבא.
בחר באפשרות שמסתיימת "(מצב שחזור)." בדוגמה שלנו, זה "אובונטו, עם לינוקס 5.11.0-20-גנריות (מצב שחזור)." הכה את המקש "Enter".
תראה תפריט השחזור. בחר "fsck לבדוק את כל מערכות קבצים" ולחץ על מקש "Tab" כדי להזיז את השיא אל כפתור "אישור". לחץ אנטר."
תראה הודעה המציינת כי מחיצת השורש יהיה רכוב יחד עם כל שאר המחיצות המוגדרות שלך "/ Etc / fstab" קובץ .
לחצו על "Tab" מפתח כדי להזיז את השיא אל כפתור "כן" ולחץ "Enter."
תראה
fsck
לפעול במצב אינטראקטיבי. אם יש בעיות יתבקשו לתת
fsck
לתקן אותם או להתעלם מהם. כאשר מערכות הקבצים נבדקו תראה תפריט השחזור שוב.
בחר באפשרות "קורות חיים", לחץ על מקש "Tab" כדי להזיז את גולת הכותרת של "OK", ולחץ "Enter." תהליך האתחול יתחדש, ואתה לאתחל לתוך לינוקס.
האתחול במצב התאוששות יכול להשפיע נהגים מסוימים, כך שמומלץ לאתחל שוב, ברגע שאתה לאתחל לתוך לינוקס. הדבר מבטיח את המחשב פועל בצורה הסטנדרטית שלה.
כשהדברים משתבשים
רשתות ביטחון נמצאים שם מסיבה. להכיר את
fsck
פקודה. אם מתעורר הצורך להשתמש בו יום זעם אחד, אתה תשמח להכיר את עצמך מראש.