apt-get updateを実行すると正確に何が起こりますか?

apt-get updateを実行すると正確に何が起こりますか?

パッケージをアンインストールして再インストールする代わりにアップグレードすると、パッケージはどうなりますか? 2つの実際の違いは何ですか?結果はどのような変化をもたらしますか?

次の2つのオプションは同じですか(パッケージ別)フリーアンスター/後ろ/フリーレム/後期段階足跡)?

apt-get update
apt-get remove <packagename>
apt-get install <packagename>

そして

apt-get update
apt-get install --only-upgrade <packagename>

アップグレードコマンドを単独で処理できますか?アンインストールしてインストールする代わりに、アップグレード用のハンドラを作成することは可能ですか?

答え1

パッケージのアップグレードは、パッケージをアンインストールしてからインストールするのとは異なります。アップグレードはパッケージが完全に機能しない時間を最小限に抑えるために注意を払いますが、アンインストールしてインストールするとパッケージファイルがまったく存在しない期間が残ります。それ以外にも同じメンテナンススクリプトを実行しません。アップグレードはメンテナンススクリプト(old prerm、new preinst、old postrm、new postinst)とupgradeジョブを実行しますが、アンインストール後に再インストールすると、old prerm remove、old postrm remove、new preinst install、newが実行されますpostinst configure。よりDebian Policy Manualより多くの情報が必要な場合、ウィキペディアチャートに使用されます。

debパッケージを作成してアップグレードするときに特別なタスクを実行するには、関連するメンテナンススクリプトのタスクupgrade(通常はpostinst構成ファイルをアップグレードしてデーモンを再起動する)に対してこれを行います。

答え2

質問に答えるには、withをdpkg使用するかどうかにかかわらず、同じスクリプト(パッケージごと)を呼び出します。違いなし。実行中のパッケージにのみ影響します。マニュアルページによると、次のようになります。--only-upgradeapt--only-upgradeapt

--only-upgrade
       Do not install new packages; when used in conjunction with 
       install, only-upgrade will install upgrades for already 
       installed packages only and ignore requests to install new 
       packages. Configuration Item: APT::Get::Only-Upgrade.

dpkgパッケージが削除されると、そのパッケージに対応するprerm / postrmスクリプトが呼び出されます。dpkgパッケージがインストールされると、対応する preinst/postint スクリプトが呼び出されます。繰り返しますが、これはすべてdpkgによってaptより高いレベルで実行されます。

答え3

「アップグレード」とは、構成済みのパッケージリポジトリで利用可能なすべてのパッケージを、現在インストールされているバージョンよりも最新のバージョンにアップグレードすることを意味します。

「インストール」とは、特定のパッケージ(利用可能な最新バージョン)を追加するか、すでにインストールされている場合は以前のバージョンのパッケージにアップグレードすることを意味します。

アップグレードのためにインストールを実行する前にインストールされたパッケージを削除することは不要で、不快な副作用がある可能性があります。

インストールされているすべてのパッケージのセキュリティ更新プログラムを入手するには、「アップグレード」を定期的に実行することをお勧めします。

関連情報