方針変更

Fedoraだけでは無いと思うのですが、各種のパッケージの中には相互依存が強い場合か有って、パッケージAの更新分をRebuildするにはパッケージBの更新文が必要。だけどパッケージBの更新にはパッケージAが… となってしまうことが度々発生します。

またKDEのシステム系によく見られるのですが、最終的には全部Rebuildできるのですが、そのためには数十回のrebuildと出来上がりパッケージの更新インストールの繰り返しが必要となって非常に時間がかかります。

で、方針転換。先にdnf updateで全部一旦更新してしまって、あとからrebuild済みのパッケージを入れ直すことにしました。結果はてきめんで、あの面倒だったKDE関係の更新も1passで終わってしまい、随分と時間の節約になったのでした。

もっと早く気がついていれば良かったな…

gpgエラー

-O3ビルドをやっていると、時々変なエラーが出てrpmが作成できないことがあります。
大体は単純にファイルが多いと文句を言われるので、specファイルに削除を追加してrpmを作成していきます。

今回はgpgmeの生成でディレクトリ構造が違うぞとの苦情が出たので直して生成、インストールしたら、まさかのdnfが使えなくなりました。gpgモジュールをimportできないとか。

標準のgpgmeを入れ直してみましたが解決せず… 弱ったなぁと思いつつもソフトリンクを貼ることでなんとか治りましたが、正月そうそうちょっとびっくりです。

Traceback (most recent call last):
 File "/usr/lib/python3.11/site-packages/dnf/crypto.py", line 35, in <module>
   from gpg import Context
ModuleNotFoundError: No module named 'gpg'

なので、/usr/lib64/python3.11/site-packagesに行って

[root@fedora site-packages]# ln -s gpg-1.17.0-py3.11-linux-x86_64.egg/gpg gpg

でなんとか解決した模様。とりあえずdnfは苦情が出なくなりました。次のgpgmeの更新が怖いな…

またやっちまった…

またしてもgrub2でトラブル。起動不能になってしまいました。
こんな時のための忘備録というわけで、作業をしたのですが、どうも新規インストール扱いとなってしまったようで、「オマエのPCはUEFIでないから起動設定不可!」とメッセージが出てオシマイ…

さて方法は3つ。

  • 1. とりあえず36まで戻って(36のBootable Mediaを作って)、36の環境を作成してupgradeをかける
  • 2. Fedoraをあきらめて他のDistributionに移行する
  • 3. 新しいPCを購入する

選択肢2の他のディストリですが、現在元気なのはUbuntuなんですが、ベースがDebianなのが大いに問題。どうもUbuntuの世界では自前でパッケージを最適化rebuildすることは無いようで、ほとんど情報が出てきません。
やはり使い慣れたRedHat系がいいなと思うと、CentOSとなるのですが、こちらもかなり混乱していてCentOS7より8の方が先にEOLが来るというカオス。

UEFIの他にx86のv2以降でないと使えなくなるディストリが増えそうな気配もあるので、そうなると10年目が見えてきたこのPCを廃棄して新しいPCもしくは8世代目あたりのCPUを積んだ中古PCを購入ということなります。価格見てみましたが第8世代あたりはまだ高いですね。i7-8700搭載機だとi5-12400辺りの新品と価格が変わりません。
現状のPCはグラフィックボードが非常に高価になっているので内蔵グラフィック以外だと結構な金額となってしまいますので、悩みも深い。

と言う訳で、とりあえず1の一旦36に戻してからUpgradeを実施。37になってまだ日が浅いのでさほどの大ごとにもならずに37に戻れました。rpmのrebuild環境はこれからなんですが、ぼちぼちやっていきましょう。まぁこちらは道楽なんで焦る必要も無いし。

Fedora37

お約束のように37がやってきました。36は様々なドタバタのおかげでほとんど触った気がしないうちに終わってしまいました。

例によってcuiで古式ゆかしく更新をかけて終了。今回はlv2-develが気に入らないとのことでしたが、削除してやって問題解決。dnfの–allowerasingオプションが機能しなかったのがちょっと癪に障ったりします。
トータルで6400ほどのrpm更新となったようなので、総処理時間は不明です。(寝ている間にPCに頑張ってもらいました(汗))。

再起動後いつものようにftpの設定などを変更して、以後のupdateに備えます。が、すでにかなりの数のupdateが登録されていてびっくり。流石にFedoraだなぁと。ただし、手動更新の時点ですでにupdateが適用されているので今現在はdnf updateのリストにはなにも載ってきません。

とりあえず、いつものようにgcc、kf5のあれこれ、cmake,make,tar,xorg-sever,firefox,thunderbird,libreofficeあたりから-O3化を進めていきましょう。

live-usbでのfedora rescue

いろいろ資料を当たって、どうにかgrub2の修復が済んでfedoraが起動できるようになりました。なので防備録として手順をメモ。

