気の向くままに辿るIT/ICT/IoT
webzoit.net
システム開発

Lumina 0.8.8-develインストール後不調となったFedoraの復旧

ウェブ造ホーム前へ次へ
サイト内検索
カスタム検索
*BSD/PC-UNIX/Linuxって?

Lumina 0.8.8-develインストール後不調となったFedoraの復旧

Lumina 0.8.8-develインストール後不調となったFedoraの復旧

2016/03/16

 Fedora 23にLumina 0.8.8-develをインストールしてみたところ、当初は何事もなく正常に機能しており、メインとして使うのによいなと思ったのもつかの間、その後、なぜか、システムが不調となり、しばらく先送りしていましたが、Fedoraの復旧方法を探ることにしました。

  • Fedoraあれこれ
    • Lumina 0.8.8-develインストール後不調となったFedoraの復旧

 結果からすると復旧作業は首尾よく完了、Fedora及び各種ソフトウェアが正常に機能するようになりました。(直接的な復旧作業は後述のホームディレクトリ内のドットで始まるディレクトリ・ファイル群の退避のみ。)

 復旧後、後述のようにリポジトリのLuminaバージョンが0.8,7になっていたので改めてインストールして使用及び様子見中です。

症状

 FedoraにLumina(0.8.8-devel)をインストール後、

 とりあえず、Luminaをアンインストール、ホームディレクトリ内の隠しファイル(ディレクトリ).liminaも削除してみましたが、相変わらず。

復旧に専念していたわけでもなかった

 ただ、当該マシンのHDDの空き容量から他にも後学のため他の何らかの*BSD/PC-UNIX/Linuxを更に入れてみようとも思っていた中、当面のLinuxの代替ということもあり、Debianをインストールしつつ、メインとしているNetBSD含め、効率的なデータ共有とバックアップを考えつつ、拡張パーティション内の整理方々、Fedoraのパーティションを縮小したり、Fedora/Debian/Linux swapパーティションの位置を整理・移動したりしながらで実際のところ復旧作業は後回しにしていました。

dnf autoremoveを実行したらFedoraが起動しなくなった

 そんな中、Fedoraのパーティション容量、ちょっと確保しすぎだな。。。これまで大量にインストールしてみたところで50〜60GBしかないから。。。というわけでGPartedで500GB弱を200GB弱に縮小(サイズ変更)させるにあたり、先んじて初めてdnf autoremoveを実行してみたら、今度は、Fedoraのトレードマークまでは出るものの、そこでフリーズしている状態でFedoraが起動しなくなりました。

 ただ、マルチブートしている他のOSは起動できるし、Live USBやマルチブートしているOSからのマウントはできるので一応GPartedで修復は図ったものの、パーティションが壊れているわけでもなく、HDDも換装したばかりなので物理的な故障の可能性は除外してよいと思われます。

 Live USBに入っているFedora 20のインストーラから仮にアップグレードできたにしても時間がかかるのでFedora 23のネットワーク経由のインストーラをダウンロード、USBに他インストーラやツール類とマルチブートかつISOブートすべく仕込んで既存のFedoraパーティション(論理パーティション1つ)にインストールを試みるも、どうもうまくいかないので他のパーティションに入れるという手はさておき、インストールする手は中断。

 そこでシングルユーザーモードで起動。。。あれ?Linuxでやったことなかったけど、boot s とかboot singleとかすればいいんだっけ?と思いつつ、調べたら、GRUBメニューの編集において[linux]行であるカーネル起動引数に[single]と追記すればよいことがわかり、やってみるとSELinux関連のエラー(failed to load selinux policy freezing)で止まっている模様。

 Guide/ModeFedora 13/SELinux FAQによると同じくカーネル起動引数にselinux=0やenforcing=0を追加すれば、とりあえず、SELinuxを無効にして起動できるとあり、そうしてみるとディスプレイマネージャkdmが起動、相変わらずウィンドウマネージャとLXQtはダメ、KDE/GNOME/LXDE/Xfceあたりのデスクトップ環境でならFedoraが起動しましたが、なぜか、キーボードやマウスが効かず、Alt+Ctrl+F2で別の仮想ターミナルを開くと効いたので更に再起動したら、これらも効くようになりました。(尚、リンク先には、SELinuxの無効設定後、マシンを起動した際に作成したファイルなどはSELinuxの管理外になることなどから非推奨であり、あくまで一時的なものである旨記載されています。)

 起動後なら/etc/selinux/configでSELINUX=disabledを指定すれば、SELinuxを無効に、SELinuxを強制する代わりに警告を表示するSELINUX=permissiveを指定(何が起きているのか、確認)することができるとあります。

 ただ、/etc/selinux/configでもSELINUX=disabledにして再起動してみましたが、結局、カーネル起動引数への指定が必要でした。

 起動したので少し操作してみるとMATEデスクトップやsudo、kmailなどあったはずのソフトウェアの一部が消えている。。。ということで改めてインストール。

 確認するとMATEデスクトップやsudoは機能する一方、kmailを起動するとakonadiがスタートしていないといわれ、systemctlでいけるのかとおもいきやない。。。と思ったら、試しに打ってみたらakonadictlなるものがあることを発見、restartとしたら、startしてないよといわれ、start、しばらくメッセージが流れたあと、エラーになっています。

