כיצד לנקות קבצים זמניים בלינוקס שלב אחר שלב

העדכון אחרון: 22/02/2026
מחבר: יצחק
  • לינוקס מנהלת אוטומטית קבצים זמניים רבים בנתיבים כמו /tmp ו- /var/tmp, אך כדאי להכיר את ההבדלים ביניהם.
  • ניקוי מטמוני חבילות (apt, dnf) ומטמוני דפדפן מפנה בקלות כמה ג'יגה-בייט ללא סיכון למערכת.
  • הליבה משתמשת ב-PageCache וב-dentries וב-inodes, אשר ניתן לרוקן באמצעות sysctl במצבים ספציפיים.
  • Systemd-tmpfiles והטיימרים שלו שולטים במחיקה התקופתית של קבצים זמניים, במיוחד בשרתים ארוכי טווח.

ניקוי קבצים זמניים בלינוקס

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

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

תיקיות הקבצים הזמניות החשובות ביותר בלינוקס

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

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

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

אם ברצונך לראות באילו נתיבים המערכת משתמשת עבור קבצים זמניים וכדומה, תוכל להסתכל על התוכן של /usr/lib/tmpfiles.d/שם תמצאו קבצי תצורה של systemd-tmpfiles המתארים אילו ספריות מנוקות, באיזו תדירות ובאילו תנאים.

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

  • /var/runמכיל מידע על ביצוע מערכת ושירות (קבצי PID, שקעים וכו').
  • /var/spool: מאחסן תורים של משימות ממתינות, כגון עבודות הדפסה או מיילים שלא נמסרו.
  • /var/log/journal: מאחסן את יומני הרישום הבינאריים של systemd-journald, שיכולים לתפוס הרבה מקום אם הם לא מסובבים או מוגבלים כראוי.
  • /run/shmזיכרון משותף המבוסס על tmpfs, המשמש ל-IPC ולמטרות פנימיות אחרות.
  • /var/cache/manמטמון של דפי המדריך, ניתן לייצור מחדש ללא בעיה אם נמחק.

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

נתיבי קבצים זמניים בלינוקס

הבדלים בין /tmp לבין /var/tmp

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

מאפייני קבצים זמניים ב-/tmp

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

ברוב ההפצות הנוכחיות, תוֹכֶן /tmp הוא מנוקה אוטומטית בעת אתחול, בעת הפעלה מחדש או בהתאם למדיניות פנימית של systemd. (או כל מנגנון אחר שההפצה משתמשת בו). משמעות הדבר היא שנתונים אלה אינם אמורים להימשך זמן רב ולעתים קרובות מותקנים ישירות לתוך ה-RAM באמצעות tmpfs.

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

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

מאפייני קבצים זמניים ב-/var/tmp

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

  איך מטעין את בקר ה- Nintendo Switch OLED בצורה נכונה?

בהפצות רבות, תוֹכֶן /var/tmp זה לא נמחק בכל הפעלה.משך הזמן שבו הקבצים נשמרים תלוי במדיניות ההפצה ובתצורת systemd-tmpfiles. לדוגמה, חלק מהמערכות לעולם לא מרוקנות אותו אוטומטית, בעוד שאחרות עושות זאת אם לא נגעו בקבצים במשך יותר ממספר מסוים של ימים.

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

- /var/tmp להיות על דיסק "רגיל" (SSD או HDD) ולא מותקנים ב-RAM, דווקא משום שמה שמאוחסן שם יכול להיות שימושי בין אתחול מחדש. יישומים שרוצים לשמור מצבי שחזור, נתונים לשחזור הפעלות לאחר קריסה, או קבצי ביניים גדולים משתמשים לעתים קרובות בנתיב זה.

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

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

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

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

האם עלינו למחוק קבצים זמניים באופן ידני?

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

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

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

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

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

ניקוי מטמון וקבצים זמניים: מדוע זה משפר את הביצועים

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

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

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

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

  כיצד אוכל לשנות את סיסמת HBO Max שלי? קל ומהיר

נקה את מטמון החבילה בעזרת apt ו-dnf

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

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

הסרת המטמון בהפצות מבוססות apt

במערכות שמקורן בדביאן, אובונטו והפצות קשורות, מנהל החבילות הרגיל הוא aptכדי לנקות לחלוטין את מטמון החבילה, ניתן להשתמש בפקודה הבאה:

sudo apt clean

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

הסרת המטמון בהפצות מבוססות dnf

בהפצות מודרניות כמו פדורה או RHEL, המקבילה של apt היא dnfכדי לנקות את מטמון החבילה, ניתן להשתמש ב:

sudo dnf clean all

בעזרת פקודה זו, `dnf` מסיר חבילות ומטא-דאטה שהורדו , וגם מאלץ את פרטי המאגר להתעדכן בפעם הבאה שתתקין או תעדכן משהו. בפועל, זה עושה את אותו הדבר כמו `apt clean`, אבל עם לוגיקה פנימית משלו.

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

סוגים נוספים של מטמון בלינוקס: PageCache, dentries ו-inodes

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

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

מצד שני, ה- dentries וה-inodes מאחסנים מידע על ספריות ומטא-דאטה של ​​קבצים (הרשאות, גדלים, מיקומים וכו'). הם פועלים בשיתוף פעולה עם PageCache כדי לספק סטטיסטיקות ורשימות של ספריות כמעט מיידיות מבלי להזדקק לסריקת דיסק בכל פעם.

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

כדי לנקות רק את PageCache, ניתן להריץ:

sudo sysctl vm.drop_caches=1

אם ברצונך לנקות רק את מטמוני הדנטריות והאינודים, הערך לשימוש הוא:

sudo sysctl vm.drop_caches=2

ואם אתם צריכים למחוק את PageCache, dentries ו-inodes בבת אחת , הפקודה המתאימה היא:

sudo sysctl vm.drop_caches=3

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

נקה את מטמון הדפדפן ואפליקציות המשתמש

מוקד אחסון עיקרי נוסף הוא מטמוני יישומי משתמש , במיוחד דפדפני אינטרנט, אשר צוברים תמונות, סקריפטים, קובצי Cookie, מסדי נתונים מקומיים ועוד.

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

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

rm -rf ~/.cache/mozilla

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

  סקריפטים ב-Bash עם set -euo pipefail, trap ו-logging

כיצד למחוק קבצים זמניים ב-/tmp באמצעות systemd

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

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

אחד הטיימרים המרכזיים השולטים בהתנהגות זו הוא systemd-tmpfiles-clean.timerאם ברצונך להתאים את הזמנים, תוכל לערוך את ההגדרות שלהם באמצעות עורך טקסט, לדוגמה:

sudo nano /usr/lib/systemd/system/systemd-tmpfiles-clean.timer

בתוך הקובץ הזה תראו שני פרמטרים חשובים מאוד:

OnBootSec=15min
OnUnitActiveSec=1d

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

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

sudo systemctl daemon-reload
sudo systemctl enable --now systemd-tmpfiles-clean.timer

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

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

זיכרון מטמון מערכת ודוגמאות אחרות לפי פלטפורמה

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

ב-Windows, לדוגמה, ניתן לגשת להגדרות אחסון ו... השתמש באפשרות "מחק קבצים זמניים"בעוד שב-macOS נפוץ מאוד לגשת לנתיבים כמו ~/Biblioteca/Caches כדי להסיר ידנית ספריות יישומים שאינך משתמש בהן עוד.

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

sudo /etc/init.d/nscd restart

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

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

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

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

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

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

כיצד לזהות קבצים כפולים בלינוקס
כתבות קשורות:
כיצד לזהות ולהסיר קבצים כפולים בלינוקס