質問 「dist-upgrade」とは何ですか、なぜ「upgrade」以上にアップグレードするのですか?受け入れられた回答 は、linux-headers-3.0.0-13
が新しいパッケージに置き換わっていることを説明していますlinux-headers-3.0.0-12
。
単に新しいバージョンではなく新しいパッケージであり、その違いを知る(認識する)方法を教えてください。
さらに、それが新しいパッケージであり、すでにインストールされているパッケージの新しいバージョンではない場合、なぜlinux-headers-3.0.0-13
がコマンドSudo apt-get upgrade
の出力にリストされるのですか?
答えは、linux-headers-3.0.0-12
とlinux-headers-3.0.0-13
が同じ仮想パッケージに接続されている( "linux-headers
is a virtual linux-headers-3.0.0-12
とlinux-headers-3.0.0-13
"の両方によって提供されるパッケージ)。 linux-headers-3.0.0-13
が表示されているのはこのためですか?もしそうなら、なぜアップグレードとして提案された他の仮想パッケージによって提供される他のパッケージを見ないのですか?
編集:
上記の例はカーネルパッケージに関するものですが、私の質問はカーネル指向ではなく、より一般的なものです。それともカーネルのみの関連ですか?
linux-image-generic
やlinux-headers-generic
のようなカーネルメタパッケージを実際のカーネルパッケージに指定する理由は、カーネルの複数のインスタンスを許可するためです。
linux-headers-3.0.0-13-generic
とlinux-headers-3.0.0-12-generic
を同時にインストールできます。
メタlinux-headers-generic
をアップグレードすると、最新の実際のパッケージが依存関係としてプルされます。これらのカーネルパッケージが異なるバージョンのカーネルパッケージであった場合、常に置き換えられます。
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.
そのため、新しいパッケージに依存するメタパッケージはアップグレードされません。
カーネルには関係ありません。他にもいくつか例があります。
単に新しいバージョンではなく新しいパッケージであり、その違いを知る(認識する)方法を教えてください。
異なるパッケージには異なる名前があります。同じパッケージの異なるバージョンは、同じパッケージ名と異なるバージョン番号を持っています。インストール済みのパッケージとそのバージョン番号はe.g。、apt list --installed
で確認できます。
firas@itsuki ~ % apt list --installed | grep linux-image
linux-image-4.18.0-14-generic/cosmic-updates,cosmic-security,now 4.18.0-14.15 AMD64 [installed,automatic]
linux-image-4.18.0-15-generic/cosmic-updates,cosmic-security,now 4.18.0-15.16 AMD64 [installed,automatic]
linux-image-generic/cosmic-updates,cosmic-security,now 4.18.0.15.16 AMD64 [installed,automatic]
ここに、名前にlinux-image
を含む3つのインストール済みパッケージがあります:linux-image-4.18.0-14-generic
version 4.18.0-14.15
、linux-image-4.18.0-15-generic
version 4.18.0-15.16
、およびlinux-image-generic
version 4.18.0.15.16
。特に、linux-image-4.18.0-14-generic
とlinux-image-4.18.0-15-generic
は異なる名前であるため、これらは異なるパッケージです。名前がどれほど似ているかに騙されないでください。重要なのは、名前が同じではないということです。それらはfoo
およびbar
と名付けられることもあります。
また、.deb
パッケージのファイル名では、通常、パッケージ名とバージョン番号は下線で区切られています。
firas@itsuki ~ % ls /home/apt/archives/linux-image-*
/home/apt/archives/linux-image-4.18.0-14-generic_4.18.0-14.15_AMD64.deb
/home/apt/archives/linux-image-4.18.0-15-generic_4.18.0-15.16_AMD64.deb
/home/apt/archives/linux-image-generic_4.18.0.15.16_AMD64.deb