これはバグかもしれませんが、数日間私を悩ませました。
apt-get upgrade
との違いはapt-get dist-upgrade
今よく知られ、よく確立されています。アップグレードdist-upgrade
可能な限りインストール/アップグレードインストール/削除/アップグレード他のパッケージをインストールまたはアップグレードするには、そのパッケージを削除する必要があります。パッケージの違いは、次のように簡単に見つけることができます。
(次は、コピー&ペーストのために端末にsudoパスワードを入力する必要がある迅速で汚い方法です。そして、複数のパッケージとドライバを直接パッチしたため、実装に残す必要があるため、ORのみを含めましたawk
。表示される項目ではなく、apt upgrade
出力に対応する行がない場合でも、次の項目が機能するはずです。
$echo -e 'n' | sudo apt-get dist-upgrade | awk '
/be installed|be upgraded/{f=1;next}; /not upgraded|kept back/{f=0}f' | awk '
BEGIN {RS=" ";} {print $0}
' | grep . > apt_get_dist_list
$echo -e 'n' | sudo apt-get upgrade | awk '
/be installed|be upgraded/{f=1;next}; /not upgraded|kept back/{f=0}f' | awk '
BEGIN {RS=" ";} {print $0}
' | grep . > apt_get_upgrade_list
2つの出力を次のものと比較すると:
$diff apt_get_dist_list apt_get_upgrade_list | grep -E '<|>'
私の場合は、次のようになります。
< gir1.2-nm-1.0
< libcpupower2
< linux-kbuild-5.2
< blueman
< linux-cpupower
< linux-headers-amd64
< linux-image-amd64
< pdf-parser
linux-header-*
これは特にlinux-image-*
apt-get dist-upgrade
apt upgrade
ここで、と同じプロセスを繰り返すとapt full-upgrade
$echo -e 'n' | sudo apt upgrade | awk '
/be installed|be upgraded/{f=1;next}; /not upgraded|kept back/{f=0}f' | awk '
BEGIN {RS=" ";} {print $0}
' | grep . > apt_upgrade_list
$echo -e 'n' | sudo apt full-upgrade | awk '
/be installed|be upgraded/{f=1;next}; /not upgraded|kept back/{f=0}f' | awk '
BEGIN {RS=" ";} {print $0}
' | grep . > apt_fullupgrade_list
そして比較してみてください:
$diff apt_get_dist_list apt_fullupgrade_list | grep -E '<|>'
予想通り、私はそれ以降何も得られず、同じ方法で行動しますが、比較すると次のようになりますapt full-upgrade
。apt-get dist-upgrade
$diff apt_get_upgrade_list apt_upgrade_list | grep -E '<|>'
比較すると同じ出力を得ますapt-get upgrade with apt-get dist-upgrade
。
> gir1.2-nm-1.0
> libcpupower2
> linux-kbuild-5.2
> blueman
> linux-cpupower
> linux-headers-amd64
> linux-image-amd64
> pdf-parser
私が引き出すことができる唯一の結論は、これとapt upgrade
まったく同じであれば、apt full-upgrade
同じことになるということですapt-get dist-upgrade
。これは最終的に重複するだけでなく、apt upgrade
より心配的にも現在apt
と同じ動作を許可しないことを意味しますapt-get upgrade
。
答え1
重複しません。追加の微妙さがあります:
apt-get upgrade
現在インストールされているパッケージのみがアップグレードされます。apt upgrade
現在インストールされているパッケージをアップグレードします。更新された依存関係によって導入された新しいパッケージをインストールします。;- さまざまな
dist-upgrade
バリエーションは、full-upgrade
現在インストールされているパッケージをアップグレードし、依存関係で導入された新しいパッケージをインストールし、パッケージのアップグレードによって破損したパッケージを削除します。
別の方法:
注文する | アップグレード | インストールする | 削除する |
---|---|---|---|
apt-get upgrade |
はい | いいえ | いいえ |
apt upgrade |
はい | はい | いいえ |
apt-get dist-upgrade 、apt full-upgrade 等。 |
はい | はい | はい |
実際には、ABIが変更されたときに最新のカーネルを自動的にインストールできるのでapt upgrade
(デフォルトでは)より安全です。apt-get upgrade
バラよりapt-get アップグレードはカーネルの更新を防ぎます。 Debian 9 にアップデートを適用するための正式なガイドラインは何ですか?例えば。
apt-get upgrade
apt upgrade
このオプションが使用されているかのように機能するように指示できます--with-new-pkgs
。これはAPT構成ファイルを使用して構成することもできます。apt
特定の設定を見ることができますapt-config dump | grep '^Binary::apt
(ここに関連する設定はAPT::Get::Upgrade-Allow-New
)。