14.04 から 14.04.2 ポイント リリースにアップグレードしたかったので、次の操作を実行しました。
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade -y
次に、上記のコマンドでは完了しなかったため、カーネル 3.16 にアップグレードしたかったので、次の操作を実行しました。
sudo apt-get install linux-generic-lts-utopic xserver-xorg-lts-utopic libegl1-mesa-drivers-lts-utopic xserver-xorg-video-all-lts-utopic xserver-xorg-input-all-lts-utopic
sudo apt-get install linux-signed-generic-lts-utopic
今私がやると:
uname -a
私は
Linux Y500 3.16.0-33-generic #44~14.04.1-Ubuntu SMP Fri Mar 13 10:33:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/os-release | grep VERSION= I get
VERSION="14.04.2 LTS, Trusty Tahr"
そして私lsb_release -a
は
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
それはわかっていますし、両方uname -a
とlsb_release -a
も異なる情報を参照していますが、なぜ
cat /etc/os-release | grep VERSION=
異なるバージョンが表示されるのでしょうか?
答え1
要約:この一連の HWE カーネルは、実際には 14.04.2 ポイント リリースより前にリリースされました。
ここでの本当の疑問は、なぜUbuntuでのuname -v
出力が#44~14.04.1-Ubuntu SMP Fri Mar 13 10:33:29 UTC 2015
14.04.2つまり、14.04.2システムがHWEビルド番号が 14.04.1 とタグ付けされているカーネルですか?
あなたの質問がその特定の点に要約される理由は次のとおりです。
lsb_release -a
同意します。どちらも、14.04.2 を使用していると言っています (実際そうです)。したがって、唯一の明らかな矛盾は、カーネルに関して から提供された情報と、両方およびシステム全体に関する情報の間にあります。cat /etc/os-release | grep VERSION=
uname
/etc/lsb-release
/etc/os-release
- を実行したのであって
uname -a
、 ではありませんuname -v
。しかし、は、uname -a
によって出力されたすべての利用可能な情報を出力します( とがわかっている場合、uname
と同等です)。あなたが興味を持っている出力は、 の「カーネルバージョン」という紛らわしい名前のフィールドに限定されています。uname -snrvmpio
-i
-o
man uname
。 - 「カーネルバージョン」と呼ばれることもありますが、実際にはビルド番号、または非数値文字列を「数値」と呼ぶのが嫌な場合はビルド識別子と考えるのが適切です。
uname -v
ユーザーが区別するuname -r
同じ基礎となる「カーネル リリース」( )であっても、一連の別々のリリースとしてビルドされたカーネル。
「カーネルバージョン」に14.04.2ではなく14.04.1が含まれている理由を理解するための最初のステップは、下流のUbuntuカーネルを含むほとんどのカーネルバージョン文字列に14.04.2が含まれていないことに注意することです。どれでもオペレーティング システム全体のバージョン情報。たとえば、私の 15.04 システムでは次のようになります。
ek@Io:~$ uname -v
#12-Ubuntu SMP Fri Apr 3 04:03:26 UTC 2015
これはより一般的な状況です。最初の単語 ( #12-Ubuntu
) は、これがこの特定のカーネルの 12 番目のダウンストリーム Ubuntu ビルドであることを示します。または、いずれにしても、同じ を持つカーネルだけで構成されている場合もそうでない場合もある一連のビルドの 12 番目であることを示しますuname -r
。
UbuntuのHWEカーネルには、Ubuntuの特定のリリースを示す番号が含まれています。これは、Ubuntuの後のリリースからバックポートされており、他のリリースと容易に区別できるはずです。それUbuntuリリースのビルド。Linux 3.16のHWEビルドを区別するために、linux-generic-lts-utopic のために信頼できる提供されたものからLinux 汎用 のためにユートピアTrusty ビルドでは、カーネル バージョン文字列に 14.04.1 が含まれています。
なぜ14.04.1ではなく14.04.2ではないのでしょうか?(結局のところ、14.04.2 リリースノート「このポイントリリースには更新されたカーネルとXスタックが含まれています...」14.04.1 リリースノートそんなことは言わないで。
その理由はlinux-generic-lts-utopic --そして最初のパッケージは依存関係として取り込まれる3.16カーネルを実際にインストールするには、Trustyでリリースされ、インストール可能になりました。間14.04.1 および 14.04.2 ポイント リリース。
これを確認するには、Launchpad 上の Ubuntuそしてlinux-generic-lts-utopic
パッケージを検索する、明らかにするlinux-meta-lts-utopic
基礎となるソースパッケージとして「完全な出版情報を見る」または「完全な変更ログを表示」パッケージの履歴を明らかにします。
特に、出版の歴史の中で、 注記:
- 全エントリリスト信頼できるをターゲットとして使用しているため、これはあなたのシステムに関係します。間違った Ubuntu リリースのパッケージを参照しているわけではありません。
- 安定しているとみなされる最初のパッケージ、つまり、アップデートまたは安全ポケット(提案されたポケット)から始まる3.16.0.25.19の上2014-12-11 01:25:33 UTC。
つまり、linux-meta-lts-utopic
2014年12月11日にTrustyがリリースされ、10週間前の2015年2月20日 14.04.2 ポイントリリースこれらのカーネルがリリースされたとき、それらは 14.04.2 システムではなく 14.04.1 システム用に構築され、テストされたため、それらのビルドにはパターン が番号付けされていました (一貫性を保つために、おそらくそのままにしておくべきです) 。#N~14.04.1-Ubuntu
答え2
ミッチそれは基本的に私があなたに尋ねたのと同じ質問ですここ前に:) 私もそれを理解しようとしました。
私はグーグルで検索したり、Ubuntu の公式ソースを含むさまざまなフォーラムを訪問したりしてみましたが、結論として次のことがわかりました。
Ubuntu 14.04.2 にはデフォルトの Utopic カーネルが付属しており、これは 3.16.0.30 (安定版) です。たとえば、次のapt-cache policy
カーネルを取得します。
Installed: 3.16.0-30.40~14.04.1
linux-headers-3.16.0-30-generic:
Installed: 3.16.0-30.40~14.04.1
Candidate: 3.16.0-30.40~14.04.1
linux-image-extra-3.16.0-30-generic:
Installed: 3.16.0-30.40~14.04.1
Candidate: 3.16.0-30.40~14.04.1
そして、私がやったことは、ubuntu.com から公式イメージを使用して Ubuntu をダウンロードして再インストールし、あなたと同じ方法でアップグレードしようとしたところ、今と同じカーネルを取得しました。これは、最新の Utopic カーネルがインストールされ、Trusty Tahr の安定したカーネルがインストールされていないためだと思います。まだ 3.16.0.30 カーネル バージョンが取得されています。