まずはfedora-kde-liveはnvidiaとは相性が悪いので、先にnvidiaのビデオカードを外しておく。次にfedora-kde-liveで起動、ログインまで済ませておく。 念のためにlsblkで構成を確認。現状ではこの通り

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 894.3G  0 disk 
├─sda1   8:1    0   600M  0 part
├─sda2   8:2    0     1G  0 part
├─sda3   8:3    0    16G  0 part
└─sda4   8:4    0 876.7G  0 part
sdb      8:16   0 931.5G  0 disk 
├─sdb1   8:17   0   100M  0 part 
├─sdb2   8:18   0    16M  0 part 
├─sdb3   8:19   0 930.9G  0 part 
└─sdb4   8:20   0   552M  0 part 
sdc      8:32   1     0B  0 disk 
sr0     11:0    1  1024M  0 rom  
zram0  252:0    0     8G  0 disk [SWAP]

su -でrootになっておく。/dev/sdaがfedoraなので、あれこれをmountしてchroot

mount /dev/sda4 /mnt <-- rootパーティション
mount /dev/sda2 /mnt/boot
mount /dev/sda1 /mnt/boot/efi
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /var/run /mnt/var/run
chroot /mnt

このPCはmulti-bootなので、
grub2-install /dev/sda
を実行。さらに新しい構成を指示するために
grub2-mkconfig -o /boot/grub2/grub.cfg
を実行。
これで終了なので一旦exit。そして順番にmountを解除

umount /mnt/var/run
umount /mnt/sys
umount /mnt/dev
umount /mnt/boot/efi
umount /mnt/boot
umount /mnt

これで終了。今回はumountする前に確認したところgrub2の更新があったので、先に更新してからあれこれ作業。どっちが効いたのかはわかりませんが、無事にfedoraが起動できるようになりました。
後は外したnvidiaのビデオカードを戻して終了。毎度これだと、ビデオカードの脱着が面倒なので、cinnamonのlive-usbを作成しておきますかね。

ドジな話Part2その後の続き

諸々のリビルドとアップデートを着々と進めて、残りの大物としてはLibreofficeを残すのみとなりました。

KF5の地獄はいつものことなんですが、うっかりghcとrustのリビルドに入ったところ、出てくる出てくる関連ファイルの山。使いもしないのにghcとrustの殆どのrpmモジュールをインストールしたんではないかな。それでいてghc本体はエラーで作成できずと何やってんだか解らなくなりました。

さてある程度作成も済んだので一旦再起動しようとしたところ、またしてもgrub2のエラーでFedoraが起動不能に。そのままだとWindows側も道連れなのでBIOS(UEFI?)の設定を変更してとりあえずWindowsは起動できる状態に戻しました。

このgrub2の問題、いい加減にしてほしいなぁ。面倒なので再インストールはしたくありません。なので本腰を入れて対処方法を探らなくては、いやはや面倒なことだ。

まぁこれがFedoraの世界でもあるのですがね。

ドジな話Part2

先日のこと、PC内のファイルを整理していたらBIOSファイルが出てきました。CPU-Zで現在のBIOSバージョンを確認すると、後から見つかった方が4ステップ程進化している模様。タイムスタンプが2014年、即ち8年も前に取得して放っておいたファイルなので、今更更新する必要もないのですが、なんとなくフラフラと更新してしまいました。まぁ、更新用のExeファイルを実行すると確認されることも無く一気に進んでしまうので止めようもなかったというのもありますが…

1分もかからずに更新が済んで再起動。インストラクションに従ってBIOS画面を出して一旦Default値をLoadしてからあれこれいじって再起動。
Windowsは問題なく起動したのですが、Linuxが問題。BIOSのBoot Menu画面にすら出なくなってしまいました。当然のことながら起動はできません。

データーは残っているのでGrub2とUEFI-Bootの修復だけでなんとかなるんだろうか。
いやはや余計なことをしてしまったものだ。

Fedora36

新しい版が発表されました。なので手順に従ってUpgrade。古式ゆかしくコンソールからコマンドを打ち込んでの作業です。

なんだかんだで今回は1つのモジュールが更新できないとの話しでしたが、Optionの–skip-brokenをつけてやったら全部OKとなりました。

KDE spinであるせいもあって何が変わったのかよくわからないですね。唯一はっきりしているのはSRPMをダウンロードするのためのgftpの設定でJAISTがipv6でアクセスしに行って討ち死にしたくらいかな。

あれこれ設定して、とりあえずipv6を無効化してなんとかクリア。あとはgftpのブックマークの変更と更新分のSRPMの取り出し。今回は出遅れた分インストール時にだいぶ更新が含まれたようで初回取得のリストはいつもの2/3くらい。それでも600程度はありますから先は長そう。

Videoカード交換その2

