Debian 9の「ストレッチ」で次のことがわかりました。
# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
linux-image-marvell
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
" Securing Debian Manual "によると、このコマンドはDebianを公式にアップデートする方法であるにもかかわらず、アップデートはインストールされません。 (読み込み時のスナップショット here )。
対照的に、aptitude
と新しいapt
コマンドの両方がインストールする準備ができています。つまり、この特定のバージョンはセキュリティ更新プログラムではありません。 apt
と潜在的にaptitude
のデフォルトが異なることを理解しています。 Debian側でこの動作をどのように慎重に行うかを尋ねたい...
Securing Debian Manualは、アップデートの適用方法を説明するときに、最初にaptitude
をリストしています。また、apt
にはデフォルトが変更されており、よりユーザーフレンドリーになるはずです。現在のDebianインストールガイドを注意深く見ると、それは新しいユーザーにapt
またはaptitude
を示しています。例のコマンドはすべて、apt-get
ではなくapt
を参照していると思います。
私の最初の仮定は、カーネルへのsecurity更新は、Debianセキュリティマニュアルによって承認された更新方法によって抑制されないことです。 (私が間違って仮定している場合はお知らせください:-)。しかし、私は自分のDebianシステムを更新する方法を確実に理解したいと思います。
apt-get
ではなくapt
と入力するように指をトレーニングすることをお勧めします。正しい?apt-get
を参照しており、Debian 8からDebian 9にアップグレードするためのドキュメントもそうです。したがって、非常に広い意味で、最も安全なオプションはapt
を使用しないことです。 Debian 8-> Debian 9への移行?apt-get
をいくつかのタスクに使用することである、私が注意することを提案したい、広く知られているケースはありますか?apt
をアップデートの適用に熱心にする選択についてのコメントを持っていますか?特に、セキュリティアップデートと非セキュリティアップデートの区別があることを確認していますか?apt-get
が使用する通常の構成で適用されないように、このような(非セキュリティ)カーネルアップデートを配置するというDebianの選択に関する情報はありますか?# apt-cache policy linux-image-marvell
linux-image-marvell:
Installed: 4.9+80+deb9u4
Candidate: 4.9+80+deb9u5
Version table:
4.9+80+deb9u5 500
500 http://ftp.uk.debian.org/debian stretch/main armel Packages
*** 4.9+80+deb9u4 500
500 http://security.debian.org stretch/updates/main armel Packages
100 /var/lib/dpkg/status
# apt-cache policy apt
apt:
Installed: 1.4.8
Candidate: 1.4.8
...
# aptitude upgrade
Resolving dependencies...
The following NEW packages will be installed:
linux-image-4.9.0-7-marvell{a}
The following packages will be upgraded:
linux-image-marvell
1 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/21.9 MB of archives. After unpacking 91.2 MB will be used.
Do you want to continue? [Y/n/?] n
Abort.
# apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
linux-image-4.9.0-7-marvell
The following packages will be upgraded:
linux-image-marvell
1 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/21.9 MB of archives.
After this operation, 91.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.
まず、あなたが見ている行動を説明することから始めます。デフォルトでは、apt-get
は非常に保守的であり、upgrade
の実行時に新しいパッケージをインストールせず、dist-upgrade
のみをインストールします(--with-new-pkgs
オプションで変更できます)。一方、apt
は(デフォルトでAPT::Get::Upgrade-Allow-New
オプションを有効にします)、aptitude
(とにかく解決アルゴリズムが異なります)と同じです。カーネルはABIバンプを通過したため、アップグレードには新しいパッケージのインストールが含まれます...
また、厳密に言うと、このカーネルアップデートはセキュリティ修正としてではなく、先週末の9.5ポイントリリースの一部として取得していることにも注意してください。優先順位は同じなので、ここにもそこにもありません。 (あなたはすでにこれを知っています。他の読者のためにこれを述べます。) カーネルへのセキュリティ更新はABIバンプを伴う可能性があります したがって、この状況はセキュリティ更新とポイントリリース更新で発生する可能性があります。 Debianのカーネルパッケージに関する限り、すべてのカーネルアップデートはいずれにしてもセキュリティアップデートであるため、この違いは主に機会とタイミングの1つです。
今あなたの質問に答えるために:
apt
は現在推奨されているAPTフロントエンド、はい、少なくともインタラクティブな使用のために; apt-get
と比較して)ユーザーフレンドリーなデフォルトを持っているはずです。ツールは同じアルゴリズムを使用し、apt-get
はapt
のように動作するように構成できます。apt-config dump | grep Binary::apt
を実行して特定の設定apt
を有効にします。ご希望の場合はaptitude
それも使い続けることができます。
Debian 8では、私の知る限り、apt
はapt-get
とまったく同じであるため、使用することもできます。 apt
は、ユーザー向けツールとしての有用性を高めるための開発者の作業の後、Debian 9で最前線に立ちました。 Debian FAQ は、Debian 8(Jessie)以降、apt-get
およびapt-cache
ではなくapt
を使用することを推奨しています。 (apt update
の説明が少し間違っているようです。)
現在の推奨事項は、インターフェイスが変更される可能性があるため、スクリプトでapt
を使用しないことです。それとは別に、apt
ではなくneedapt-get
を使用するシナリオはありません。
apt
は、ユーザーが設定しない限り、セキュリティ更新と非セキュリティ更新を区別しません。
それが意識的な決定かどうかはわかりません...Securing Debian Manualの最後の更新は、Debian 9よりもかなり古いものです。 apt-get
を使用する場合、 Debian FAQ はapt-get dist-upgrade
を参照してDebianシステムを最新の状態に保ちます。 FAQもDebian 9より古いですが、最近更新されました。