マニュアルページに従って:
apt
にはパラメーターfull-upgrade
がありますapt-get
にはパラメーターdist-upgrade
があります。両方とも同じコマンドですか?
btw:Ubuntu 16.04で公式に推奨されているコマンドはどれですか? apt
またはapt-get
?
apt full-upgrade
は、apt-get dist-upgrade
と同じ機能を実行します。
ふさわしい男
full-upgrade (apt-get(8))
full-upgrade performs the function of upgrade but will remove currently installed packages if this is needed to upgrade the system as a whole.
男がガット
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.
これらは同じコマンドではありません。ただし、一般的な使用法ではしばしば同じことを行います。この混乱には2つの理由があり、両方とも歴史的なものです。
1)dist-upgrade
はDebian(Ubuntuではない)で使用されます。 StretchからBusterへのように、あるリリースから次のリリースへ移行するプロセスの一部です。 Ubuntuで最も近いコマンドはdo-release-upgrade
です。
2)10年前のUbuntuの開発の初期に、dist-upgradeを使用する2番目の理由が現れました。カーネルのアップグレードは、通常のupgrade
定義に該当しませんでした(依存関係のパッケージ名変更)、そのため、長年にわたってUbuntuでdist-upgrade
を使用してカーネルパッケージをアップグレードすることが一般的でした。このカーネルワークフローの問題はfull-upgrade
の導入により数年前に修正されましたが、多くの老人はまだdist-upgrade
習慣にあり、古いアドバイスを若者に伝えています。
2016年以来、dist-upgrade
は時代錯誤です Ubuntuに含まれています。aptパッケージがDebianからUbuntuにあまりパッチを当てずに同期するためだけに含まれています。同期中にコマンドを削除する理由はありません。誤用は十分な理由ではありません-誤用はyour問題であり、Ubuntuの問題ではありません。このような誤用は通常無害です。
使用法:upgrade
の重要な行を見てください:
15 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
[15] upgraded
は、通常のapt upgrade
(Ubuntuのすべてのリリース)によって処理されます。[3] not upgraded
は、apt full-upgrade
(Ubuntu 16.04以降)またはapt dist-upgrade
(Ubuntu 14.04以前)で処理する必要があります。スマートな人はunattended-upgrades
を使用する傾向があり、これはデフォルトでUbuntuのすべてのリリースのすべてのデスクトップフレーバーに含まれています。通常のセキュリティ習慣の一部としてu-uを適切に使用している場合、これはすべて純粋に学術的なものであるため、おそらく10年間dist-upgrade
またはfull-upgrade
を使用する必要はないでしょう。 u-uがすべてを処理します。
aptとapt-getは2つの異なるコマンドです。 apt
は新しいコマンドであり、デフォルトとして使用する必要があります。 aptの方が適しているため、apt-getではなくaptの使用に変更する必要があります。
最初の選択肢としてaptを使用しますが、スクリプトを作成する場合はapt-getを使用します。 Apt-getの出力はより安定しています(つまり、出力を自動的に解析するスクリプトを壊さないように、出力形式は可能な限りそのままにしておきます)。 Apt-getには、aptでは使用できない低レベルのコマンドもいくつかあります。
Aptとapt-getのマニュアルページでは、full-upgradeとdist-upgradeの説明が少し異なりますが、おそらく同じコマンドです(aptはdist-upgradeをfull-upgradeのエイリアスとして受け入れます)。これは、apt-getsの安定性の良い例です。 aptでは、より使いやすい名前に変更されましたが、apt-getでは、古いスクリプトとの互換性を損なわないように名前が変更されません。
Aptはコマンドの新しいバージョンです。 apt-getの代わりにaptを使用するように切り替えて、コマンドが何をしているのかをよりよく理解してください。
Apt-full-upgradeとapt-get-distは同じコマンドです。しかし、新しいコマンドは再び適切です。
たとえば、aptを使用すると、進行状況バーが表示され、インストール/更新がどれだけ行われたかがわかります。