Ubuntu 12.04 LTS のHardware Enablement Stack (HWE)のUpdate

12.04 LTS はHardware Enablement Stackというのがあって、そろそろこれのサポートが切れるみたいです。
サポートが切れると、カーネルとドライバが今後アップデートされません。

メッセージもSSHで入るときとかに出ていると思います。

で、これをアップデートしないといけないのですが、ちょっとはまるポイントがあるので、取り急ぎ書きました。


##事の経緯とか

つい最近ですが、私も12.04のパッケージをアップデートしているとサポートがそろそろ切れるからなんとかしてくれ的なメッセージでてくることがありました。

ん？12.04ってまだサポート切れてないよね？？と思って調べてみると、どうやらカーネルと周辺のドライバのサポートが切れて14.04のカーネルと同じにするということみたいでした。

http://wiki.ubuntu.com/1204_HWE_EOL

そりゃメンテする側からしたらカーネルとかあの辺りは一緒にできるならしたほうがサポートしやすいよね。

上記ページをよく読むとどうやら、このままではカーネルとドライバのサポートが切れてカーネルとドライバのアップデートが提供されない模様。
これはあまりよろしくないということで、取り急ぎ書いてあったコマンドで確認。

```console:
$ hwe-support-status --verbose

Your current Hardware Enablement Stack (HWE) is going out of support
on 2014年08月07日.  After this date security updates for critical parts (kernel
and graphics stack) of your system will no longer be available.

For more information, please see:
http://wiki.ubuntu.com/1204_HWE_EOL

To upgrade to a supported (or longer supported) configuration:

* Upgrade from Ubuntu 12.04 LTS to Ubuntu 14.04 LTS by running:
sudo do-release-upgrade

OR

* Install a newer HWE version by running:
sudo apt-get install linux-generic-lts-trusty libgl1-mesa-glx-lts-trusty xserver-xorg-lts-trusty linux-image-generic-lts-trusty

and reboot your system.

```

ああ、やっぱり対象でしたなぁということで、、、これはアップデートしないといけないようです。


## アップデート方法

んで、これを気に14.04LTSにしても良かったのですが、ある理由により12.04を使わざるを得ない理由があるので、
[Install a newer HWE version by running]
で示された方法を、いわれたとおりやってみました。

```console:
$ sudo apt-get install linux-generic-lts-trusty libgl1-mesa-glx-lts-trusty xserver-xorg-lts-trusty linux-image-generic-lts-trusty
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています               
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
libgl1-mesa-glx-lts-trusty : 依存: libglapi-mesa-lts-trusty (= 10.1.3-0ubuntu0.1~precise1) しかし、インストールされようとしていません
                              推奨: libgl1-mesa-dri-lts-trusty (>= 7.2) しかし、インストールされようとしていません
xserver-xorg-lts-trusty : 推奨: libgl1-mesa-dri-lts-trusty しかし、インストールされようとしていません
                           推奨: xserver-xorg-input-all-lts-trusty しかし、インストールされようとしていません
                           推奨: xserver-xorg-video-all-lts-trusty しかし、インストールされようとしていません
                           推奨: x11-xserver-utils-lts-trusty しかし、インストールされようとしていません
                           競合: libglapi-mesa:i386 (>= 0~)
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
```

ぐ、ぐぬぬ、、、
自分の環境ではnVidiaのプロプラドライバ入れてるのでこのようなこといわれてしまうのかなと。

これはたぶん同じことで悩んでる人多数だろうということで、いろいろ調べてみたらここに行き着きました。。

Bug #1328264 packaging issues with the trusty Xstack in precise xserver-xorg-lts-trusty 
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1328264

やはり同じところで引っかかってる人多数でした。
で、最終的にこれをすると良いらしいことがわかったのでやってみました。(以下は64Bit版の場合)

```console:
$ sudo apt-get install -V libglapi-mesa-lts-trusty libgl1-mesa-glx-lts-trusty xserver-xorg-lts-trusty xserver-xorg-input-all-lts-trusty xserver-xorg-video-all-lts-trusty libgl1-mesa-dri-lts-trusty x11-xserver-utils-lts-trusty libglapi-mesa-lts-trusty:i386 libgl1-mesa-dri-lts-trusty:i386 libgl1-mesa-glx-lts-trusty:i386 libgles2-mesa-lts-trusty libglapi-mesa-lts-trusty mesa-vdpau-drivers-lts-trusty
```

カーネルのアップデートはプロプラドライバを使ってると、次に再起動したときに画面でないとか、心臓によろしくないのですが、まぁターミナルさえ生きていればなんとかなるだろうと思ってやってみました。

再起動後、特に問題もなくあっさりとlightdm?のログイン画面が出てきて拍子抜けしました。
なお、UpdateするとNVidia社のドライバはnouveau(nVidiaドライバのオープンな実装)に戻されます。
(lsmod でちゃんと出てきます。)

ほんと、普通にしれっとGUIが出てくるので気がつかないかもしれないけど…

nVidiaのプロプラドライバを入れたい人はこの後入れるとOKです。

バージョンもろもろ確認しますと

```console:
$ cat /proc/version
Linux version 3.13.0-32-generic (buildd@phianna) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #57~precise1-Ubuntu SMP Tue Jul 15 03:51:20 UTC 2014

$ hwe-support-status --verbose
Your Hardware Enablement Stack (HWE) is supported until 4月 2017.
```

と正しい結果が得られてました。
いまのところ問題なく運用できてますということで。