Chap-.35 Clear Linux の試用

2023-11-18: Chap-0 に書きましたとおり、このチャプターの更新が今後どうなるか未定です。大変恐縮です。(そもそも、うちの機器類と相性が悪そうなことも一因です)



これまでチェックした他のディストリと同じように、以下の3つの視点で使いやすいかどうか見てみました。2022-10-31、2022-11-15



Sec-0.利用シーンについて
Sec-1.インストール
Sec-2.日本語入力の設定
Sec-3.UNIX 系らしく最初に試すこと
Sec-4.CUI でサーバ利用
Sec-5.Windows 代替としての利用(ATW)
Sec-6.全般としての印象



Sec-0.利用シーンについて

 最初に概念整理をしたい。というのも、このディストリはいささか不思議なディストリ。組み立て方やパッケージの揃え方が独特です。説明の前に概念整理が必要です。ただし安易な整理です。

利用シーンを4つくらいに分類

他に少しだけ事務利用のフロントもあるかもしれない。でも今はまだごく少数派。そこは大半が Windows でしょう。
大学利用でもコンピュータ専門系以外は シーン3) に近いと思います。
私がいつもやってる a), b), c) の分類はシーン2)を更に細分化したイメージ。コマイ、笑


次に Clear Linux 自身が自分をどう説明しているのか? です。

一点目、ニ゙点目は分かりやすい。三点目は独特ですがいじるとすぐ分かります。
四点目、一貫性とか言っているけどむしろちょっと風変わりで特殊な品揃えと言った方が分かりやすい。サーバ系については普通のディストリと品揃えが違う。サーバ系ソフトについては上記のシーン3)を強く意識した品揃えになってると思います。

これに対して、英語版 wiki は「一般利用を想定していない。ITプロフェッショナルの開発やらクラウドでの利用やらを考えている」となっています。
これは Clear Linux 自身が語っていることをベースにして「wiki 書いている人が考えている」イメージ。あってる部分もあるようです。でも、あってない部分もあると思う。
上記のうちシーン1)やシーン2)のUNIXギーク系は OS をある程度いじり回します。それには、多分このディストリは向いていない。なのでそっち方向じゃない。
でもシーン2)の Windows 代替系は対象にあてはまると思う。ここは OS の中を弄り回したり各種ソフトをコンパイルしまくったすることは少ないでしょう。パッケージソフトウェアをインストールして楽しみ、また実用的に利用する人達です。このディストリのサーバ系ソフトは風変わりな品揃えですが、flatpak ソフトウェアがフルで利用できるようです。一般アプリ利用には十分だと思います。なので個人利用でも Windows 代替系は十分いける気がします。英語版 wiki の説明には異論があります。
で、シーン3) 4) がメインの対象ってのは納得です。その部分は英語版 wiki のいうとおりだと感じます。。

日本ではハードメーカーが OS もインストールしてサポートもやるのが普通です。現に NEC、日立、富士通のウェブサイトを見るとどこも今は Linux のサポートに力を入れている。ただしすべて RedHat だけ。
こんな状況で Clear Linux が食い込めるかどうか私にはわかりませんが健闘するかもしれません。


で、私はどうするかと言いますと、例によって好きなようにやります。
そもそも AMD CPU だし基本的にシーン2)のギーク系利用です。Clear Linux が想定していない利用者でしょうが好きなように弄り回す前提でお試ししてみます。
最初にちょっとだけ結果を書いておくと、やや苦戦しました。でも一応なんとかなりました、笑。





Sec-1.インストール

 お試しに使うマシンは、メモリ8GB、SSD 120GBです。AMD-athlon-3000G +A320 マザボです。内臓 GPU 利用です。
事情があってお試しマシンのマザボを交換しました。イーサネットは intel 1000-CT です。
インストールはGUIでもCUIでも簡単です。質問項目はどっちも同じで、見た目には GUI の方が分かりやすい。一度 GUI でインストールしておくと、CUI でインストールする時に何をやろうとしているか分かって楽です。
例によって、インストール自体は省略。なお、GUI は GNOME です。

