Fedora38再び

Fedoraが38になってしばらくした時のこと、ツールバーに表示されるDiscoverなるアプリケーションからの「Update有ります」につられて全部を更新したのでした。

普段通りの個別のアップデートの他に「Fedora Coreサポート」と言う見慣れない項目が有ります。37→38はUpgrade更新したので、なにか抜けたものでもあるのかと思い特に気にするわけでもなく更新開始。
その結果いつもやっているrpmのrebuildがことごとく謎のエラーで止まるようになってしまったのでした。

曰くgtk3パッケージが無いだの”xxxxx.h”が見当たらないだのと繰り返されます。もちろん物はあるんですけど、見に行くところが変わった模様。

Discoverでの更新作業の良くないところは何をやったのかさっぱりわからないこと。更新前にリストが表示されれば「なにか変」と気付けるのですが、その情報が出ないのでやってしまったときは正に「後の祭り」…

結局は再インストールを実行。どうにかインストールできる36を入れて、直接36→38のUpgrade実行で、どうにか復旧です。当たり前ですが、-o3化も最初から…
それにしても今使っているPCはUEFI対応では無いので37以降を直接インストールできません。今回は36からのアップグレードで対処しましたが、36がEOLになると関係パッケージに触れなくなることが予想されます。
どうしたものかなぁと思案中。

とりあえずFedoraのパーティションをISOイメージ化して保存するしか無い気がしますが、あとはPCの買い替え? 今使っているPCも10年選手なんで頃合いと言えばそうなんですがね。中古PCだと頃合いのモノもあるのですが、はっきりとUEFIだと分からないのでちょっとしたバクチとなります。どうしたものかなぁ。

方針変更

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にスイッチ。今のところ落ち着いている感じ。多少はパフォーマンスが落ちるんでしょうけど、安定がなにより第一!