これは真実であるように思えますが、確認したかったのです。ありがとう!
いいえ、それらは同じではありません。 apt-get upgrade
はバージョン間の依存関係の変更を処理しないため、パッケージの依存関係が変更された場合、アップグレードされません(「保留」されます)。詳細については、長い回答をご覧ください。
Software Updaterを使用し、Sudo apt-get update ; Sudo apt-get dist-upgrade
(dist-
に注意)を使用することはほぼ同等です。ただし、1つは明らかにGUIで、もう1つはコンソールアプリケーションであり、いくつかのveryわずかな情報の違いもあります。
man apt-get
から、
apt-get upgrade
:
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.
(私による強調)
これは、古いバージョンでは必要のない新しい依存関係を持つパッケージの新しいバージョンしないがこの方法でアップグレードされることを意味します(新しい依存関係が既にインストールされていない場合)。これらは「保留」として表示されます。
apt-get dist-upgrade
:
dist-upgrade
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the
expense of less important ones if necessary. The dist-upgrade
command may therefore remove some packages. The
/etc/apt/sources.list file contains a list of locations from which
to retrieve desired package files. See also apt_preferences(5) for
a mechanism for overriding the general settings for individual
packages.
(私による強調)
つまり、upgrade
の代わりにこのコマンドを使用すると、新しい(または削除された)依存関係を持つパッケージをアップグレードできます。
2つの違いの良い例は、新しいLinuxカーネルがリリースされたときです。これはlinux-image-generic
パッケージにパッケージ化され、常にLinuxカーネルの最新パッケージに依存します。 linux-image-generic
の依存関係はカーネルのアップグレードごとに変わるため、upgrade
はアップグレードしません。
ほぼ同じですが、正確ではありません。たとえば、カーネルの更新が提供される場合、それらの更新を取得するにはSudo apt-get update && Sudo apt-get dist-upgrade
が必要です。
Sudo apt-get update && Sudo apt-get upgrade
は、一部のパッケージが保留されたことを通知します。
Software Updaterを使用すると、すべてがシームレスになり、何も妨げられることはありません。
apt
が使用可能な場合、 phased updates ( 言及by pabouk )は、Software Updaterによる更新の最も顕著な違いです。およびコマンドライン。最近では、 apt
ユーティリティ- did n't exist この質問が投稿されたががあれば、おそらく質問に含まれていただろう- apt-get
パッケージのアップグレード。それらは似ています: same package (apt
とも呼ばれます) provides both 、およびapt
ができることはすべて、従来のapt-
ユーティリティも可能ですが、場合によっては特別な設定オプションを渡す必要があります。ただし、apt
は、apt-get
よりSoftware Updaterに近いです。 Software Updaterと同様に、Sudo apt upgrade
は、既存のパッケージの新しいバージョンが依存関係として宣言する場合、 新しいパッケージをインストールできます です。
そのため、最近では、この区別に関心のあるユーザーは、新しい依存関係を自動的にインストールする場合、Sudo apt upgrade
の代わりにSudo apt-get upgrade
を実行できます。そのため、一部の更新をわずかに遅らせるソフトウェアアップデーターの機能、 は、それらが安定しているかどうかを判断します 安定していない場合は損傷を制限しますが、おそらくmain Software Updaterの使用とコマンドラインでの更新の違い。
Software Updaterのこの動作は、 phased updates policy によるものです。 Software Updater で実装されているが、apt-get
(またはapt
)では実装されていないこのポリシーは、 ポリシーが導入されました 、およびpaboukがコメントしました 数年前にそれについて:
別の違いがあります:
apt-get
は PhasedUpdates を使用しないため、ソフトウェアアップデーターはapt-get
よりも少ない更新を表示することがあります。 を参照してください。ソフトウェアアップデーターが利用可能なアップデートがないと言っているのに、apt-get upgradeは利用可能なアップデートを表示しますか? 。
これは常に、upgrade
アクションが新しいパッケージをインストールしたり、既存のパッケージをアンインストールしたりすることに直面したときに、常にSudo apt-get dist-upgrade
を実行できるという点で最も大きな違いでした。ただし、コマンドラインから更新する場合、relative段階的更新の重要性はapt
で増加します。
apt-get
と同様に、apt
コマンドは、Software Updaterが代わりに使用されていた場合、段階的な更新ポリシーのために更新が遅れる場合でも、更新をダウンロードしてインストールします。apt-get
、apt
コマンドのupgrade
アクションwill以前はインストールされなかったが、新しいパッケージバージョンの依存関係として必要な新しいパッケージをインストールします。脇 from(a)グラフィカルインターフェイスを優先し、(b)アップデートが利用可能になったときに通知を提供するデスクトップ統合。これは、段階的に参加するのが最も簡単な方法であるSoftware Updaterを使用する主な現在の理由アップデート。