מדריך מקיף לניהול שטחי דיסק ב־Ubuntu

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

מדריך זה המקיף יספק לך מגוון כלים לניהול מקום בדיסק שלך ב-Ubuntu, כולל התקנה ושימוש בכלים וטכניקות שונות.

קרא הלאה ואמור להתראות לדאגות מקום בדיסק עם Ubuntu!

תנאי קדם

מדריך זה יהיה הדגמה מעשית. כדי להבין מה כתוב כאן, וודא שיש לך מערכת Ubuntu. מדריך זה משתמש ב-Ubuntu 20.04, אך גרסאות אחרות יכולות לעבוד.

שימוש ביישום הדיסק

אם אתה מחפש דרך מהירה לנהל את מקום הדיסק, סביבות שולחן עבודה מבוססות GNOME כמו Ubuntu מציעות כלי פרטוש גרפי ברירת מחדל. כל עוד יש מותקן את gnome-disk-utility, אתה יכול לגשת ליישום הדיסקים.

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

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

1. חפש ופתח את היישום "דיסקים", כפי שמוצג למטה.

Opening the Disks App

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

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

Using the Disk App

3. לבסוף, לחץ על סמל הגלגולת ובחר את האפשרות שברצונך לבצע מתוך תפריט ההקשר. כמה מהפעולות שתוכל לבצע כוללות אך לא מוגבלות למה שאחריו:

Option Function
Format Partition Formatting a partition erases all its data and creates a new empty filesystem. This option is useful when you plan to reinstall your OS.
Edit Partition Editing the partition allows you to change the partition’s size, format, and filesystem type without deleting any data.
Edit Filesystem This option lets you change the label or name of a partition on your system. The label or name of a partition is a short, descriptive string that identifies the partition on your system.
Check or Repair Filesystem This option performs a filesystem check on the volume, which can help identify and fix any problems, such as corruption or inconsistencies with the filesystem.

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

Accessing additional partition options

עם הפקודה df

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

כדי לראות איך פקודת df עובדת, עקוב אחר השלבים הבאים:

1. פתח טרמינל והרץ את הפקודה df הבאה כדי להציג רשימה של כל מערכות הקבצים והמידע המשויך אליהם בפורמט שניתן לקריאה לפי אדם (-h). ניתן להשתמש באפשרות -h כדי להציג את הגדלים בפורמט "ניתן לקריאה לפי אדם".

df -h

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

  • A main partition (/dev/sda5) with a total size of 20GB and 9.4GB of available space.

  • A /boot/efi partition (/dev/sda1) with a total size of 511MB and 511MB of available space

  • כמה חבילות snap (מערכות קבצים עבור חבילות תוכנה) מחוברות ל/snap/.

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

By default, the df command displays sizes in bytes, which is difficult to read. The -h option changes the display of sizes to use units such as kilobytes (K), megabytes (M), gigabytes (G), and terabytes (T). For example, the 1024000000 bytes size is displayed as 976M.

סה"כ, 49% מהמקום משתמש במחיצה הראשית (/dev/sda5), עם 9.4GB זמין, כפי שמוצג למטה. עם מידע זה, ניתן להחליט האם למחוק קבצים מיותרים כדי לשחרר מקום דיסק.

Listing all file systems

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

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

watch -n 5 df -h
Monitoring disk usage updates in real-time at a certain interval

3. לבסוף, הפעל את הפקודה df הבאה כדי לרשום את כל מערכות הקבצים אך להגביל את הפלט לסוגי מערכות קבצים מסוימות (-t), במקרה זה, מערכות ext4.

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

df -t ext4

למטה, ניתן לראות שהפקודה df החזירה רק מערכת קבצים ext4 אחת, שהיא המחיצה הראשית (/dev/sda5).

Listing filesystems of a specific type

באמצעות הפקודה du

במקום לקבל את השטח שנצרף במערכת הקבצים כולה, אתה יכול לקבוע כמה שטח נצרף על ידי קובץ או תיקייה. כיצד? באמצעות פקודת השימוש בשטח הדיסק (du).

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

? פקודת ה-du יכולה להיות שימושית להבנת איך שטח הדיסק משמש ברמה מדוקדקת יותר.

כדי לראות איך פקודת ה-du עובדת לניהול שטח הדיסק, עקוב אחר השלבים הבאים:

1. הרץ את פקודת ה-du הבאה כדי לקבל סיכום (-s) של שימוש התיקייה /tmp בפורמט שניתן לקריאה על ידי אדם (-h).

du -sh /tmp

הפלט מציג שהתיקייה /tmp והתתי-תיקיות שלה משתמשות בסך כל 6.1GB של שטח.

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

Viewing a summary of a directory’s disk usage

2. לאחר מכן, הרץ את הפקודה ls הבאה כדי לרשום את רשימת הקבצים הקיימים בתיקיית /tmp בפורמט ארוך (-l).

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

ls -l /tmp

בפלט הבא, תוכל לראות כי הקובץ הגדול ביותר בתיקיית /tmp הוא הקובץ test2.img, שתוכל למחוק אם הוא לא נדרש יותר.

Listing files in the /tmp directory

3. כעת, הרץ את הפקודה הבאה rm, שאינה מפיקה פלט, אך מוחקת את הקובץ הגדול המצוין (test2.img) כדי לשחרר מקום במערכת שלך.

sudo rm -f test2.img

אוטומציה של בדיקת נפח אחסון ומחיקת קבצים

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

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

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

1. צור קובץ סקריפט Bash עם עורך הקובץ המועדף עליך ותן לו שם כרצונך, אך הבחירה במדריך זה היא temp_file_terminator.sh.

2. לאחר מכן, מלא את הקוד הבא לקובץ temp_file_terminator.sh, שמור את השינויים וסגור את הקובץ.

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

#!/bin/bash

# הגדר גודל מרבי עבור הספרייה /tmp
MAX_SIZE=2097152

# בדוק את הגודל הנוכחי של הספרייה /tmp
CURRENT_SIZE=$(du -sk /tmp | awk '{print $1}')

# אם הספרייה /tmp גדולה מהגודל המרבי, מחק קבצים
if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ]
then
  echo "The /tmp directory is larger than the maximum size of 2GB. Deleting files..."

  # מצא את כל הקבצים בתוך /tmp שיש להם יותר משלושה ימים ומחק אותם
  find /tmp -type f -mtime +3 -delete

  # בדוק שוב את גודל הספרייה /tmp
  CURRENT_SIZE=$(du -sk /tmp | awk '{print $1}')

  # אם הספרייה /tmp עדיין גדולה מהגודל המרבי, מחק את כל הקבצים
  if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ]
  then
    rm -rf /tmp/*
    echo "All files in /tmp have been deleted."
  else
    echo "Files in /tmp have been deleted. The /tmp directory is now below the maximum size of 2GB."
  fi
else
  echo "The /tmp directory is not large enough to trigger file deletion. No files have been deleted."
fi

3. לבסוף, הריץ את הפקודה הבאה ב- bash כדי להריץ את הסקריפט (temp_file_terminator.sh) מתוך התיקייה הנוכחית (./).

sudo bash ./temp_file_terminator.sh

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

Running the Bash script to automate checking disk space and deleting files

מסקנה

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

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

כעת, למה לא לשים את הכלים הללו לתרגול ולקחת את הצעד הבא בעזרת שליטה באובייקטים של מערכת הקבצים של Amazon EFS?

Source:
https://adamtheautomator.com/ubuntu-disk-space/