Chap-20. CentOS を試用

2020-04 初稿、2020-08、2020-11 更新

 Redhat 系の systemd 採用ディストリ 。試すのはバージョン 8.1 です。
これまでチェックした他のディストリと同じように、以下の3つの視点で使いやすいかどうか見てみました。
例によって、a. と b. が重点項目です。

世間一般の評価は、サーバ専用OSみたいな感じですが、Distrowatch 見てるとカテゴリーとしてはデスクトップもあります。
このため、(c) についても、軽くチェックしてみます。


Sec-1.インストール
Sec-2.日本語入力の設定
Sec-3.インストール後、最初に試すこと
Sec-4.最初に試すこと
Sec-5.Windows 代替としての利用(ATW)
Sec-6.全般としての印象
Sec-7.追加:Xfce の導入 (2020-11)



Sec-1.インストール

 使うのは、メモリ8GB、SSD 120GBです。
最近のディストリはどれもグラフィックインストールがあり、やりやすいです。
このインストーラは、パーティション分割がちょいとやりにくい(わかりにくい)です。慣れないと、うまく行かないですね(笑)
昔と違って今はファイルシステムの信頼度が格段に向上しています。以前は、時たま fsck して、サルベージやりましたが、もう何年もそんなこと、やったことないです。なので、パーティション分割しないで、全体一発パーティションでも良いと思います。また、スワップもメモリ 8GB なら、事実上発生しません。いくつでも構わないので、システムおまかせしました。(半分、言い訳です)


インストール完了したら最初に、selinux の無効化と、リポの追加をしておきます。
selinux の無効化は /etc/selinux/config の中で SELINUX=disabled としてリブートするだけです。
(注:SELINUXTYPE= のところは触らない。ここを間違えて書き込むと OS が立ち上がらなくなるそうです、汗)

リポについては下の URL に書いてあるようにします。私は Fedora と RHEL のリポをを追加しました。
追加の仕方、及び優先度の設定が書いてありますので、そのとおりにやります。著者さん、ありがとうございます。


https://www.server-world.info/query?os=CentOS_8&p=initial_conf&f=7


------ (Fedora repo) -------
# dnf install epel-release
# nano /etc/yum.repos.d/epel.repo

「priority=10」を追記。



-----  (Redhat enterprize リポ) --------
# dnf install elrepo-release
# nano /etc/yum.repos.d/elrepo.repo

「priority=10」を追記。


書き直した後
# dnf update




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

 リポの追加がやってなければ、標準でインストール済みの ibus-kkc を使います。ロケール日本でインストールした場合は最初から入っています。
設定の方法は Chap-27. Sec-1. に書いてあります。

リポが Sec-1. で書いたように修正してあれば ibus-mozc を追加でインストール出来ます。出来れば ibus-mozc のほうが良いと思います。変換効率その他、メリットが多いです。
CentOS の場合は、ibus-mozc を入れたら設定用のツールも自動的に入ります。(Ubuntu でいう mozc-utils-gui、Mageia なら mozc-tools に相当するツール)
このため、ibus-mozc を入れたらすぐに設定に取り掛かれます。
設定の方法は Chap-27. Sec-2. に書いてあります。





Sec-3.インストール後、最初に試すこと

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

以下、順に書きます。




Sec-4.最初に試すこと 

IPアドレスとリゾルバ
Chap-19. Sec-3. に別途書いています。問題なくエディターで管理できます。オケです。


/etc/rc.local
Debian と基本的に同じやり方でオケです。Chap-13. Sec-5. 見てください。


カーネルアップとパケットフィルタ
カーネルアップについて
Kernel 4.18 系列という風変わり(?)なバージョンです。この 4.18.x 系列を使う限り、自分でコンパイルは、あり得ませんね。
なのでカーネルアップはディストリのアップデート任せです。CentOS のアップデート頻度は少なめです。

パケットフィルタはいささか癖があります。nftables を入れてみましたが、システム固有のもの(チェーン)が入っていて邪魔です。が、なかなかそれを消去できません。
OS が立ち上がった後で nft flush ruleset とするときれいに消えます。でも、立ち上がりで自動で消そうとすると厄介(汗)
最初、rc.local の中で、nft flush ruleset ってやってみたのですが、OSが立ち上がって見てみると、まだ固有のものが残ってる! しつこい!
やむなく、rc.local の中で nft flush ruleset ってやる前に sleep hoge ってスリープを入れました。hogeの秒数は適当ですが・・・
それで、ようやくシステム固有のものを自動消去出来ました。どうやら 8 秒くらい sleep すれば、消えます。


デーモン管理
Debian と基本的に同じです。Chap-13. Sec-7. 見てください。


