web-dev-qa-db-ja.com

Software Updaterの使用は、apt-get updateおよびapt-get upgradeの実行と同じですか?

これは真実であるように思えますが、確認したかったのです。ありがとう!

27
zandm7

簡潔な答え

いいえ、それらは同じではありません。 apt-get upgradeはバージョン間の依存関係の変更を処理しないため、パッケージの依存関係が変更された場合、アップグレードされません(「保留」されます)。詳細については、長い回答をご覧ください。

Software Updaterを使用し、Sudo apt-get update ; Sudo apt-get dist-upgradedist-に注意)を使用することはほぼ同等です。ただし、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はアップグレードしません。

20
kiri

ほぼ同じですが、正確ではありません。たとえば、カーネルの更新が提供される場合、それらの更新を取得するにはSudo apt-get update && Sudo apt-get dist-upgradeが必要です。

Sudo apt-get update && Sudo apt-get upgradeは、一部のパッケージが保留されたことを通知します。

Software Updaterを使用すると、すべてがシームレスになり、何も妨げられることはありません。

4
user25656

aptが使用可能な場合、 phased updates言及by pabouk )は、Software Updaterによる更新の最も顕著な違いです。およびコマンドライン。

最近では、 apt ユーティリティ- did n't exist この質問が投稿されたががあれば、おそらく質問に含まれていただろう- apt-get パッケージのアップグレード。それらは似ています: same packageaptとも呼ばれます) 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-getPhasedUpdates を使用しないため、ソフトウェアアップデーターはapt-getよりも少ない更新を表示することがあります。 を参照してください。ソフトウェアアップデーターが利用可能なアップデートがないと言っているのに、apt-get upgradeは利用可能なアップデートを表示しますか?

paboukFeb 25 '15 at 7: 34

これは常に、upgradeアクションが新しいパッケージをインストールしたり、既存のパッケージをアンインストールしたりすることに直面したときに、常にSudo apt-get dist-upgradeを実行できるという点で最も大きな違いでした。ただし、コマンドラインから更新する場合、relative段階的更新の重要性はaptで増加します。

  • apt-getと同様に、aptコマンドは、Software Updaterが代わりに使用されていた場合、段階的な更新ポリシーのために更新が遅れる場合でも、更新をダウンロードしてインストールします。
  • しかしnlikeapt-getaptコマンドのupgradeアクションwill以前はインストールされなかったが、新しいパッケージバージョンの依存関係として必要な新しいパッケージをインストールします。

from(a)グラフィカルインターフェイスを優先し、(b)アップデートが利用可能になったときに通知を提供するデスクトップ統合。これは、段階的に参加するのが最も簡単な方法であるSoftware Updaterを使用する主な現在の理由アップデート。

3
Eliah Kagan