/tmp ファイルへのリンクは削除されますか?

/tmp ファイルへのリンクは削除されますか?

を使用して一時ディレクトリを作成するスクリプトがありますmktemp -d

一時ディレクトリに生成されるフォルダーは、マシンの別の部分にコピーされるスクリプトの出力です。

内容を別の場所にコピーするのではなく、同じフォルダーを使用することを検討していました。ディレクトリ内のフォルダーのバージョンが OS によってクリーンアップされたln場合でも、それがまだ残っているかどうか疑問に思っていました。/tmp

答え1

一時ディレクトリがどこにあるかによって異なります。つまり、独自の一時ディレクトリを作成しましたか、それともシステムの ( /tmp) を使用していますか?

あなたのシナリオでは、一時ディレクトリがクリーンアップされた後もファイル/フォルダーが残ることを期待しています。

システムのディレクトリ内にある場合は/tmp、システムによってクリーンアップされる可能性があります (ディストリビューションによって異なりますが、ほとんどの場合、cronジョブまたは同様のものがあります)。

さらに、いくつかのディストリビューションは/tmpを使用してディレクトリを作成します。つまり、tmpfsコンテンツは RAM/スワップに保持され、再起動すると保持されません。

ファイルにアクセスできるようにするには、難しいtmpfs /tmpリンク。ただし、ハード リンクは 1 つのマウントされたファイルシステム内でのみ作成できます。と (例)ext4にマウントされたファイルシステムの間にハード リンクを作成することはできません/mystuff

作成することができます柔らかいマウントされた場所から/mystuffどこかへのリンクですが、一時ファイルが削除されると、リンクは「どこにも」を指すようになります。これにより、オブジェクトがわずかに無効になります。tmpfs/tmp

ディストリビューションの/tmpファイルが、ファイルを保存する予定の場所 ( /mystuff) と同じマウントにある物理ディスク上にある場合、システムがクリーンアップする前にリンクが作成されている限り、ハード リンクは機能します/tmp

答え2

よりわかりやすくするために例を挙げてみました。

特定のディレクトリ内に 2 つのファイルを作成しました。

cat sourcefile
This is the sourcefile. 
##This is to create a hard link. 

ln sourcefile destfile

##List the files available. 
ls
destfile  sourcefile

cat destfile
This is the sourcefile. 

ここで、ハードリンク上記のようにディレクトリ内のファイルを参照する場合/tmp、ソース ファイルを削除すると何が起こるかを見てみましょう。

rm sourcefile
rm: remove regular file `sourcefile'? y
ls
destfile
cat destfile
This is the sourcefile

上記のシナリオでは、destfileには引き続きアクセスできます。

ここで、ソフトリンクを使用すると何が起こるかを見てみましょう。

cat sourcefile
This is the sourcefile for softlink example. 
ln -s sourcefile destfile
ls -l
total 4
lrwxrwxrwx 1 root root 10 Jun 26 13:40 destfile -> sourcefile
-rw-r--r-- 1 root root 46 Jun 26 13:40 sourcefile

さて、シナリオに従ってソースファイルを削除して何が起こるか見てみましょう。

rm sourcefile
rm: remove regular file `sourcefile'? y
ls
destfile
cat destfile
cat: destfile: No such file or directory

したがって、ソフトリンクを使用すると、データが存在しない可能性があります。

編集

mktemp私は一時ファイルを作成するために使用し、ハードリンクディレクトリから/tmp作業ディレクトリの 1 つに移動します。

マシンを再起動して、再起動後もコンテンツが利用可能かどうかを確認しました。ハードリンク再起動後も内容は利用可能になります。これをチェックする理由は、再起動中に/tmpディレクトリが通常クリアされるためです。

関連情報