$ mv ~/.local/share/akonadi ~/.local/share/akonadi-bak
$ mv ~/.config/akonadi ~/.config/akonadi-bak

 なんだこりゃ?とネット検索すると、Arch Linuxのドキュメントの充実度は素晴らしい

 おかげでkmailを起動できたものの、受信してみても受信中のプログレスバーだけは動くが一向に受信する気配がない。。。kmailの設定を見るとpop設定がない。。。先で退避したから一からやらないといけないってことか。。。設定をいじるとなぜか異常に動作が重い。。。あとまわし。。。

 また、それとは別に起動中、UUIDらしき値やdev、disk、byuuidといった文字列と共に黄色い文字の注意メッセージのようなものが出ていました。

 あ、/dev/disk/by-uuidか、もしかしてパーティション移動した時にUUIDが変わったのか?ということで当該デバイスのblkidコマンド結果と/dev/disk/by-uuid、/etc/fstabを見比べてみるとLinux用に確保したswapのUUIDが異なることがわかり、blkidコマンドで得られた結果で/etc/fstabを修正したら、相変わらずSELinuxを無効にするカーネル起動引数は必要も注意メッセージが出力されることなく、Fedoraが起動するようになりました。

 実際には、その後もパーティション位置を移動したりしたので結局、Fedora、Debian共に/etc/fstab内のUUIDの修正を行いました。

 さらに更新されたLinuxカーネルでFedoraのGRUB起動メニューが更新されていないことに気づきました。

 dnf search grubとしてみるとgrub2及び関連パッケージがいくつかあるもdnf list installed | grep -i grubだとgrubbyしかない。。。man grubbyするとGRUBやLILOなどブートローダーの手動アップデートみたいなことができるらしいことが書いてあるものの、なんか違う。。。

 [fedora grub 2]で検索してヒットしたGRUB 2によれば、Fedora 16からGRUB 2が標準採用されており、Fedoraにおいては、anacondaがGRUBメニューを自動更新してくれるため、他のディストロにあるようなgrub-updateは不要とのこと。

 確かにFedora 20をインストールして以来、ずっとLinuxカーネルのアップグレード後であれなんであれ、GRUBメニューを手動更新したことはないので今は、anacondaが効いていない模様。

 そこでwhich anacondaしてみるとあった、次にsystemctl status anacondaとしてみるとLoadedにはなっているが、有効にはなっていない、systemctl enable anacondaとしてみると以下に列挙するものに該当しない場合、enableする必要はない旨のメッセージ。。。ならばとsystemctl start anacondaとしてみるとエラーになり、statusやjournalctlで確認を促すメッセージ。。。

 もしかしてsystemctl status anacondaと[.service]を付けたsystemctl status anaconda.serviceで表示結果が異なるのか?と思い、これを付けて実行してみたら、やはり、違う・・・何やらProcess: 2889 ExecStart=/usr/bin/tmux -u -f /usr/share/anaconda/tmux.conf start (code=exited, status=203/EXEC)といった行を含む情報が。。。tmuxってなに?と思って調べると仮想ターミナルの1つで複数の窓をまとめて管理できるものらしいが、単独で使ったことはないなと思いつつ、which tmuxしてみるとない。。。だからcode=exited(エラーで処理を抜けたってこと?)なのか。。。ということでsudo dnf install tmux。。。sudo systemctl start anaconda。。。を、プロンプトが返ってきた。。。これで次回Linuxカーネルのアップグレード時には、GRUBメニューを自動更新してくれそうです。

 ちなみに後で入れたDebianのパーティションから起動するGRUBメニューに既存のFedoraが自動登録されていたのですが、これも自動更新されるんだろうか?ま、次回のお楽しみってことでとりあえず、いっか。

新規ユーザーなら問題ないかも?

 それでも当初の症状は、変わらず。。。そんな折り、ふと新規ユーザーなら問題ないのかも?と作成してやってみたら、案の定。

 ということは、システム自体は壊れておらず、一般ユーザーアカウントのホームディレクトリ内のディレクトリ含む隠し(ドット)ファイルに起因して構成がおかしくなっている可能性が濃厚。

