Unbut 14.10 LTS から16.04LTSへのアップグレード

はじめに

LTSのバージョンアップを行ってみたら 12.10 → 14.04 → 16.04の3段階のアップグレードだった。

準備

% sudo aptitude update
% sudo aptitude upgrade
% sudo aptitude dist-upgrade

LTSの更新(14.04)

% sudo do-release-upgrade -c
% sudo do-release-upgrade

i368のパッケージを削除する

32bit CPU用のOSからアップグレードした名残で、64bit CPUになった今でも32bit用のパッケージが含まれており、容量を二倍つかってしまっていてつらい。また、32bit用パッケージがないことでアップグレードが失敗するなどのデメリットがある。そこで、この機会にi368パッケージを削除する。Multiarch/HOWTO - Debian Wikiの記述を参考にする。

sudo apt-get purge ".*:i386"

open-vm-toolのインストール

sudo aptitude install open-vm-tools open-vm-tools-desktop

texliveのインストール失敗(解決)

% aptitude install texlive-lang-cjk

を実行するとtex-commonのインストールに失敗して、以降すすまない。

tex-common (6.04) のトリガを処理しています ...
Running updmap-sys. This may take some time... done.
Running mktexlsr /var/lib/texmf ... done.
Building format(s) --all.
	This may take some time... 
fmtutil-sys failed. Output has been stored in
/tmp/fmtutil.aukf8QE8
Please include this file if you report a bug.

; try fmtutil --help  if you need it.

当該のエラーログをみると

 sudo more /tmp/fmtutil.aukf8QE8
fmtutil: unknown option `--no-error-if-no-engine=luajittex'; try fmtutil --help 
if you need it.

Ubuntu 12.04にTeXlive 2012を入れてUTF8の日本語ファイルを扱えるようにする - 発声練習で/usr/local/bin 以下にTeXLive関連コマンドがあるのが原因。/usr/local/binの方が/usr/binよりも先にヒットした結果 /usr/bin/fmtutil を使うべきところで/usr/local/bin/fmtutilが使われていた。/usr/local/以下のTeXLivパッケージを削除する方法がわからんかったので、対処療法で。

% sudo mv /usr/local/bin/fmtutil /usr/local/bin/fmtutil-usr-local
% sudo mv /usr/local/bin/fmtutil-sys /usr/local/bin/fmtutil-sys-usr-local

これで無事インストール成功

グラフィカルログインができなくなる(とりあえず解決)

今までlxdmを使っていたのだけどlxdmでログインできなくなった。結論から言うとlightdmをインストールしてそれでログインするようにした。ログインに使う環境をlxdmからlightdmへ変更する。

% sudo dpkg-reconfigure lxdm

ただし、上のコマンドがうまくいかなかった。理由は14.10から起動システムがupstartからsystemdへと変更されたため。

12.10のときにはupstartだったため、/etc/init.d/lxdm がupstart用のものになっていた(最新版のsystemd用の起動スクリプトは /lib/systemd/system/lxdm.service として存在する)。そこで、以下のようにして読み込まないようにした。

% sudo mv /etc/init.d/lxdm /etc/init.d/lxdm.upstart

このようにしてから、再びログイン環境の変更。その後に再起動する。

% sudo aptitude install lightdm
% sudo dpkg-reconfigure lxdm
% sudo reboot

"piix4_smbus host smbus controller not enabled"

上述のグラフィカルログインができなくなった原因を探っている際にブート時のエラーメッセージに"piix4_smbus host smbus controller not enabled"というのがあったので、解決法を探した。

ゲスト OS が Ubuntu系の場合、起動時に「piix4_smbus host smbus controller not enabled」というエラーがでるので、i2c_piix4 が起動してたら止める。(i2c_piix4 を止めても問題ないみたい。i2c って pic 弄ってた時に使ったな~、チップ間のシリアル通信ライブラリだったけど Lubuntu になぜ入ってる?)
流星に魅せられて :VMWare に Lubuntu 13 をインストールしたより)

まず、i2c_piix4 が読み込まれているかを確かめる。

% sudo lsmod | grep i2c_piix4
% sudo vi /etc/modprobe.d/blacklist.conf 

以下の行を付け加える。

blacklist i2c_piix4

"Failed to start LSB: AppArmor initialization"

これも同じくグラフィカルログインができなくなった原因を探っている際にブート時のエラーメッセージに記載されていた。

これもupstartとsystemdの移行関連のバグっぽい。今回は以下のようにしたらうまくいった。理由はわからない。

% sudo apt-get install --reinstall apparmor
% sudo /etc/init.d/apparmor start
% sudo systemctl status apparmor # 起動している(active)になっていることを確認

keymap.service の起動失敗

エラーメッセージを忘れたがkeymap.serviceの起動にも失敗していた。/usr/bin/loadkeys が存在しなかったのが原因。kbdというパッケージに含まれているのでそれをインストールする。

% sudo aptitude install kbd