補足
 2023-03 頃にインストール、直後の更新をやるとブートアップしませんでした。多分この時点のカーネル6.2系列がちょとおかしい。
こんなときは インストールー>LTSカーネルにチェンジー>更新
とすると更新後にもちゃんとブートアップします。

LTSカーネルへの切り替え(例)
# swupd bundle-add kernel-lts
# clr-boot-manager list-kernels
* org.clearlinux.native.6.2.6-1290
  org.clearlinux.lts2021.5.15.86-30
(アスタリスクのついているのが今有効化されているカーネル。ここでカーネル切り替え)
# clr-boot-manager set-kernel org.clearlinux.lts2021.5.15.86-30
# clr-boot-manager list-kernels
  org.clearlinux.native.6.2.6-1290
* org.clearlinux.lts2021.5.15.86-30

これで次は lts2021.5.15.86-30 で立ち上がります





Sec-2.日本語入力の設定

2022-10-31 初稿、2022-11-15 修正

 デフォルトで使える日本語入力システム(IM)は ibus-skk だけです。
使いづらくて全く使う気が起きません。なので mozc を使います。

 基本的に mozc を使うのに3つの方法が可能です。

 10月中旬くらいに試したときは flatpak 版の fcitx5-mozc にはブラウザに入力できない問題がありましたが、11月中旬に試したら治っていました。

flatpak 版の fcitx5-mozc は Chap-30-2 Sec-2.と同じにやれば使えます。2022-11 時点では何も問題無いです。


2023-03 頃に試したところ mozc がコンパイルできなくなっています。原因は不明です。
このため、以下に書いてある通りにしても mozc のコンパイルは出来ません。あしからず。



 コンパイルについては、幸い数個のパッケージを入れ、bazel を入れ、後ほかにヘッダーファイルに少し工夫すると ibus-mozc、fcitx5-mozc ともにコンパイルすることが出来ました。コンパイルに必要な準備は下記のとおり。コンパイル作業は Chap-27. Sec-7. Sec-8. に示します。実際に Clear Linux で使うのは ibus-mozc にしました。GNOME は ibus が相性が良いです。

** コンパイルに必要なパッケージ **
フリーソフトウェアのコンパイル等のために以下のパッケージをインストールしていました。mozc のコンパイルはこれ以上必要なかったです。これでコンパイル出来ました。

devpkg-apr-util、devpkg-pcre、devpkg-openssl (Apache コンパイル用)
devpkg-gc                   (guile コンパイル用)
devpkg-libuv                 (BIND コンパイル用)
desktop-dev、storage-utils-dev        (postfix コンパイル用)

** ヘッダーファイルへの工夫(これは ibus-mozc だけの対策) **
/usr/include/glib-2.0/glibconfig.h の名前を変更しておく。例えば glibconfig.h.orig とか。
理由:本来はコンパイルするとき、/usr/lib64/glib-2.0/include/glibconfig.h をインクルードしたい。それなのに上に書いたほうが先にインクルードされてしまって、それでコンパイルエラーが出る。上の方は記述内容不足。下が正規版。(・・・らしい、よう知らんけど、笑)

** bazel のインストール **
flatpak から bazel をインストールし、適当なパスの通ったところにシンボリックリンク貼っておきます。

** 実際のコンパイル作業 **
Chap-27. に示します。



10月に試したときは flatpak 版の mozc が調子悪くて、このセクションは想定外に難儀でした。コンパイル作業をしたため、時間を要しました、汗。
2023-06: また flatpak の sandbox が少しおかしい。mozc が正常に動きません、トホです。





Sec-3.UNIX 系らしく最初に試すこと

 例によって普通のUNIXマシンらしく管理・設定ができるかを試します。
冒頭に書いたことのうち、主に a. b. 利用のためのチェックをやります。
で、試すことは以下のようなことです。

以下、順に書きます。



IPアドレスとリゾルバ
 NetworkManager 利用です。基本的に他のディストリと操作方法は同じ。GNOME の GUI でも設定出来るし CUI で nmcli コマンドも使えます。
一つ他と違うのはリブートしないと設定が反映されないようです。普通は # systemctl restart NetworkManager とかやると反映されるけど、Clear Linux はリブート必須のようです。別にそれならそれで構わないです。


