ホームページ  >  記事  >  システムチュートリアル  >  Linuxシステムの/tmp/フォルダーのクリーニング原理とtmpファイルの役割

Linuxシステムの/tmp/フォルダーのクリーニング原理とtmpファイルの役割

WBOY
WBOY転載
2023-12-21 17:36:172418ブラウズ

.tmp ファイルのほとんどは、異常なシャットダウンまたはクラッシュによって残されたファイルです。これらの一時的な仮想記憶ディスクは、コンピュータの再起動後は使用されないため、安全に削除できます。 Windows オペレーティング システムを使用している場合、C ドライブのルート ディレクトリにサフィックス TMP の付いたファイルが見つかることがよくあります。また、Windows ディレクトリにも TEMP ディレクトリが見つかります。TMP ファイルは、さまざまなソフトウェアやソフトウェアによって生成される一時ファイルです。システム。ジャンク ファイルとも呼ばれます。 Windows によって生成される一時ファイルは、本質的には仮想メモリと同じですが、一時ファイルは仮想メモリよりも対象が絞られており、特定のプログラムのみに使用される点が異なります。その特異性により、多くの初心者が怖気づいており、削除しないとスペースを占有し、削除するとプログラムの実行に失敗します。

Windows を何年も使用していると、Windows\Temp には間違いなく大量の「ジャンク」が存在します。実際、この Temp 内のすべてのファイルまたはフォルダーは削除できるため、次のときに削除することをお勧めします。 Temp フォルダーを頻繁にクリーンアップしますが、Temp フォルダー全体をまとめて削除するのではなく、Temp 内の内容を削除することを意味していることに注意してください (Temp フォルダーはまだ保持されています)。 Temp 内のファイルを削除すると、「アクセスが拒否されました」というエラー メッセージが表示されることがありますが、これは正常な現象です。

それらの一部は現在の一時ディスクであり、Windows によってまだ使用されているため、アクセス拒否メッセージのあるファイルをスキップして、他のファイルの削除を続けることができます。現在、大規模なツール ソフトウェアを実行している場合、一時ファイルには触れないでください。たとえば、Photoshop はグラフィックを処理するときに巨大な一時ファイルを生成します。これが自分で作成したファイルではないと考えて削除しようとすると、Photoshop がクラッシュする可能性があります。 。現在プログラムを実行していない場合は、一時ファイルが時間の経過とともに蓄積されてディスク領域を占有することを防ぐために、見つかった一時ファイルをすべて削除できます。重要なのは、一時ファイルが多数存在し、分散しているため、ディスク内で不必要な時間が浪費されることです。ファイル アロケーション テーブルで混乱が生じ、ファイルのクロスリンク エラーが発生する可能性があります。ただし、すべての一時ファイルをひとまとめにできるわけではありません。たとえば、C ドライブのルート ディレクトリにある TEMP ディレクトリは、多くのツール プログラムの一時ファイルのポイント ディレクトリです。このディレクトリがないと一時ファイルを作成できず、これらのツール ソフトウェアでエラーが発生する可能性があります。それらを削除するには、内部の一時ファイルのみをクリアする必要があります。TEMP ディレクトリ内のすべてのファイルを削除することはお勧めできません。通常、Windows には TEMP ファイルがあり、これがシステム内の一時ファイルのデフォルトの場所です。ディレクトリさえ削除することはお勧めできません。ディレクトリ内のゴミを定期的に削除するだけです。

Linux システムの /tmp/ フォルダーの消去の原則について

Linux システムでは /tmp フォルダー内のファイルが消去されることがわかっています。そうです、あなたはそれについてあまり知らないかもしれません。

RHEL\CentOS\Fedora\ システムの場合 (この実験は RHEL6 で実施されました)

最初に tmpwatch コマンドを見てみましょう。その機能は、コマンドが存在しない場合にコマンドを削除することです。一定期間使用されました (一定期間アクセスされていないファイルを削除します)。詳しい使い方については割愛しますので、興味のある方はご自身で調べてみてください。ここでは主に、このコマンドに関連するスケジュールされたタスク ファイルを確認します。

彼は /etc/cron.daily/tmpwatch です。このファイルの内容を見てみましょう

#! /bin/sh

flags=-umc

/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \

-x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \

-X '/tmp/hsperfdata_*' 10d /tmp

/usr/sbin/tmpwatch " $flags " 30d /var/tmp

for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do

if [ -d "$d" ]; then

/usr/sbin/tmpwatch "$flags" -f 30d "$d"

fi

done

このスクリプトを注意深く分析すると、1 行目はマーク (パラメータ)、2 行目は /tmp ディレクトリ内の除外ディレクトリ、3 行目はマーク (パラメータ) に相当します。この行は /tmp ディレクトリのクリーニングに関するもので、次は他のディレクトリのクリーニングに関するものなので、詳細は説明しません。

行 /usr/sbin/tmpwatch "$flags" 30d /var/tmp を見てみましょう。重要なのはこの 30d で、これは 30 日を意味します。これが決定です。 . /tmp 内のアクセスできないファイルを 30 日間クリーンアップします。 1 日に 1 回掃除したい場合は、この 30 日を 1 日に変更します。

ただし、注意すべき問題があります。30 分、10 秒など、クリーンアップ時間を短く設定する場合は、このファイルで設定できますが、コンピュータを再起動しても、/tmp フォルダの内容がクリーンアップされないことがわかります。これはなぜですか?これは tmpwatch の場所によって決まりますが、その上位ディレクトリは /etc/cron.daily/ で、このディレクトリは毎日スケジュールされたタスクを実行するため、1 日より短い時間を設定すると機能しません。あなたは理解した。

結論は次のとおりです。RHEL6 では、システムが /tmp フォルダーを自動的にクリーンアップするデフォルトの制限時間は 30 日です。

Debian\Ubuntu システム中 (Ubuntu10.10 は実験環境です)

Ubuntu システムでは、コンピューターの電源を入れるたびに /tmp フォルダーの内容がクリアされます。自動的にクリーンアップされたくない場合は、rcS の TMPTIME の値を変更するだけで済みます。ファイル。

変更方法を見てみましょう

sudo vi /etc/default/rcS

TMPTIME=0

を # に変更します

##TMPTIME=-1 または無限

これに変更すると、システムは再起動時に /tmp ディレクトリをクリーンアップしません。

類推すると、変更時間を制限したい場合は、対応する数値に変更できます (テストはしていません。これは私の理解です)

結論は次のとおりです。Ubuntu では、システムが /tmp フォルダーを自動的にクリーンアップする時間制限は、デフォルトで起動ごとに設定されます。

以上がLinuxシステムの/tmp/フォルダーのクリーニング原理とtmpファイルの役割の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsomode.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。