コンソール利用(CUI、GUIの切り替え)
ここも、基本的にDebianと同じです。Chap-13. Sec-8. 見てください。


DAT ドライブ
普通に使えます。
基本的にDebianと同じです。Chap-13. Sec-9. と同じです。


シリアル回線
リポが追加してあれば、screen が入ります。cu コマンドと同等に使えます。
cu コマンドはありません。どうしても cu が良ければ、taylor UUCP 1.07 のソースを持ってきてコンパイル・インストールすることになります。私は入れました(笑)。
インストールは簡単です。./configure、make、make install だけです。これで無事に cu コマンドが動きました。
なお、パッケージにある minicom は使い方が難しくて大変です。私は簡単に使える screen や cu コマンドを好みます(汗)


apache、postfix、guile、lua のコンパイル
コンパイルに必要なパッケージを見つけるのに少し手間取りました。でも、一旦見つけたら、コンパイルは簡単です。基本的に他のディストリ同様に、make 一発です(笑)。

全般的に、調子良いです。




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

 Distrowatch ってサイトは、いろいろなディストリを客観的に横並びで解説していて参考になります。私はよく見ます。
その中で、カテゴリーという説明欄があって、これは「そのディストリがどの分野をターゲットにしているか」ということを表しているようです。
そこでは、CentOS のカテゴリーにはサーバとデスクトップとありました。CentOS 出しているところは「これは、サーバでもデスクトップでもイケる」と主張しているのだと思います。
でも、インストールしてみて、GUIのソフトウェア(パッケージインストーラ)を見て、愕然としました(笑)。
「え、こんだけしかないの?」ってくらい、パッケージが少ない。いや、本当に少数です。最初、冗談かと思いました(汗)。
リポを追加するとある程度増えますが、インストールには CUI のコマンドを( dnf )使う必要があります。リポを追加しても、GUI のインストーラには反映されないみたいです。

プリンターその1・スキャナ
 私のプリンタは Epson PX-048A 、4年くらい前に発売された機種です。たいてい、Debian とか Ubuntu なんかだと、何も準備しないでもすんなりと認識してくれて、すぐに使えます。が、CentOS ではダメでした。PX-048A って機種がリストにない! なので、無理やり設定してもうまく出力できっこない。
それで例によってエプソンのサイト(Epson Download Center)からダウンロードします。プリンタドライバとスキャナの関係をダウンロードしました。

http://download.ebz.epson.net/dsc/search/01/search/searchModule

まずプリンタですが、ここから epson-inkjet-printer-escpr-1.7.7-1lsb3.2.x86_64.rpm をダウンロードします。で

# dnf install epson-inkjet-printer-escpr-1.7.7-1lsb3.2.x86_64.rpm

として、プリンタドライバソフト類のインストール完了です。後は GUI のプリンタ設定でプリンタを設定すれば、wifi 経由の PX-048Aが使えるようになります。オケです。

また、スキャナは同じサイトから imagescan-bundle-centos-8-3.62.0.x64.rpm.tar.gz をダウンロードします。
解凍するとなかにスクリプトが入っていますので実行します。

# sh install.sh

インストールが成功した表示がでるはずです。で、xsane というイメージスキャンソフトをインストールしておいてスキャンしたら、wifi 経由で無事にスキャンでき、ローカルディスクに保存できました。オケです。
simple-scan でもスキャン出来ました。


 スキャナドライバは CentOS バージョンとスキャナドライバのバージョンの整合に敏感なようです。うまくインストールできない場合もありますが、その時は気にしないで xsane を使えば大丈夫です。xsane はドライバが組み込まれていなくても、自分でデバイスを捜し出してスキャナを設定・利用できます。
(simple-scan はそれが出来ません)


プリンターその2
 Manjaroでやったように、ドライバをコンパイル・インストールして、更に Debian のドライバーを上書きインストールすれば、プリンターが使えるようになります。
その1の方法だと、関連ですごくたくさんのパッケージが入ります。実はプリンタドライバ入れるために、なぜかメールサーバソフトまで入ってしまいます。私のように、自分でサーバソフトをコンパイルする人間には、あまり有り難くないです。
そこで、Manjaro・ArcoLinux のときにやった方法です。この方法だと関連で沢山のパッケージが入ることは無いです。自分にはこっちのほうが都合が良いです。
まず

# dnf install cups-devel

とやって開発ライブラリとヘッダを入れます。
その後のやりかたは、Chap-21 の Manjaro・ArcoLinux のところを見てください。あのままです。