/etc/rc.local
 ここは少々面くらいました。今まで複数のディストリで使っていた rc-local.service のユニットファイルが機能しません。やっても rc.local が動きません。
やむなくネットを検索して rc-local.service ユニットファイルのサンプルを数個ダウンロードして試しました。全部ダメ、笑。
どうやら Clear Linux 作ってる人達はどうしても rc.local は使わせたくないらしい。
確かに上記のシーン3)だと rc.local を使う状況なんてあり得ない。考えられない。それは理解します。
でも個人利用とか UNIX ギーク系ならやりたいと思う人も絶対いるはず。なんだかなあ・・・です。
やむなくユニットファイルからいくのはやめて cron を使うことにしました。cron の設定でルートで

@reboot     /etc/rc.local

としておけば /etc/rc.local が機能します。そっちでやって無事に動きました。やれやれ。


パケットフィルタ
 ここは普通です。nftables が問題無く機能します。2022-10月末頃時点で ver 1.0.5 新しいです。


デーモン管理
 普通に systemctl コマンドで行けます。
ただし個別の名称が一般的なのとちょい違います。cron は cronie ってヤツで制御。sshd は systemctl enable sshd とかじゃなくてsshd.socket ってヤツです。ネットで検索するとそっちの方がメモリー消費が少ないとか。ようは systemd が port22 を監視していて、アクセスがあると sshd を動かすらしいです。フーン・・・・・・・・。ま、良いですけど。
自動更新は swupd autoupdate --enable (--disable) で制御。
swupd-overdue.service でブートアップ時にスケジュールどおり更新しているかチェックするらしい。
時間シンクロは基本的に systemd-timesyncd を使ってます。多数派は ntp か chrony なんですけどね。
別に何も問題は無いですけど、いろいろと個性的、笑。
個性的だからと言ってこき下ろす気持ちは全くありません。安定・堅牢にしっかり出来てると思います。むしろ、ものとしては好印象です。


シリアル回線
 ここもかなりまごつきました。想定外に大変です。
何が大変かというと、OSが一つのシリアル回線を握って離しません。serial-gettty@ttyS0 とか言うのが自動で立ち上がっています。
ようするにシリアル回線からログインさせるためのサービス。上記シーン3だとそういうのが必要なのかももしれません。事情はわかります。そう言えば 20 年くらい前に自宅サーバをシリアル回線でログインして管理していたことを思い出しました。懐かしい・・・笑。
 最初 cu -l /dev/ttyS0 ってやると反応しないので、このサービスに気がつきました。で、止めました。
でも止めても相変わらず回線が空きません。Lockファイルとか探してみてもそれらしいものはないし・・・一時間くらい悪戦苦闘して諦めました。人間、諦めが肝心です、笑。
いつもは内臓の com port は停止しておいて外付け(PCI-e とか)につけるカードで二回線用意しています。それぞれ ttyS0 ttyS1 になります。
そこで今回のこの問題を回避するために内蔵 com ポートを有効化しました。なので有効なのは ttyS0 ttyS1 ttyS2 の三回線です。自分がシリアルケーブルをつないでルータと接続しているのは、したがって ttyS1 ttyS2 になります。
予想どおりOSは ttyS0 を握って満足したようです。ttyS1 ttyS2 はこっちが使えるようになりました。
実際には ttyS0 はマザボ上にあるポートで何も接続してません。でもOSがそれで満足してるなら、それで良いです、笑。
こうして通常通り二回線使ってルータ制御できるようになりました。なお cu コマンドは手持ちの uucp-1.07.tar.gz ってヤツをコンパイル・インストールしました。cu コマンドのパッケージが無さそうだったので自力コンパイルです。


apache、postfix、guile、lua のコンパイル
 Chap-7. を見てください。問題なくコンパイル出来ます。最初から割合と沢山の開発パッケージが入っているようです。良いです。
