アップグレード後もソフトウェアパッケージがまだ正常に動作するのはなぜですか?

アップグレード後もソフトウェアパッケージがまだ正常に動作するのはなぜですか?

ソフトウェアの一部を実行していて、パッケージマネージャを実行してソフトウェアをアップグレードしましたが、Linuxがパッケージアップグレードの実行プロセスを停止せずにまだ正常に実行されていることを確認したとします。 Linuxはこれをどのように実行しますか?

ベストアンサー1

その理由は、Unixは実行中に実行ファイルをロックしないか、Linuxが好きでもファイル名ではなくiノードにロックが適用されるからだ。つまり、ファイルが削除され(実際にはリンクされていない)、同じ名前の新しいファイルに置き換えられても、開いているプロセスは同じ(以前の)データにアクセスできます。これはデフォルトでパッケージ更新が実行することです。

これがUnixとWindowsの主な違いの1つです。後者はファイル名とinodeの間にレイヤーがないため、ロックされたファイルを更新できません。このため、完全な再起動が必要な場合が多いため、特定のパッケージを更新またはインストールするのは面倒です。

おすすめ記事