6/23/2020

[note] ubuntu20.04LTS、へのUPGで失敗して上書き再インストール

する羽目になっていた時の作業メモ。

いや参りました。Snapへの移行はじめ、幾つか割と大きな変更があるという話だったのでここ数回と比較して危険度は高めかもしれない、と思ってはいたのですが、悪い予感程当たるというもので。

いつも通り、リリースから数週間待って、update managerからアップグレードを試みたのですが、あえなく失敗。原因は不明。コマンドラインのdo-release-upgradeに切り替えたのですが、こちらも同様に失敗。

しかも悪い事に、パッケージの取得からインストールまで進んだ上で、その途中で失敗したものだから、システムの設定的には20.04LTSにアップグレードされた事になっていて、しかし各々のパッケージは中途半端に一部がインストールor置換されていない状態になってしまったのです。ここ数年特に問題が起きていなかった事に油断して、重要なデータ以外のシステムのフルバックアップを取っていなかったのもいけませんでした。

失敗したと言っても、カーネルや主要なライブラリ、またアプリは確認した限り新バージョンに置き換わっており、動作自体はするし、別にクラッシュしたりはしない・・・のですが、ログイン画面の背景のスケーリングがおかしかったり、ウィンドウの陰影等の装飾設定が変更出来なかったり、色々とちぐはぐというか、細かい調整がされていない感じです。それでいて、何が欠けていて、何が余計なのか、その調査判別は極めて困難という。

大部分はそれでも使用に難があるという程でもなかったのですが、受け入れ難い点もありました。最も致命的だったのは、日本語入力の不具合です。具体的には、fcitxとibusのいずれを使った場合にも、firefox等のmozilla製アプリやlxterminal等の一部ターミナルでIMEが起動せず、日本語入力が出来ないのです。

ウィンドウマネージャと各種IMの環境変数等設定を色々と変更して試してみた結果(抜粋)は概ね以下の通り。

1. 入力可
 chromium-browser, qterminal, emacs-gui等

2. WMや設定の組み合わせによっては不可な場合あり
 libreoffice

3. どの設定でも入力不可
 firefox, thunderbird, lxterminal(xterm)

この結果を見るに、ベースにしたツールキットの違いが原因と疑われる感じでしょうか。mozillaはマルチプラットフォームのために独自のツールキット(gtk+ベース?)を使っている筈ですし、おそらくは現環境(LXQt)のIM周り含むメッセージ処理についてブリッジのようなモジュールが必要で、それがアップグレードの失敗によって入っていない、とかそんなところかと。確認は困難ですが。。。qterminalはokでlxterminalがxなあたり、LXQtとgtk+の差な疑いが濃厚です。

他にも、LXQtでの標準ランチャー(lxqt-runner)を使ってみたところ、テキストボックスがポップする際、それにフォーカスが移らなかったり。都度ウィンドウを選択しなければならないのは如何にも手間でした。修正云々以前に、何故そんな事が起こるのか、謎です。

結局のところ、アップグレードの失敗によるだろう不整合点が多すぎて、手動でちまちま調べて修正するのはあまりに手間がかかる事は確実と思われる状態なわけで、流石にその路線は諦めざるを得ませんでした。同じような状況に陥った人は殆どいないようで、前例もほぼありませんでしたしね。

というわけで、初の上書き修復インストールで直す方針に切り替えました。まずドライブのパックアップを取り、インストール作業開始。

なお、最初はlubuntu(20.04LTS)のisoイメージを使ったんですが、これは途中(update-initramfs)でライブラリが足りない旨のエラーが出て、その修正も上手く行かなかったので、結局標準のUbuntu(20.04LTS)のisoイメージを使用しています。

基本は通常のインストール手順と同じ。上書きインストールの場合に異なる点は只一つ、インストール先のパーティションの設定の際、自動で設定や初期化等を行わず、手動(その他)での設定を選択し、かつ目的のパーティション(従来のルート)について、マウントポイントを'/'(ルート)に設定する事、です。また、マウントポイント設定の際、内容を保持する旨にチェックが入っている事を確認します。ここで内容を初期化する方(フォーマット等)にチェックが入っていたりすると全てが消え去り、バックアップの復元からやり直しになるので重ねて要注意。

後は通常のインストールと同じで、原則自動でインストールが進みます。 ただ、私の場合は、一点だけエラーが発生しました。具体的にはインストールのほぼ最終段、[以前インストールされたパッケージを復元しています...]の段で、復元に失敗したのです。その際のエラーメッセージは下記の通り。

<エラーメッセージ>
 インストールされていたアプリケーションの復元処理でエラーが発生しました。インストール は続行されますが、インストールが完了して再起動した後で、あらためてアプリケーションを 手動で再インストールする必要があります。

少し肝を冷やしましたが、致命的なものではなかったらしく、インストール自体は続行し、終了しました。後から確認した限りでは、確かにアプリケーションやライブラリが欠けていましたが、クリーンインストールの際と同様に追加すれば不足を感じる事はありませんでしたので、おそらくはもう使用していない類のサードパーティのリポジトリに関連するものが引っかかっただけだろうと思われます。

日本語入力等も可能に。firefox等でも日本語入力が出来ます。一安心。ランチャー(lxqt-runner)も呼び出し時にテキストボックスにフォーカスが移ります。

ただ、デフォルトの状態では気になった点は幾つかあります。qterminalのフォントが全角だったり、fcitxを入れる前にlubuntu-desktopを追加したところ、標準のibusだと何か問題があるのか、一旦日本語入力が出来なくなって、言語サポートも初期状態になっていたり。フォントは設定を変更すれば元通りになりましたし、日本語入力も新規インストールの場合と同様、常用しているfcitx-mozcを入れて設定すれば元通りになりましたが、若干不安を覚える点も無きにしもあらず、といったところでした。

また、ある意味当然ですが、/home以外のフォルダは全て初期化されます。/usr以下や/var以下を独自にカスタマイズして、そこに色々置いている人は多いでしょうけれども、それも一旦消えるので、それらを別途バックアップから復元しなくてはなりません。

やはり、アップグレードが正常に行われるに越したことはない、という事です。正直上書きインストールは二度としたくありませんね。ともあれ、何とか修正出来ただけよし、とすべきでしょうか。やれやれです。