ブラウザ
Firefox がデフォルトで入ってます。それほど新しいのでは無いですが、まあ、オケです。codecが入っているので(OpenH264 Video Codec) これを有効化します。更に flash(Shockwave Flash) を入れれば、大抵の音楽番組が聞けます。ただし、アマゾンプライムが Firefox では見られません。最新版の adobe flash player を入れてもダメでした。
プライムを見るなら、Google-Chrome を使います。割合と簡単に入ります。

ここを参考にしました。著者さん、ありがとうございます。

https://linuxize.com/post/how-to-install-google-chrome-web-browser-on-centos-8/

やり方は簡単。まず、ダウンロード

$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

次に、インストール

# dnf localinstall google-chrome-stable_current_x86_64.rpm

ちょっぴり具合の悪い旨のメッセージが出ますが、無視です。
なお、こうやって入れた Google chrome は、デフォルトのままだとキーボード設定が変になるかもしれません。日本語キーボード設定してあるのに、chrome だけ英語キーボードになってしまうかもしれません。
もしそうなったら、/etc/X11/xorg.conf.d/00-keyboard.conf の設定で Option "XkbModel" "jp106" ってのを一行加えると、この問題が解消できます。(これは必ず発生するわけじゃないです)


メーラ
CentOS には Evolution というメーラが入っていますが、私の好みは sylpheed です。パッケージにはありません。
以下のサイト(本家)から sylpheed-3.7.0.tar.gz のソースをダウンロードしてコンパイル・インストールしました。

https://sylpheed.sraoss.jp/ja/

まず、gtk2-devel を以下のとおりインストール。

# dnf install gtk2-devel

またソースを展開した後の configure は

$ ./configure --prefix=/usr2/local/sylpheed-3.7.0

なんて、いつものように適当にやりました。あとは普通に make, make install しただけ。
ただし、アイコンに結びつける登録のやり方を知りません。なのでホームディレクトリにシンボリックリンク貼っておいて、ファイルマネージャで開いてクリックします。
それで無事に動くので、一応オケです。


オフィス
Libre-Office がデフォルトで入っていて、全然問題なしです。


画像ソフト
Gimp がデフォルトで入っていて、問題なく動きます。十分良好です。


パッケージのアップデート
GUI のソフトウェアでも、terminal から # dnf update とやっても、どっちでも大丈夫です。問題は無いです。

以上です

 サーバルームで時たま気分転換に音楽聞いたり、プライムをちょい見たりするくらいの使い方なら、ATW もイケると思います。Office も Gimp も動くし。
でも普通の意味で Windows 代替として十分に満足できるかというと、それは無理ってもんです。Ubuntu 同等を期待してはいけない(笑)。
それと、spectre-meltdown への対応は、ユーザ側が何もしなくても対応できてます。




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

 3つの視点で評価します。
   視点a. ・・・十分安定していて優秀です。2ヶ月ほどサーバ運転してみました。全く問題ありません。
   視点b. ・・・こちらも優秀です。Geek 風に使うのも十分対応できそうです。各種コンパイル作業も簡単です。
   視点c. ・・・パッケージソフトはすごく少ないです。ギリギリでなんとか使える程度。リポを追加すればちょっとマシです。
(a)(b)利用中心にして、時たま(C)も多少使うというやりかたなら、十分にイケてる優れた OS です。



Debian と同じように、やや古めのバージョンを使いながら、堅牢性や安定性を最優先している点は、サーバを主たる用途とするなら、良い考え方だと思います。新しいものを積極的に入れる Arch 系とは逆の行き方ですが、これはこれなりに好印象です。
CentOS に関するネット上の情報はレベルが高く、しかも十分な情報量があります。この点も、大変に好印象です。CentOS を利用する一番のメリットはここかもしれません。
デスクトップ利用を重要視して RedHat/CentOS 系を使うつもりなら、Fedora を選んだ方が良いと思います。CentOS はそっち系メインの利用には向かないです。
Fedora をちょいと常用化して使ってみました。モノはすごく良いですが、サポート期間が短すぎです。あれでは小忙しくていけません。なので上記記述は二重線で否定します(笑)。サポート期間のことを考えると、Fedora の常用化はお勧めしがたいです。



Sec-7.追加: Xfce の導入 (2020-11)

 Sec-1.に書いたようにリポが追加してあれば、Xfce が簡単に導入できます。前に KDEplasma も入れてみてそっちはイマイチでしたが、Xfce は調子よく動きます。なので、Section を起こしました。

入れるのは簡単です。

# dnf groupinstall Xfce

とするだけです。リブートして DE を選択すると、無事に Xfce が立ち上がります。十分に安定して動きます。実用上問題なさそうです。以上です・・・て書いても良いくらいです。
これじゃ素っ気なさすぎなので、もう少し書きます。



IM の設定
 IM、インプットメソッドの設定(指定)です。
