
/private/var/folders/*
OS Xの起動時にクリーンアップしたい、作成することでエントリーlaunchd
。(私の知る限りOS Xはをサポートしていませんrc.conf
rc.d
- すべてはのエントリを作成することによって行う必要がありますlaunchd
)
こちらは似ている 質問残念ながら、受け入れられた答えは間違っています。なぜなら、ここではmktemp
実行可能でまだファイルを開いているデーモン(特に呼び出しに依存するデーモン)があるためです。削除できませんでしたいつでも何でも/private/var/folders/*
。(正確に言うと、提案された「再起動」は問題をいくらか解決しますが、完全には解決しません。)
そこで質問なのですが: ファイルを安全に削除するには/private/var/folders/*
起動時?
(再起動が必要なインストール スクリプト (.kext インストールなど) では、再起動後のインストール データ用に一時フォルダーを使用する可能性があると思います。また、重要なインストール後に必要なファイルを削除してシステムをロックアップさせたくはありません :) -これは完全に私の推測です- だから尋ねるのです。
- それとも、X 日より古いファイルを削除するのが唯一の安全な方法でしょうか?
- あるいは別のアイデア安全しかし自動
/private/var/folders/*
どんどん大きくなっているので、一時ファイル/ディレクトリをクリーンアップしています... ;(
答え1
要約:/var/folders
ユーザーごとのキャッシュと一時ファイル用のフォルダーが含まれています。自分のフォルダーにはアクセスできますが、他のユーザーのフォルダーにはアクセスできません。現在使用されていないファイルを削除しても安全ですが、使用中のファイルを削除すると問題が発生する可能性があります。それらを消去する場合は、問題が発生する可能性を最小限に抑えるために、後で再起動する必要があります。
何もしない場合は、システム プロセスによって、3 日間アクセスされていないファイルがこれらのフォルダーから定期的に消去されるため、ストレージ容量が非常に不足している場合を除き、何もする必要はありません。
詳細
/var/folders
には主に、ユーザーごとに保存される一時ファイルとキャッシュ ファイルが含まれます。 のルートを見ると/var/folders
、あまり何も見えません。
$ ls -l /var/folders
total 0
drwxr-xr-x 3 root wheel 102 Mar 2 2014 43/
drwxr-xr-x 3 root wheel 102 Mar 2 2014 4c/
drwxr-xr-x 3 root wheel 102 Mar 2 2014 c3/
...
しかし、1 レベル下を見ると、これらにはユーザーごとのフォルダーが含まれていることがわかります。通常、各最上位レベル (2 文字) フォルダーには 1 つのユーザー フォルダーが含まれますが、「zz」フォルダーには多くのシステム ユーザーが含まれます。たとえば、次のようになります (ユーザー名はプライバシー保護のため変更されています)。
$ ls -l /var/folders/*
/var/folders/43:
total 0
drwxr-xr-x 6 user1 staff 204 Oct 3 2016 3lsw0k6d7vqbywvsf226nkqc0000gs/
/var/folders/4c:
total 0
drwxr-xr-x 6 user2 staff 204 Jul 15 2016 yc9pgt3j5y18vr29jcgbbyb4000101/
/var/folders/c3:
total 0
drwxr-xr-x 6 user3 staff 204 Aug 16 2016 wv6q5xlx1flgtwcs0rjlkbd4000102/
/var/folders/rp:
total 0
drwxr-xr-x 4 admin staff 136 Jul 3 2016 qjg8tsk964scvw2510_n6yz00000gt/
/var/folders/yx:
total 0
drwxr-xr-x 4 macports macports 136 Jul 3 2016 m3d21nm91wnd4c0k2yjk57200000gn/
/var/folders/zz:
total 0
drwxr-xr-x 6 root wheel 204 Jul 3 2016 zyxvpxvq6csfxvn_n0000000000000/
drwxr-xr-x 3 _networkd _networkd 102 Jul 3 2016 zyxvpxvq6csfxvn_n000003000000r/
drwxr-xr-x 3 _lp _lp 102 Jul 3 2016 zyxvpxvq6csfxvn_n000003800000t/
...
これらのそれぞれの中に、いくつかの魔法のフォルダーがあります。
$ ls -l /var/folders/4c/yc9pgt3j5y18vr29jcgbbyb4000101/
total 0
drwxr-xr-x 6 user2 staff 204 Sep 1 10:31 0/
drwx------ 53 user2 staff 1802 Jul 28 18:44 C/
drwxr-xr-x 2 user2 staff 68 Jul 3 2016 Cleanup At Startup/
drwx------ 83 user2 staff 2822 Sep 1 10:53 T/
「C
」フォルダはそのユーザのキャッシュで、(MacOS X 10.5 より前では) に入っていたものが含まれています/Library/Caches
。「 」フォルダはそのユーザの一時ファイルで、または のT
代わりになります。/tmp
/var/tmp
他の 2 つのフォルダについてはよくわかりません。 Cleanup At Startup
は空です。その目的は、再起動の瞬間まで必要だが、その後は消去する必要があるファイル (システム アップデーターによって使用される一時ファイルなど) を保存することであり、したがって、再起動後 (またはログアウト/ログイン後) に消去されると思われます。
「0
」フォルダにはデスクトップ関連のデータベースがいくつか含まれており、おそらくこれらのサービスのキャッシュとして機能することを目的としています。
$ ls -l /var/folders/4c/yc9pgt3j5y18vr29jcgbbyb4000101/0
total 14104
-rw------- 1 user2 staff 7221248 Sep 1 10:31 com.apple.LaunchServices-1341025.csstore
drwx------ 3 user2 staff 102 Jul 3 2016 com.apple.dock.launchpad/
drwx------ 3 user2 staff 102 Jul 3 2016 com.apple.notificationcenter/
drwx------ 3 user2 staff 102 Sep 1 10:05 com.apple.pluginkit/
まとめると、すべてのユーザーと仮想ユーザーは の下に独自のディレクトリを持っています/var/folders
。自分のディレクトリにはアクセスできますが、他のユーザーにはアクセスできません ( sudo
root としてアクセスする場合を除く)。これらのディレクトリには主にキャッシュと一時ファイルが含まれています。そのため、ファイルが使用中かどうかに応じて、コンテンツを削除しても安全でない場合があります。
対応するプロセスがまだ実行中のファイルを削除すると、そのプロセスが誤動作したりクラッシュしたりする可能性があります。対応するプロセスが実行中でないファイルを削除するのは安全ですが、プロセスが再起動したときにパフォーマンスの問題が発生する可能性があります (キャッシュと一時ファイルが再生成される可能性が高いため)。
どうやら、これらのフォルダをクリーンアップするために、毎晩午前 3 時 35 分にバックグラウンド プロセスが実行されるようです。クリーンアップの具体的な内容はわかりません (十分に文書化されていないようです) が、私が読んだところによると、3 日間アクセスされていないファイルはすべて削除されるようです。
答え2
通常、/var/folders
必要に応じてシステムによって適切に削除および調整される必要があります。何が削除されるか知らずにそこから何かを削除すると、予期しない非常に望ましくない結果が発生する可能性があります。
再起動時にこのフォルダを手動で消去するということであれば、実行中のプログラムによって使用される可能性は低いので(前回の残り物だけ)、安全であると思います。ただし、おっしゃる通り、念のため 1 日前のファイルは削除した方が常に安全です。
OS X がそのフォルダをどのようにクリーンアップするか、またそれを手動でどのように呼び出すかを知ることは良いことだと思います。そうすれば、より良い解決策になるでしょう。
参照:
答え3
参考までに (つまり、自分で判断してください :-)、これを Catalina (10.15) で実行するのは危険です。私は Catalina にアップグレードした後、Macbook Air でこれを実行しました。再起動できず、内部画面が不良なため Time Machine から回復するのは大変でした。
私も Macbook Air の画面が悪く (キーボードもトラックパッドもダメでしたが、話がそれました)、開発に使用していたので心配でした。そこで、代わりにオンラインで別のトリックを見つけました。起動中に Shift キーを押したままにすると、Mac が「セーフ モード」になります。すると Mac がセーフ モードで起動し、「sudo du -d 1 -h /private」で 44GB であることが確認されました。もう一度通常の Mac OS X に再起動すると、同じコマンドで 3GB が表示されました。
ちなみに、これは通常のキーボードでは機能しなかったため、Apple キーボードを探す必要がありました。
面倒ではありますが、定期的に行う方がはるかに安全です。無料のクリーナーを試しましたが、どれもこれらのファイルやフォルダを見つけられませんでした。また、おそらく見つけられないクリーナーに 30 ~ 80 ドルを費やすのは避けたいです...