メモ：Raspbianをwheezyからjessieにアップデート

# 注意
RaspbianはJessieのあとのバージョン、Stretchがリリースされたため、この情報は古くなりました。またStretchはクリーンインストールが推奨されています。
https://www.raspberrypi.org/blog/raspbian-stretch/
http://www.raspi.jp/2017/08/raspbian-stretch-released/

# 過去の情報
wheezyで使用されているglibcが2.13で、[Linaro](https://www.linaro.org/)で配布されている新しめのgccでクロスコンパイルしたバイナリが動作しなかったり、[GHOSTという脆弱性が報告されている](http://d.hatena.ne.jp/Kango/20150128/1422409960)のが分かったので、jessieにアップデートする。

[Debian 8 (jessie) リリースノート (ARM EABI 用) | 第4章 Debian 7 (wheezy) からのアップグレード](https://www.debian.org/releases/stable/armel/release-notes/ch-upgrading.ja.html)
[Updating and Upgrading Raspbian - Raspberry Pi Documentation](https://www.raspberrypi.org/documentation/raspbian/updating.md)

参考：[Raspbian GNU/Linux upgrade from Wheezy to Raspbian Jessie 8](http://linuxconfig.org/raspbian-gnu-linux-upgrade-from-wheezy-to-raspbian-jessie-8)
参考：[あっかぎのページ | Raspberry Piのアップデート(Wheezy → Jessie)](http://akkagi.info/20150522_web/)

手持ちのマシンはサーバ用途でもないし、実験・遊び用だし、SDカードのバックアップもあるのであれば、それほど怖くはない。
以下手順は、参考サイトのものほぼそのまま。

wheezyの最新に更新。

```
% sudo apt-get update
% sudo apt-get upgrade
% sudo apt-get dist-upgrade
```

任意のエディタ(nanoが好きです)で、/etc/apt/sources.listの中、および/etc/apt/sources.list.d/collabora.list、/etc/apt/sources.list.d/raspi.listの中の"wheezy"を"jessie"に書き換え。

```
% sudo nano /etc/apt/sources.list
% sudo nano /etc/apt/sources.list.d/collabora.list
% sudo nano /etc/apt/sources.list.d/raspi.list
```

再度アップデートし、jessieに更新。

```
% sudo apt-get update
% sudo apt-get upgrade
% sudo apt-get dist-upgrade
```

途中サービスの再起動やら、設定ファイルの更新を問い合わせてくる。
更新が完了したらrebootする。

```
% sudo reboot
```

再起動後。`hostnamectl`で確認。Kernelはローカルで入れ替えたもの。

```
$ hostnamectl
   Static hostname: raspi2
         Icon name: computer
           Chassis: n/a
        Machine ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
           Boot ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  Operating System: Raspbian GNU/Linux 8 (jessie)
            Kernel: Linux 4.0.7-v7-local+
```

```
$ sudo dpkg -l libc6
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前                     バージョン    アーキテクチ 説明
+++-==========================-==================-==================-==========================================================
ii  libc6:armhf                2.19-18            armhf              GNU C Library: Shared libraries
```

```
$ /lib/arm-linux-gnueabihf/libc.so.6
GNU C Library (Debian GLIBC 2.19-18) stable release version 2.19, by Roland McGrath et al.
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.8.4.
Compiled on a Linux 3.16.7 system on 2015-04-17.
Available extensions:
        crypt add-on version 2.1 by Michael Glad and others
        GNU Libidn by Simon Josefsson
        Native POSIX Threads Library by Ulrich Drepper et al
        BIND-8.2.3-T5B
libc ABIs: UNIQUE
For bug reporting instructions, please see:
<http://www.debian.org/Bugs/>.
```

不要になったパッケージの削除。

```
% sudo apt-get autoremove
% sudo apt-get autoclean
```