「yum」と「dnf」のパッケージマネージャは、実行ソフトウェアをどのように更新しますか?

「yum」と「dnf」のパッケージマネージャは、実行ソフトウェアをどのように更新しますか?

Windowsオペレーティングシステムでは、アップデートする前にソフトウェアを閉じる必要があります。更新するにはChromeを再起動する必要があるのと同じです。 Linuxシステム(特にFedoraなどのLinux)yumのパッケージマネージャは、dnfソフトウェアが開かれるとどのようにソフトウェアを更新しますか?更新されたバージョンはソフトウェアを再起動した後にのみ適用されますが、ソフトウェアの実行中にパッケージマネージャはどのように更新するかを知りたいです。更新中に一部のファイルを削除して置き換える必要があります。ファイルが実行されると、これはどうなりますか?

ベストアンサー1

ファイルロックは、WindowsとLinux(および他のUNIX様システム)で多少異なる動作をします。 Windowsは通常、現在のプロセスにマップされている実行可能なバイナリの変更を防ぎます。ロックはこれらのバイナリの修正/交換を防ぎ、プログラムの実行中にソフトウェアを更新することはできません。

Linuxでは、ロックは一般的に使用されていないか協調的です(強制されていません)。 Linuxには強制ロックがありますが、信頼できない。実行中のプロセスにマップされたバイナリ実行可能ファイルが変更または削除されると(ソフトウェア更新中)、ファイルシステムは最後のハンドルが解放されるまでマッピングされたディスクスペースを回復しません。これにより、すでに実行されているプロセスは、古いファイルにマップされたページに引き続きアクセスできます。

おすすめ記事