本番環境はFedoraなので、そちらを起動。するとKDEのスクリーンになったところで固まってしまいGUIの反応がなくなります。ただし別に起動しておいたKonsoleは動いているので、システム全体が死んだわけでありません。

クリーンインストールが必要かと勘違いしてbootable mediaを作成。でもやっぱり同じく固まる。ならばとMint Desktopのbootable mediaを作成して試したところこらはOK。

しばらくMintで凌ぐかと考えたのですが、よく考えてみたらドライバーが不適合なだけと言うことに気がついてnVidiaのドライバーをインストール。rpmfusion-non-freeにドライバーがあるので、rpmfusion-non-freeをenableにしてインストール。ようやく全体が正常に動くようになったのでした。

[xxxxx@localhost ~] sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
[xxxxx@localhost ~] sudo dnf install akmod-nvidia

AMDならともかく、NvidiaのGeForceシリーズならデフォルトでカバーされているものとばかり思っていたのでこれは意外でした。もっともMintではそのままでOKでしたから、これはKDE特有の問題かもしれません。KDEの人はNvidiaが嫌いなのかな(笑)。

Videoカードの交換でドライバーが必要になったのは、2013年にAMDのカードに変えた時なので、9年ほど遭遇しなかった事態です。なのですっかり忘れてちょっと焦ったのでした。

3月21日追記

どうにも各ウィンドウの中身の表示がちらついたりして落ち着きません。Nvidiaの場合、cudaドライバーも入れないと駄目だとのことなのでインストール。
cudaってGPUで演算するための機構というイメージが強いので、別にいいかと思ったのでした。記事によっても「入れてもいいよ」から「入れないと問題が起きるかもね」まであっていろいろ。

[xxxxx@localhost mak]$ sudo dnf install xorg-x11-drv-nvidia-cuda
=====================================================================================================================
 パッケージ                       Arch           バージョン                  リポジトリー                      サイズ
=====================================================================================================================
インストール:
 xorg-x11-drv-nvidia-cuda         x86_64         3:510.47.03-1.fc35          rpmfusion-nonfree-updates         1.8 M
依存関係のインストール:
 nvidia-persistenced              x86_64         3:510.47.03-1.fc35          rpmfusion-nonfree-updates          34 k
 opencl-filesystem                noarch         1.0-14.fc35                 fedora                            7.4 k

トランザクションの概要
=====================================================================================================================
インストール  3 パッケージ

cudaを入れたところなんとなく落ち着いた感じ。まだ再起動していないので本当かどうかはわかりませんけど。

さらに追記

cuda入れても変わりは無し。なのでwaylandをあきらめてxorgにスイッチ。今のところ落ち着いている感じ。多少はパフォーマンスが落ちるんでしょうけど、安定がなにより第一!

Fedora35その4

大量のKDE5のアップデートが来ました。5.89->5.90なのですが、rebuildで問題発生。

当初kf5-kconfigのrebuildで余計なファイルであるlibKF5ConfigQml.so.なんとかが邪魔と怒られます。なのでspecファイルに余計な奴らを削除するように指示を追加して問題解決。
ところがその後、少なくないファイルのrebuildがfailで止まります。5.89のときは無かった現象なので何が起きたのかBuild Logを読んでみます。
すると…

CMake Error at /usr/lib64/cmake/KF5Config/KF5ConfigTargets.cmake:89 (message):
The imported target "KF5::ConfigQml" references the file
"/usr/lib64/libKF5ConfigQml.so.5.90.0"
but this file does not exist. Possible reasons include:

まさしく先程のkf5-kconfigのrebuildで消したファイルが無いと怒られています。
再びkf5-kconfigのspecファイルを変更してlibKF5ConfigQml.soとかなんとかをcoreファイルとdevelファイルに入るようにしてrebuildして再インストール。
そうしたら問題が解決したのでした。

  • kf5-kcompletion-5.90.0-1.fc35.src.rpm
  • kf5-kconfigwidgets-5.90.0-1.fc35.src.rpm
  • kf5-kcontacts-5.90.0-1.fc35.src.rpm
  • kf5-kfilemetadata-5.90.0-1.fc35.src.rpm
  • kf5-kglobalaccel-5.90.0-1.fc35.src.rpm
  • kf5-knotifications-5.90.0-1.fc35.src.rpm
  • kf5-kservice-5.90.0-1.fc35.src.rpm
  • kscreen-5.23.5-1.fc35.src.rpm
  • plasma-systemmonitor-5.23.5-1.fc35.src.rpm
  • plasma-workspace-5.23.5-1.fc35.src.rpm

以上がこの問題に引っかかっていたファイル。結構大物が含まれています。

おそらくはrebuildなんて酔狂なことをしなければ問題にはならなかったのでしょうけど、検証ってどうなっているのやら。Bugzillaに報告を上げたほうがよいのだろうか?