چرا اسنپشاتهای Time Machine فضای دیسک مک رو میخورن؟
خلاصهٔ کاملتر
اسنپشات APFS یعنی یه کپی از وضعیت کامل یه ولوم (هم متادیتای فایلسیستم، هم دیتای خود فایلها) تو یه لحظهی مشخص، که بعداً میشه ولوم رو دقیقاً به همون حالت برگردوند. نکتهی مهم اینه که بعد از ساخته شدن اسنپشات، تمام بلوکهای دیسکی که اون موقع استفاده میشدن باید نگه داشته شن -حتی اگه فایلشون بعداً حذف یا ادیت شه- چون برای بازگردوندن به همون اسنپشات لازمن. یعنی حذف یا تغییر فایل، مثل قبل فضا رو آزاد نمیکنه؛ فضای اشغالی بهمرور فقط زیاد میشه.
با گذشت زمان و تغییر بیشتر دادهها تو ولوم زنده، حجمی که یه اسنپشات نگه میداره از چند مگابایت به گیگابایتها میرسه و اگه فراموشش کنی، میتونه صدها گیگابایت بشه. به همین خاطر Time Machine خودش اسنپشاتها رو مدیریت میکنه: هر اسنپشاتی که عمرش از ۲۴ ساعت بگذره، و همچنین اسنپشاتهای قدیمی وقتی فضای آزاد دیسک کم بشه، بهصورت خودکار پاک میشن.
چون اسنپشات APFS همیشه روی کل ولوم گرفته میشه، نمیشه فایلهای بزرگ مثل دیسک ماشین مجازی رو از اسنپشاتها کنار گذاشت، حتی اگه بشه از بکاپ کنارشون گذاشت. راهحل، ساختن یه ولوم جدا با Disk Utility (با یه Quota Size مشخص) برای همین فایلهای بزرگ و کنار گذاشتنش از بکاپ خودکاره. برای ساخت اسنپشات دستی هم دستور tmutil localsnapshot یا tmutil snapshot (بدون داکیومنت رسمی) استفاده میشه، و برای آزاد کردن فضا هم این دستور به کار میره:
tmutil thinlocalsnapshots mount_point [purge_amount] [urgency]
که توش purge_amount مقدار فضایی که میخوای آزاد شه رو مشخص میکنه.
برای پاک کردن یه اسنپشات بدون از دست دادن بقیه، از Disk Utility با فعال کردن گزینهی Show APFS Snapshots تو منوی View استفاده میشه؛ چون اسنپشاتها فقط-خواندنیان، نمیشه یه فایل خاص رو ازشون حذف کرد، فقط کل اسنپشات پاک میشه. همیشه باید جدیدترین اسنپشات نگه داشته شه چون Time Machine تو بکاپ بعدی بهش نیاز داره. برای برگشت کامل به یه اسنپشات هم باید تو حالت Recovery، از مسیر Time Machine System Restore اقدام کرد؛ این کار تقریباً آنی انجام میشه ولی همهی اسنپشاتهای بعد از اون لحظه رو خودکار پاک میکنه.
نکات کلیدی:
- اسنپشات APFS باعث میشه حذف یا ادیت فایل، فضای دیسک رو مثل قبل آزاد نکنه
- Time Machine اسنپشاتهای بالای ۲۴ ساعته یا هنگام کمبود فضا رو خودکار پاک میکنه
- فایلهای بزرگ مثل VM رو باید تو یه ولوم جدا و خارج از بکاپ نگه داشت، چون از اسنپشات کل ولوم قابل حذف نیستن
- ساخت اسنپشات دستی با tmutil localsnapshot یا tmutil snapshot
- آزاد کردن فضا با دستور tmutil thinlocalsnapshots
- برگشت کامل به اسنپشات فقط از مسیر Recovery و Time Machine System Restore ممکنه




