rm -rf / tmp / *は安全ですか?


29

これは私がWindowsでよくやったことですが、最近の大失敗の後、確認したいと思います。するのは安全ですか

sudo rm -rf /tmp/*


これは常に稼働しているサーバーですか、それとも毎日シャットダウンするデスクトップマシンですか?
ユーザー不明

/ tmpのファイルを削除する理由を尋ねたいのですが?いっぱいになっているからですか、それともプライバシー上の理由からですか?スペースの問題である場合は、アプリケーションの動作に問題があるか、より大きなパーティションに配置する必要がある可能性があります。プライバシーが必要な場合は、暗号化されたファイルシステムを使用するなど、他の選択肢が考えられます。
ロブ

システムでさまざまな問題を引き起こす可能性がありますが、主に機能します。
ペテルはモニカを

回答:


19

一般的に、いいえ。

迷惑メールでいっぱいになっている場合は、どのソフトウェアが自動的にクリーンアップしないかを調べてください。

また、findを使用して、長い間変更またはアクセスされていないファイルのうち、削除しても安全であると思われるファイルを特定することもできます。


9
ここで「いいえ」のコーラスと、ほとんどのLinuxディストリビューション/tmp/が起動時に自動的に消去されるという補足に同意します。ここで再起動しないサーバーについて説明している場合、これは必ずしも役に立ちませんfind ./ -type f -atime 14 -exec rm {} \; が、過去2週間でまったくアクセスされていないプレーンファイルを毎週実行する可能性があり ます。 ..
シャドゥール

find ./ -type f -atime 14 -deletegnu-findを使用して
ユーザー不明

@userこれはもちろん、ファイルが変更されたときにのみ更新される/tmp現在のカーネルのデフォルトを使用していないことを前提としていrelatimeますnoatime。その場合atime、リモートで役立つことはありません。
-xenoterracide

8

本当の答えは-状況次第です。/ tmpは、実行するためにロックファイルまたは一時ログが存在する必要があるアプリケーションで使用される場合とされない場合があります。そこにシンボリックリンクがあるかもしれません...何のためにわからないが、それは常に可能です。

削除する前に、そこにあるものを実際に確認する必要があります。何かに対してrf -rf *を実行することは本質的に危険です。


3
私のシステムでは、ログファイルは/ var / logに、ロックファイルは/ var / lockに移動します。
ユーザー不明

3
@user確かに、システムデーモンの場合...これは/tmp、通常のユーザーが書き込みできないため、ユーザーアプリケーションのロックまたはログがないことを必ずしも意味しません。ロック/var/log|lockを書き込むシェルスクリプトがあります/tmp
xenoterracide

7

いいえ。たとえば、ソケットを強制終了するMySQLデータベースがコンピューターで実行されている場合、またはサーバープロセスを強制終了するサーバーとしてemacsを使用している場合です。これらのファイルを削除することが安全でない他の多くのケースがあります。最善の方法は、ファイルの日付をチェックし、古い場合にのみ削除するスクリプトを作成することです。


「ソケットを殺す」と言うときの簡単な質問は、「ソケット」とはどういう意味ですか?
カシム


2

いや

ただし、/ tmp dirのramdiskを使用すると、システムを再起動するたびに空になります。また、副作用として、システムが少し大きくなる場合があります。

Googleはtmpfsやramfsについての情報をたくさん持っています。


再起動時に/ tmpを自動的にクリアすることは一般的ではありませんか?Gentooはない、と私はUbuntuはないと思うが、私はそれを使用するので、それはしばらくしている
マイケルMrozek

いいえ、UbuntuのようなDebian派生ディストリビューションはそうではないと思います(とにかく今)。ただし、必要に応じて追加するのは非常に簡単です。
ヨハン

Ubuntu Matty(または現在のリリースが呼ばれているもの)が行います。しかし、マシンを定期的に再起動しなければ、それは起こりません。
ロブ

[OK]を、現在を確認しませんでした。現在、LTSトラックを使用しています。
ヨハン

Ubuntuは、Knoppix、Peanut、Halloween、Red Hat、SuSeなど、以前にテストしたすべてのLinuxでした。なぜシステムが高速になるのですか?正確に何が速くなるでしょうか?計算、ディスクアクセス、ネットワーク、起動?
ユーザー不明

-4

私の提案は、最初にtmpフォルダの名前を変更して、このディレクトリの影響を受けているものを確認することです。名前を「tmp」から「old_tmp」に変更します。また、「tmp」という名前の新しい空のフォルダを作成します。セットアップまたはシステムプロセスによっては、このフォルダでログファイルなどのこのファイルを作成する必要がある場合があります。tmp日付を安全に削除するには、次の手順に従います。

1-既存の「tmp」ディレクトリの名前を「old_tmp」に変更します。2-新しい空の「tmp」ディレクトリを作成します3-システム/セットアップがこのディレクトリ内にログやその他のファイルを作成/配置する許可を持つように、この新しく作成したディレクトリに「0777」としてすべての許可を割り当てます。4-システムとアプリケーションを実行して、すべてが正常に動作し、通常どおりに動作することを確認します。2〜3日間観察し続けます。5-「tmp」ディレクトリの名前を「old_tmp」に変更しても影響がないことが確実な場合は、「old_tmp」ディレクトリを削除できます。

注:「tmp」ディレクトリの名前を「old_tmp」に変更したことが原因で問題が発生する場合は、このディレクトリを元の「tmp」名に戻します。


2
これは本当に悪い考えです。一時ファイルに書き込む多くの標準シェルユーティリティがあり/tmp、元の名前を変更するとすぐに失敗し始めます/tmp。また、/tmpディレクトリには特定のアクセス許可(スティッキービットセットなど)が必要であることに注意してください。
クサラナナンダ

私が言ったことを注意深く読んでください:あなたは正しいです。一時ファイルを "/ tmp"ディレクトリに書き込む多くの標準シェルユーティリティがあるかもしれません。そのため、新しい "tmp"ディレクトリを作成し、古い既存の「tmp」ディレクトリ。
A.Aleem11

1
はい、あなたは許可が0777実際にあるべきときにあるべきであると言った1777
クサラナナンダ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.