Ubuntu 18.04が利用可能になる前は、Ubuntu 16.04を使用していました。そして、私はSudo apt-get update
、Sudo apt-get upgrade
およびSudo apt-get dist-upgrade
を使用して更新やアップグレードを行っていました。 Ubuntu 18.04では、apt-get
ではなくapt
を使用するように変更しました。私にとって奇妙だったのは、Sudo apt dist-upgrade
が無効になることです。私はSudo apt update
とSudo 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
に関連するものですか(つまり、upgrade
とSudo apt upgrade
の両方がdist-upgrade
に置き換わります)、または正確に何が問題ですか?
apt-get upgrade
対apt upgrade
対apt full-upgrade
apt-get upgrade
は、アプリ、ツール、ユーティリティのみをアップグレードします。 OSの新しいLinuxカーネルはインストールされません。
apt upgrade
は、アプリ、ツール、ユーティリティをアップグレードし、OSの新しいLinuxカーネルをインストールします。ただし、古いパッケージは削除されません。
apt full-upgrade
は、アプリ、ツール、ユーティリティをアップグレードし、OSの新しいLinuxカーネルをインストールします。また、アップグレードに必要な場合は、古いパッケージを削除します。
apt full-upgrade
はapt-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-upgrade
はdist-upgrade
よりも直感的だと思います。
詳細は "dist-upgrade"とは何ですか、なぜ "upgrade"より多くアップグレードするのですか? をご覧ください。
完全な開示:私はUbuntuのユーザーであり、変更することは決定していません。これらは私の個人的な見解です。
お役に立てれば
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
は、壊れたパッケージが保持されているシステムやその他の未解決の問題があるシステムでは予期しない結果になる可能性があります。