アプリケーションの実行中に、使用する共有ライブラリの1つが書き込まれるか切り捨てられると、アプリケーションがクラッシュします。OS(この場合はSolarisですが、Linuxやその他の* nixにも当てはまると思います)は、関連するiノードを削除しないほど賢いため、ファイルを移動したり、「rm」を使用してファイルを一括削除したりしても、クラッシュは発生しません。いずれかのプロセスでファイルが開いている間。
共有ライブラリのインストールを実行するシェルスクリプトがあります。場合によっては、最初にアンインストールせずに、すでにインストールされているバージョンの共有ライブラリを再インストールするために使用されることがあります。アプリケーションはすでにインストールされている共有ライブラリを使用している可能性があるため、スクリプトがファイルをrmしたり、邪魔にならない場所に移動したりするのに十分スマートであることが重要です(たとえば、アプリケーションがないときにcronが空にする可能性のある「削除済み」フォルダーに移動する)上書きまたは切り捨てられないように、新しいものをインストールする前に実行されます)。
残念ながら、最近、インストール直後にアプリケーションがクラッシュしました。一致?見分けるのは難しいです。ここでの本当の解決策は、古い巨大なシェルスクリプトよりも堅牢なインストール方法に切り替えることですが、切り替えが行われるまで、いくつかの追加の保護があると便利です。シェルスクリプトをラップして、ファイルの上書きや切り捨て(理想的には大音量での失敗)から保護し、それでもファイルを移動またはrm'dできるようにする方法はありますか?
移動/削除と上書き/切り捨てを区別できないため、標準のUNIXファイルパーミッションではうまくいきません。エイリアスは機能する可能性がありますが、どのコマンド全体をエイリアスする必要があるのかわかりません。truss / straceのようなものを想像しますが、各アクションの前に、実際に実行するかどうかをフィルターに対してチェックします。意図的に悪意のあるスクリプトに対しても機能する完璧なソリューションは必要ありません。