最新

発狂する近況


2016/05/08 [Linux] 手元のUbuntu Serverを14.04から16.04へアップグレード

疲れた……。 これまでは、この手のアップグレードはそんなに手間がかからなかったような記憶があるのだが、今回はエラーが幾つか出てしまったり、モジュールをインストールしなおしたりと色々大変だった。

1. エラーが出てアップグレードに失敗する

do-release-upgrade実行時に、色々なモジュールを更新するわけだが、MySQLの更新中にエラーとなり、不完全なまま、アップグレードが終了してしまった。 これは手元のMySQLが古くて5.5のままだったためであるらしい。一旦14.04環境で5.6に上げたのち、再度16.04へアップグレードしたら、今度はエラーを出さずに正常終了した(が、後述するように、それだけでは済まなかったわけだが)。

2. ネットワークに接続できない

デフォルトのNIC名が変わったらしく、これまでの名称(eth0)を指定したネットワーク設定が全部無効になっていた。実際のNIC名は

$ sudo  lshw -C network

を実行して出てきたなかの、「logical name: 」のところで知ることができる。 手元の環境では、/etc/network/interfaces ファイルを修正し、再起動することでネットワークに繋げられるようになった

3. 一部のモジュールが無い

phpや、先にわざわざ14.04で更新したMySQLといった主要なモジュールが消えていた。メジャーバージョンアップしたパッケージについては、削除されてしまうことがあるようだ(アップグレード時の選択の仕方によっては避けることができるかもしれないが)。 ということで、消えたモジュールについて再度入れなおし。phpは7になり、MySQLは5.7になっていた。

MySQLについては、5.7にするとともに、既存のDBのマイグレーションが行われたのだが、一部のテーブルで失敗し、結局直前にエクスポートしたダンプデータでリカバリするハメになった。

4. その他

公式以外のaptレポジトリを利用する場合、SHA256の署名が必須となり、SHA1ではエラーになってしまうといった問題もあった。 全体的に、16.04を本格的に利用するのはあと1ヶ月くらいは待ったほうがいいのかなあという気がする(これは、いつものことではあるが)。


追記