回答:
いいえ、それらは同じではありません。apt-get upgrade
バージョン間の依存関係の変更を処理しないため、パッケージの依存関係が変更された場合、アップグレードされません(「保留」されます)。詳細については、長い回答をご覧ください。
ソフトウェアのアップデータを使用し、使用してsudo apt-get update ; sudo apt-get dist-upgrade
(注dist-
)1つの明らかにGUIおよびその他のコンソールアプリケーションとも少数を除いて、ほぼ同等となり非常にマイナーな情報提供の違い。
から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
ないでください。
apt-get upgrade
必要な場合のみ)、apt-get
同じことができない理由を説明できますか?2つの間に根本的に異なる何かがあるようです。
ほぼ同じですが、正確ではありません。たとえば、カーネルの更新が提供されてsudo apt-get update && sudo apt-get dist-upgrade
いる場合、それらの更新を取得するために必要です。
sudo apt-get update && sudo apt-get upgrade
一部のパッケージが保留されていることを通知します。
Software Updaterを使用すると、すべてがシームレスになり、何も妨げられることはありません。
apt
利用でき、段階的なアップデート(paboukが言及したが)ソフトウェアアップデータとコマンドラインでの更新の間の最も顕著な差です。最近では、apt
ユーティリティ- 存在していなかったこの質問が投稿されたときには、それが持っていた場合はおそらく問題には含まれていたであろうがますます人気の代替--is apt-get
アップグレードパッケージを。これらは似ています:同じパッケージ(とも呼ばれますapt
)が両方を提供し、すべてapt
が実行でき、従来のapt-
ユーティリティも実行できますが、場合によっては特別な構成オプションを渡す必要があります。しかし、ソフトウェアアップデーターにapt
近いですapt-get
。ソフトウェアアップデータと同じように、ある新しいパッケージをインストールすることができ、既存のパッケージの新しいバージョンが依存関係としてそれらを宣言したとき。sudo apt upgrade
そのため、最近では、この区別に関心があるユーザーは、新しい依存関係を自動的にインストールするのではsudo apt upgrade
なく、単に実行することができsudo apt-get upgrade
ます。そのため、アップデートをわずかに遅らせて、アップデートがわずかに遅れて安定しているかどうかを判断し、安定していない場合は損害を制限するというソフトウェアアップデーターの機能が、おそらくソフトウェアアップデーターの使用とコマンドラインでの更新の主な違いです。
Software Updaterのこの動作は、段階的な更新ポリシーによるものです。そのポリシー-ソフトウェアアップデータで実装ではなく、中apt-get
(またはapt
)は-以来、2つの方法の一つの大きな違いとなっている政策を導入した、とpaboukはコメント数年前、それについて:
もう1つの違い
apt-get
があります。PhasedUpdatesを使用しないため、Software Updaterが表示する更新がの場合より少ない場合がありますapt-get
。Software Updaterで利用可能なアップデートがないと表示されるのに、apt-get upgradeで利用可能なアップデートが表示される理由を参照してください。。
– パブーク 15年2月25日7時34分
新しいパッケージをインストールしたり、既存のパッケージをアンインストールしたりするアクションの不本意sudo apt-get dist-upgrade
に直面したときに常に実行できるという点で、これは常に最も大きな違いupgrade
でした。ただし、コマンドラインから更新する場合、段階的な更新の相対的な重要性は次のように増加しapt
ます。
apt-get
に、apt
コマンドは、Software Updaterが代わりに使用された場合、段階的な更新ポリシーのために更新が遅れる場合でも、更新をダウンロードしてインストールします。apt-get
、apt
コマンドのupgrade
アクションがします以前にインストールされていなかったが、新しいバージョンのパッケージの依存関係として必要とされる新しいパッケージをインストールします。(a)グラフィカルインターフェイスを好むこと、および(b)アップデートが利用可能になったときに通知を提供するデスクトップ統合を除いて、ソフトウェアアップデートを使用する主な現在の理由は、段階的なアップデートに参加する最も簡単な方法であるということです。
apt-get
があります。PhasedUpdatesを使用しないため、Software Updaterが表示する更新がの場合より少ない場合がありますapt-get
。Software Updaterで利用可能なアップデートがないと表示されるのに、apt-get upgradeで利用可能なアップデートが表示される理由を参照してください。。