ただしパッケージ名称が独特だし、全体的にメタパッケージ化とかされてるみたいで、入れるのに時間がかかります。要するに集合体のパッケージ。例えば postfix をコンパイルするのに必要な m4 を入れるのに desktop-dev ってメタパッケージをいれましたが実際にはパッケージ300個以上の集合体。
なので入れるのにコーヒー一杯リビングまで降りていって飲んでくるだけの時間が十分あります、笑。
全体にそんな感じで、名前が全然違うしメタパッケージが多くて混乱。
ただし個人的には開発パッケージのメタ化は賛成です。Debian Alma ともチマチマと一つずつ入れていくスタイル。開発パッケージなんかどうせいろいろ使うんだから最初からテンコ盛りに入れておいてほしいくらいです。例えば Arch とか Slackware みたいに。ああいうやり方のほうが使いやすいです。
話がそれっぱなしですが、メタパッケージにしてドーンと一気に入れる Clear Linux のやり方は良いと思います。最初から割合と沢山入っているのも良好です。


このセクションは苦戦とまでは言いませんが、手間がかりました、汗です。





Sec-4.CUI でサーバ利用

 普通だとここはあまり書くことがないのですが、苦労とは言わないまでも珍道中みたいになりました、汗。

***named について***
 一般的にどのディストリでも named つまり bind-9.x のパッケージくらい持っています。ですがこのディストリは bind を使わないようです。いやはや。
その代わりに入っているのは pDNS いわゆる powerDNS ってヤツです。bind がかっていろいろとセキュリティ問題があったとかでその代わりにより安全度の高いものとして採用しているらしいです。フーン・・・・・・・・・・って、笑。
確かに2022-9月にも security advisory とかが出てました。でも、まともなディストリなら対応済み。
pDNS ってゾーンファイルの書き方からして違いそうだし、そもそも bind が現時点(2022-10-31)でそんなにマズイという認識は無いし、いきなり新しい DNS のソフトに変える気は無いし、うちのネームサーバは内向きだけのサービスで外に向けてないし・・・・。なので pDNS を使う気はありません。
かといって bind のパッケージは無い。
仕方ないのでソースをダウンロードして自分で bind をコンパイルしました。コンパイルオプションがけっこうややこしくて「あ、このディストリはやっぱりクセが強いんだな・・・」と実感します。コンパイルオプションさえ適切にやれれば make そのものは一発です。

*** その他サーバソフト***
 その他にも、いろいろあって pop サーバも vsftpd サーバも自前でコンパイルすることになりました。
なので「自分流に弄り回して扱う」とか言ったのは良いけど、その分手間がやたらとかかりました。


で、結果的にマアマア自分流に扱えるようになりました。ヤレヤレ・・・。悪戦苦闘の二歩手前くらいです。
 OSの自動更新ですが、サーバで自動更新していると「hogehoge やってサービスのリスタートが出来るよ」なんてメッセージが出ます。
ようするに24時間365日運転がメインターゲットなので、OS自体をリブートしなくても個別サービスをリスタートしやすく作ってある、ということです。しかもそんなメッセージまで出てきて、結構親切な作りです。
もしかして、すごく技術力の高い OS のように思えます。






Sec-5.Windows 代替としての利用(ATW)

 このセクションが一番手間がかからなかったです。基本的に簡単でした。



プリンター スキャナ
訂正:2022-11-04 cups を使う件
 Chap-32. Sec-4.でドライバーを入れます。一見すると最初から私のプリンタ(Epson PX048A)のドライバ類を持っているようです。が、設定してみると下三分の一くらいがかすれて印刷されません。ドライバにバグがある。もしかしてバグつきの古いドライバを使っているかもしれない。なので自分でコンパイルインストールします。それでうまく印刷できるようになります。
なお、GUIの付属の「印刷設定」を 2022-10 に使ったのですが 2022-11 に再チェックしたらそっちはうまくいきません。
cups web interface でうまく行きました。前のやり方も2回くらいチェックしたつもりですが・・・ちなみに今回やった時のバージョンは 37560 でした。
通常は http://localhost:631/admin/ でプリンタ設定に入るところを http://localhost/631/ で入ります。以下「管理」に入ればいつもの設定画面になります。以下 Chap-32. Sec-5. のとおりです。
このディストリは nsswitch.conf には mdns の記述がありません。セキュリティ上やや問題のあるメカニズムなのでそれを排除しているのは良いです。

