web-dev-qa-db-ja.com

apt dist-upgradeはもう必要ありません

Ubuntu 18.04が利用可能になる前は、Ubuntu 16.04を使用していました。そして、私はSudo apt-get updateSudo apt-get upgradeおよびSudo apt-get dist-upgradeを使用して更新やアップグレードを行っていました。 Ubuntu 18.04では、apt-getではなくaptを使用するように変更しました。私にとって奇妙だったのは、Sudo apt dist-upgradeが無効になることです。私はSudo apt updateSudo apt upgadeを使用してアップデートとアップグレードを行いますが、Sudo apt dist-upgradeを実行すると、 Sudo apt-get dist-upgradeを使用していたとき。
Sudo apt-get dist-upgradeを使用すると、一部のパッケージが削除され、その他のパッケージがインストールされました。しかし、Sudo apt dist-upgradeを実行すると、何も起こりませんでした。

Sudo apt dist-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.  

そして、これはapt-getではなくaptを使い始めてから毎回発生します。
それはaptに関連するものですか(つまり、upgradeSudo apt upgradeの両方がdist-upgradeに置き換わります)、または正確に何が問題ですか?

22
singrium

apt-get upgradeapt upgradeapt full-upgrade

apt-get upgradeは、アプリ、ツール、ユーティリティのみをアップグレードします。 OSの新しいLinuxカーネルはインストールされません。

apt upgradeは、アプリ、ツール、ユーティリティをアップグレードし、OSの新しいLinuxカーネルをインストールします。ただし、古いパッケージは削除されません。

apt full-upgradeは、アプリ、ツール、ユーティリティをアップグレードし、OSの新しいLinuxカーネルをインストールします。また、アップグレードに必要な場合は、古いパッケージを削除します。

apt full-upgradeapt-get dist-upgradeと同じことをするように見えます。つまり、full-upgradeは、利用可能な場合は新しいカーネルをチェックしてインストールし、アップグレードに削除が必要な場合は古いパッケージを削除します。

カーネルはOSの基本的な部分です。このため、apt upgradeまたはapt full-upgradeを実行しても、古いバージョンのカーネルが新しいバージョンに置き換えられることはありません。カーネルの新しいバージョンがインストールされ、既存のバージョンはそのまま保持されます。 grubの設定は、アップグレードプロセス中にデフォルトで新しいバージョンから起動するように変更されます。何らかの理由で新しいカーネルが機能しない場合は、高度なgrubメニューから古いカーネルから起動できます。

apt full-upgradeは、最新バージョンをインストールするため、古いバージョンのカーネルを削除しません。これらを削除するには、apt autoremoveを使用する必要があります。

名前をdist-upgradeからfull-upgradeに変更する理由

  • apt-getを使用する場合は、dist-upgradeを使用する必要があります
  • aptを使用する場合は、full-upgradeを使用する必要があります

dist-upgradeは少し混乱しました。たとえば、これはUbuntu 16.04からUbuntu 18.04にアップグレードされません。 Ubuntu 16.04内のカーネルやその他のものだけをアップグレードします。

full-upgradedist-upgradeよりも直感的だと思います。

詳細は "dist-upgrade"とは何ですか、なぜ "upgrade"より多くアップグレードするのですか? をご覧ください。

完全な開示:私はUbuntuのユーザーであり、変更することは決定していません。これらは私の個人的な見解です。

お役に立てれば

29
user68186

dist-upgradeは、Ubuntuではfull-upgradeに置き換えられました。

Ubuntuの古いユーザーは、カーネルパッケージのインストールにdist-upgradeが実際に定期的に使用されたのを覚えています。カーネルパッケージ名はバージョンによって変更されるため、通常のupgradeを使用できなくなります。 full-upgradeは、Ubuntuパッケージフローのこのニーズを安全に満たすために追加されました。

dist-upgradeの本来の目的は、Debianのリリース間で移行することです(Ubuntuのdo-release-upgradeとほぼ同等です)。したがって、予期しない結果からの保護は少し低くなります。同意する前に、提案された変更を注意深くお読みください。

dist-upgradeの代わりにfull-upgradeを使用しても、おそらく正常なシステムに害はありません。 10年以上にわたる何百万ものユーザーが、適切なワークフローから多くのバグを取り除いてきました。ただし、dist-upgradeは、壊れたパッケージが保持されているシステムやその他の未解決の問題があるシステムでは予期しない結果になる可能性があります。

15
user535733