原因はホームディレクトリ内の隠しファイル群の何れか

 そこでディレクトリを作成してドットで始まるファイルをとりあえず全て退避したところ、SELinuxを使用しない旨、カーネル起動引数に指定する必要は残ったものの、以前のようにディスプレイマネージャが起動、ウィンドウマネージャ含め、デスクトップ環境を起動、それまで機能しなかった各種ソフトウェアも機能するようになりました。

 その後、すぐに退避した隠しファイルの内、.bashrc、.bash_profileや.bash_logout、.xinitrc、.conkyrc、.jwmrcあたりの無難なものは、戻しましたが、それ以降の原因究明をするかどうかは気分次第。。。とはいえ正直、あまり乗り気ではありません。

 気づけば、FileZillaのサイト設定もなくなっている、なんだか、転送キューやローカル、リモートのディレクトリツリーのパネルも異様に狭かったり、広かったり。。。サイト情報って~/.filezillaにあるんだっけ?と思って退避ディレクトリから戻してみてもダメなのでサイト設定を改めて設定することに。

 サイト設定後、いざ、接続しようとしたら、「あなたによってパスワードを尋ねるしか利用できない設定になっている」旨のメッセージが出てパスワード入力を求めるポップアップが表示されました。

 [サイトマネージャ]の[一般]タブを確認してみると先に行ったアカウント設定が「パスワードを尋ねる」に変わっている。。。なんでなんで?と思っていたら、メニューバーから[編集(E)]、[設定(S)]を選択、[インタフェース]タブの[パスワードを保存しない]になぜかチェックが付いていたので、このチェックを外し(、また、関係があるのかは不明もクイック接続をクリックして履歴を消し)た後、接続してみたら、改めてパスワードを聞かれることなく、接続できるようになりました。

SELinuxの対処

 SELinuxを無効にする起動オプション付きでないとFedoraが起動しないのもひっかかるし、そういえば、dnf autoremove後、あったような気がするSELinux設定用GUIが見当たらないし、SELinux関連においてインストール済みのものとリポジトリにあるものを見比べてみることにしました。

 全て入っているわけではなさそうですが、必要最小限のものは、ありそうな感じだよなと思いつつもハッキリわからないのでfedora selinuxをキーに調べるとFedora 19のSELinuxマニュアルがヒット。

 やはり、最小限必要なパッケージ類は、一通り揃っていましたが、オプションで入れられるというものも設定用GUI含め、一通り入れておくことにしたら、既存のパッケージのアップデートも同時に行われました。

 また、別途一連の作業が必要なようなのでrpmやyumとdnfなどコマンド類は読み替えつつ、やってみたら、起動引数なしで(SELinuxを有効にしたまま、)マシンを起動することができるようになりました。

$ sudo grep "SELinux is preventing" /var/log/messages
...fedora setroubleshoot: SELinux is preventing /usr/sbin/rngd from execmod access on the file /usr/sbin/rngd. For complete SELinux messages. run sealert -l UUIDらしき値
...fedora python3: SELinux is preventing /usr/sbin/rngd from execmod access on the file /usr/sbin/rngd.#012#012***** Plugin catchall (100. confidence) suggests **************************#012#012If you believe that rngd should be allowed execmod access on the rngd file by default.#012Then you should report this as a bug.#012You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# grep rngd /var/log/audit/audit.log | audit2allow -M mypol#012# semodule -i mypol.pp#012
$ sudo grep rngd /var/log/audit/audit.log | audit2allow -M mypol
******************** IMPORTANT ***********************
To make this policy package active, execute:
semodule -i mypol.pp
$ sudo semodule -i mypol.pp
$ sudo reboot
$

 尤もgrep "SELinux is preventing" /var/log/messagesの結果、数行の出力があり、そこにあったコマンドも実行、再起動してみたものの、同じメッセージが表示されたので、それを無視して/etc/selinux/confingでSELINUX=enforcingとして再起動してみたのですが、以後も特に問題ない模様です。

 ちなみにUUIDらしき値は、/dev/disk/by-uuidに該当するものはありませんでした。

Fedoraの復旧完了

 これでLuminaインストール後の不調、その後のHDD内(パーティション)の整理にまつわる調整、dnf autoremove後の起動に関する不具合等々がなくなり、元の通り、Fedoraが正常に機能するようになりました。

 ちなみにLuminaインストール後、不調になって、ちょっとしてから確認のためにリポジトリthnewguy-lumina-desktopを有効にした状態でdnf installとしてみたら、同じようなことが頻発したのか、0.8.8-develではなく、lumina-desktop 0.8.7になっていました。

 lumina 0.8.7、インストールしてみようかな。。。

今度はlumina-desktop 0.8.7をインストール

 というわけでlumina-desktop 0.8.7をインストールしてみることにしました。(ちなみにLuminaデスクトップ上で右クリック、[設定]、[Luminaについて]を見ると、なぜか0.8.8-develになってますが。。。)

 インストールしたての今は、他のデスクトップ環境への影響もなく、ウィンドウマネージャも開くものの、それは、0.8.8-develの時もそうだったので、まだ安心とは言い切れませんが、Lumina自体においては、早速、使用確認直後、以下の状況が。。。

 ただ、Konsole絡みが多いのでKonsoleをdnf reinstallしてみたところ、相変わらずなので、これはLuminaではなく、Konsole5に起因する不具合のようです。

 また、以後、GNOME端末の症状は1度も再現されていません。

 尚、他は今のところ、正常に機能していることもあり、挙動確認しつつ、Lumina上でこのページを編集中、更に数日、使って様子をみてみようと思います。

 
追記:2016/03/23

 Lumina 0.8.7インストール後は、Lumina及びFedoraのシステム共に安定し、正常に機能しています。

LINK

ウェブ造ホーム前へ次へ