スキャナも Simple-scan でオケです。


ブラウザ
 ディストリのブラウザでは amazon prime がうまく視聴出来ませんでした。が、flatpak が使えるのでそっちから firefox をインストールすれば視聴できるようになります。
私は試さなかったですが google-chrome も flatpak でインストール出来ると思います。試さずに言って恐縮ですが・・・笑。



メーラ
 とりあえず flatpak の evolution もディストリ版の evolution も試して問題無いです。別に、どっちでも良いですが flatpak 版は幾分もたついた動きです。


オフィス
 Libreoffice ディストリ版は日本語メニューにならなかったです。探しても日本語化パッケージがありません。
なので flatpak 版に切り替えました。そっちはメニュー表示が日本語です。


画像ソフト
 gimp がディストリ版で全然問題なく使えます。


パッケージの追加やシステム更新
 更新やパッケージ追加は問題無いです。ただしコマンドが独特です。swupd ってヤツ。swupd bundle-add とかタイプ作業量の多いコマンド。なので alias で短縮化します、笑。
マニュアルに swupd で追加とか更新をやるなら、デーモン化されて動いている swupd デーモンをまず止めておく必要があります。これが動いているとマニュアルにコマンドが打てません。
swupd-overdue.service を止めて(mask して)おくと、多分デーモンが起動しないので、マニュアルに swupd コマンドが打てると思います。
自動更新は swupd autopudate --enable (--disable) で制御。どっちでも良いと思います。


VLC の利用、市販DVDの再生
 Flatpak で vlc をインストールすると簡単に市販DVDが視聴出来ます。


flatpak の利用
 調子良いです。基本的に flatpak にフルスペック対応です。


このセクションはいままでのセクションと比較するとマアマア順調にすみました、笑。







Sec-6.全般としての印象

 3つの視点で評価します。
   視点a. ・・・クセが強くて独特ですが、安定堅牢な印象です。お試しでやったインターネットサーバは調子良かった。
   視点b. ・・・クセが強くて独特ですが、動作は安定堅牢な印象です。開発環境は構築しやすい方です。
   視点c. ・・・ここは簡単です。レスポンスが高速で快調・良好です。

*Sec-0.に書いたシーン3)を強く意識した組み立てがしてあって独特です。しかしシーン2)の Windows 代替系も十分イケそうです。
*シーン2)の UNIX ギーク系でも手間をかければ十分対応出来ます。
*ネットの評判どおり反応が軽やかで高速な印象です。
*10 月に試したときは wayland は画面がチラチラしてだめで Xorg を使いました。Amd CPU を使っているからだろうと思っていました。2022-12 初旬の 37710 版ではチラツキが無くなっています。Wayland Xorg ともに良好となりました。
*レスポンスは全体に良いですが flatpak 版ソフトウェアは多少もたつきます。特に evolution はもた。原理的に仕方ない。
*mce のログを取るサービスが動いてましたが、もちろん止めました。Intel CPU 専用サービスです。
*更新で入ってくるパッケージはすごく新しい。10月頭にはすでにカーネル6系列、GNOME-43 になっていました。猛烈です。
*Distroでは 90 位前後。人気はありません。しかし、しっかり作られていて良いディストリです。安定堅牢高速です。


 余談ですが、さして宣伝もせずにひっそりとオープンソースの Clear Linux を公開し続ける Intel 社に対して、好印象を感じます。
そういえば Microsoft の Linux もこれと言って宣伝せずに公開し続けています。


補足:2023-07
 このところ Clear Linux の様子がややおかしいです。6月頃には IM 関係が正常に動きませんでした。
2023-07 になったらインストールすら出来なくなりました。39400 のインストールイメージ+我が家のマシンではインストール終了後に OS が立ち上がりません。
はて? 一体どうしたんでしょう? もしかしたら内蔵GPUを持つ AMD-CPU とグラボ(geforce)の組わせにうまく対応できないのだろうか、なんて考えています。よく分かりません。