GNOME だと、トップダウンから「地域と言語」に入り、IMを追加したりできます。Xfceはそうは行かないので、個別のツールで指定します。

# dnf install im-chooser

とします。im-chooser は Debian系でいう im-config に近いです。im-config はインプットのためのフレームワークを指定するだけだと思いますが、im-chooser はフレームワーク、 IM の指定とか追加及び設定まで出来ます。
使い方は簡単で、ユーザ(自分)で

$ im-chooser

とするだけです。これで GUI の設定ツールが立ち上がります。

im-2

ibus-mozc の場合なので、当然推奨どおりibus を使います。設定をクリックすると IM を追加できる画面になります。もしも、mozc が入ってなければ、追加をクリックして一覧から追加出来ます。mozc を入れたら、これをクリックして設定をクリック。

im-4

例の mozc を設定する画面が現れます。ここで Chap-27. Sec-3. のように設定すれば ATOK 風になります。

im-5

IM を設定し、動作させるのに im-chooser が必要なことが分かっていれば、後は簡単です。



bluetooth のコントロール
 Xfce の導入はネットの記事をみてやりました。記事は CentOS-7 がベースでした。
そこでは GNOME のツールをアイコン化することも書いてありました。が、同様にやろうとしたら CentOS-8.x では、どうもうまくいきません。GNOME のアイコンが隠れちゃって出てきません(汗)。
一番困ったのは、Bluetooth のコントロールです。しばらくあちこち覗いてみても、なんともなりませんでした。なので、やむなく CUI でコントロールします。やってみると簡単です(負け惜しみじゃなくて・・・笑)

bluetoothctl ってコマンドです。ざっと以下のような感じ。bluetooth のスピーカにつなぎます。(ごく簡単な、概要)

$ bluetoothctl(return)


Agent registered
[bluetooth] power on ・・・・・・・・・・・・・・・アダプターのパワーを入れる
[bluetooth] Changing power on succeeded

[bluetooth] scan on ・・・・・・・・・・・・・・・デバイスをサーチする
[bluetooth] Discovery started
[bluetooth] Controller 00:1B:DC:**:**:** Discovering: yes
[bluetooth] device Device F9:31:39:**:**:** RSSI: ***
[bluetooth] device Device F9:31:39:**:**:** ManufacturerData Key: 0x****
[bluetooth] device Device F9:31:39:**:**:** ManufacturerData Value:

[bluetooth] devices ・・・・・・・・・・・・・・・見つかったデバイスを見る
Device F9:31:39:**:**:** SPEAKER5.0 ・・・・・・・目的のものが見つかった

[bluetooth] pair F9:31:39:**:**:** ・・・・・・・pair をはる

[bluetooth] connect F9:31:39:**:**:** ・・・・・・connect する

[SPEAKER5.0] Device F9:31:39:**:**:** Connected: yes
[SPEAKER5.0] Connection successful ・・・・・・・コネクション成功


ここらで、音楽聞いたり、プライム見たりする(笑)



[SPEAKER5.0] disconnet F9:31:39:**:**:** ・・・・・終わったら接続を切る

[SPEAKER5.0] Successful disconnected

[bluetooth] exit ・・・・・・・・・・・・・・・・・コマンド終了する


最初はこれだけコマンド打ちますが、次からは connect と disconnect だけです。うちでやった限り、割合と簡単で確実に繋がります。



 こんなことまでやって CentOS で Xfce を使うことに需要があるのか?と問われそうです(笑)。
Fedora のサポート期間がもう少し普通なら、あっちの spins から xfce 版を使った方が良いと思います。
Fedora も十分に安定していて、使いやすいです。パッケージも割合とたくさんあるし、Spinsからいろんな DE が選べるし。
一ケ月くらいですが、サーバルームのメインとか、リビングのノートパソコンに Fedora を入れて使ってみました。とても良かったです。
でも、ずっと、継続して使い続けるとなると「半年ごとのメジャーアップ+サポートはほぼ一年」ってのが、ネックです。
メジャーアップしたら2から3ヶ月くらい様子を見てから使いたい。すぐに入れると色々不具合が出るし。
そうすると、33が出て3ヶ月後、それだと31からアップするなら2ヶ月くらいサポート切れの期間になってしまいます。トホホです。
サポート切れを防ごうとすると、32からアップしないとなりません。これだと半年ごとのアップで、トホホです。面倒くさくて、やってられない。
こんなことを考えていると、Fedora を実運用としてメインに使うのはためらいます。とても良いディストリなんですけどね。
なので、CentOS + Xfce ってのも需要がありそうな気がします。
メジャーバージョンアップ直後の導入をためらう、気の小さい人間の考え方です(笑)。