2021-02-14

Linux ディストロ探訪(26) 〜 Clear Linux OS 〜

「Intel 社の Clear Linux ディストリビューションは、ベンチマーク性能が尋常でないほど高いということで注目を集めている」という記事を見つけました(参考サイト [1])。Distrowatch.com では 100 位前後の人気度しかありませんが、Intel 社が開発しているディストリビューションということに興味を持ち、仮想マシン (GNOME Boxes) にインストールしてみました。

Clear Linux OS のデスクトップ画面

OUTLINE

Clear Linux OS とは

Clear Linux は、主にパフォーマンスとクラウドのユースケースを念頭に置いて設計されたミニマルなディストリビューションです。オペレーティングシステムは、個々のパッケージを使用するのではなく、全体としてアップグレードします。ディストリビューションの swupd ソフトウェアマネージャからアクセスできるコンパイル済みのバンドルを使用して、追加のソフトウェアを関連する依存関係とともにシステムに追加することができます。

Distrowatch.com より引用、翻訳

Intel 社は 2015 年に開催された OpenStack Summit で、この新しい Linux ディストリビューションを初めて紹介しました。特徴的なのは、クラウドでの利用を想定して特別に設計されていることです [2]

以下は、Clear Linux のサイト About — Documentation for Clear Linux* project からピックアップして翻訳したものです。

Clear Linux OS は、他の Linux ディストリビューションをベースにしていません。Clear Linux OS は、初心者のエンドユーザが使える汎用 Linux ディストリビューションではなく、主に IT、DevOps、クラウド/コンテナデプロイメント、AI のエキスパートをターゲットにしています。Clear Linux OS は、サーバとクラウドのパフォーマンスに焦点を当てていて、デスクトップ用途にはGNOME の一般的な実装を提供しています。

Clear Linux OS のアップデートは、毎日、週に数回までのローリングリリースをベースにしています。各リリースには、カーネル、ドライバ、ツール、GUI アプリケーションに至るまで、OS 内のすべてのコンポーネントを識別する固有のバージョン番号があります。ほとんどのコンポーネントはバンドルと呼ばれる実体に含まれています。

インストール

下記サイトから Clear Linux* OS Desktop (clear-34220-live-desktop.iso) をダウンロードして、GNOME Boxes で起動しました。仮想マシンはデフォルトの設定のままです。

ライブで OS が起動します。

アプリケーション一覧から Clear Linux OS のインストーラを起動します。

インストーラが起動し、インストーラの言語設定をしますが、英語、スペイン語およぶ中国語の選択肢しかありません。仕方がないので英語を選択してインストールを進めます。

インストール前の設定

インストール前の設定をします。

Select Time Zone

タイムゾーンを設定します。

Select Keyboard

キーボードのレイアウトを設定します。日本語キーボードのレイアウトは jp 106 です。

Select Installation Media

インストール先のメディアを設定します。空のメディアのはずですが、念の為、Destructive Installation(上書きでインストール)を選択しました。

Manage User

ユーザーアカウントを設定します。

Telemetry

システムの状況を匿名で開発元へ送信するかの設定をします。

インストールの開始

INSTALL ボタンをクリックすると、設定内容の要約が表示されますので CONFIRM をクリックしてインストールを開始します。

しばらく待つとインストールが終了するので、EXIT ボタンをクリックしてインストーラを終了します。ライブ起動した OS もシャットダウンして、ISO ファイルを外して、CLear Linux OS を起動します。

日本語環境

インストール時の言語に日本語を選択できませんでしたが、GNOME の設定で、日本語を設定できます。日本語入力システムは SKK を利用できます。

GNOME 設定 → 地域と言語

システム管理

管理性を向上させるために、Clear Linux OS はユーザーとシステム管理を分離したステートレスデザインを採用しています。ステートレスデザインを実現するために、Clear Linux OS ファイルシステム階層はユーザーの領域と Clear Linux OS の領域に分離されています。

システムエリア

/usr ディレクトリ以下のファイルは、Clear Linux OS がシステムファイルとして管理しています(/usr/local を除く)。ユーザが /usr ディレクトリ以下に書き込んだファイルは、swupd コマンドによるシステムアップデートで削除することができます。このような運用を前提とすることで、Clear Linux OS はシステムファイルの整合性を検証し、維持することができます。

ユーザーエリア

/usr/local, /etc, /opt, /home, /var ディレクトリ以下のファイルはユーザーが所有・管理します。インストール直後の Clear Linux OS システムは /etc ディレクトリには最小限のファイルしかなく、Clear Linux OS によってインストールされたソフトウェアは /etc 以下に書き込みません。

swupd

システムの更新は swupd コマンドを使用します。このコマンドは、すべてのソフトウェアがシステム全体を通して互換性があることを保証し、重複する依存関係を管理します。OS の検証、キャッシュされたファイルのクリーンアップ、問題の修正に使用できます。

swupd には主に2つの機能があります。

  • apt や yum が管理するパッケージ単位ではなく、「バンドル」をインストールすることでソフトウェアを管理。
  • システムのアップデートをチェックしてインストールする

「バンドル (bundle)」には、ソフトウェアの実行に必要なすべてのものが含まれています。バンドルは Clear Linux OS によって管理される最小単位のコンポーネントです。ソフトウェアをインストールする際にパッケージの依存関係を個々に続けてダウンロードするのではなく、バンドルにはすべての依存関係が含まれています。

試しに swupd コマンドを使ってみましたが、システムのアップデートがなく、詳細がまだ判っていません。

bitwalk@clr-pc~ $ sudo swupd check-update
パスワード: 
Current OS version: 34270
Latest server version: 34270
There are no updates available
bitwalk@clr-pc~ $ 

swupd コマンドでバンドル (bundle) の一覧を表示できます。

bitwalk@clr-pc~ $ sudo swupd bundle-list
パスワード: 
Installed bundles:
 - NetworkManager
 - NetworkManager-extras
 - acpica-unix2
 - alsa-utils
 - aspell
    :
    :
 - which
 - wpa_supplicant
 - x11-server
 - xz
 - zstd

Total: 123
bitwalk@clr-pc~ $ 

「ソフトウェア」ストア

GNOME の「ソフトウェア」ストアには、他の Linux ディストロと同じように様々なアプリをインストールすることができますが、Clear Linux OS のストアには「データサイエンス (Data Science)」のカテゴリがあります。

「ソフトウェア」のカテゴリ

Data Scienace のカテゴリには、機械学習関連のライブラリや R / RStudio があります。

カテゴリ Data Science の内容

試しに、Jupyter や R-studio をインストールしてみると、インストール後にすぐ実行できます。しかも、最新のバージョンが利用できます。

Jupyter Notebook の実行例

RStudio の rpm パッケージは、RHEL の場合、RStudio のダウンロードサイトからダウンロードしていましたが、Clear Linux OS ではストアからインストールしてすぐに使えるようになっています。

※ もっとも、いつの頃からか Fedora ではデフォルトのリポジトリからインストールできるようになっていました。

RStudio の実行例

「ソフトウェア」ストアで必要なアプリをインストールできるのであれば、dnf や apt などのパッケージ管理ができなくとも、案外不自由することはないかもりえません。

ベンチマーク

参考サイト [1] によると、Clear Linux OS は、他のディストリビューションよりもベンチマークのスコアが高いということでしたので、ベンチマークを比較してみようと、最初、GeekBench 5 でベンチマークを取ろうとしたのですが、実行中にエラーが出てしまいました。そこで、ちょっと古いプログラムですが UnixBench でベンチマークを取ってみました。

下記から Download Zip でソースをダウンロードしました。

以下のようにして実行しています。

$ unzip byte-unixbench-master.zip
Archive:  byte-unixbench-master.zip
070030e09f6effdf0c6721e8fcc3a5c6fb5bed1a
   creating: byte-unixbench-master/
    :
    :
$ cd byte-unixbench-master/UnixBench
$ make
make distr
    :
    :
$ ./Run
make all
    :
    :

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com

------------------------------------------------------------------------------
   Use directories for:
      * File I/O tests (named fs***) = /home/bitwalk/ダウンロード/byte-unixbench-master/UnixBench/tmp
      * Results                      = /home/bitwalk/ダウンロード/byte-unixbench-master/UnixBench/results
------------------------------------------------------------------------------
    :
    :
$ 

比較対象は、同じ GNOME Boxes 上の仮想マシンで動く Red Hat Enterprise Liunux 8.3(以下、RHEL8 と表記)です。

シングルコアとマルチコアをれぞれベンチマークをしますが、ここではマルチコアの結果を比較しました。

UnixBench のマルチコアのベンチマークのスコア比較
System Benchmarks Index Values INDEX
Clear Linux RHEL8 DIFF%
Dhrystone 2 using register variables 11292.5 12867.6 -13.0%
Double-Precision Whetstone 6108.5 5908.2 3.3%
Execl Throughput 2354.1 2269.4 3.7%
File Copy 1024 bufsize 2000 maxblocks 1887.6 2061.3 -8.8%
File Copy 256 bufsize 500 maxblocks 1185.8 1309.0 -9.9%
File Copy 4096 bufsize 8000 maxblocks 3668.6 3940.5 -7.1%
Pipe Throughput 2483.0 1984.8 22.3%
Pipe-based Context Switching 1078.0 1579.0 -37.7%
Process Creation 1913.4 2125.7 -10.5%
Shell Scripts (1 concurrent) 3526.2 999.1 111.7%
Shell Scripts (8 concurrent) 3350.8 3130.4 6.8%
System Call Overhead 1130.0 1020.6 10.2%
System Benchmarks Index Score 2590.1 2413.2 7.1%

結果を見ると、たしかに Clear Linux OS のトータルスコアは、RHEL8 を少し上回っていますが、特定の項目で大きな差があることに引っ張られているためで、この比較では全体的にさほど差があるとは言えません。GeekBench でエラーが出た原因を解消できれば、あらためて比較をしたいと考えています。あるいは(CPU の性能は貧弱ですが)テスト機に実際にインストールして試してみるのも一興です。

まとめ

項目 説明
ディストリビューション Clear Linux OS
プロジェクトサイト https://clearlinux.org/, https://github.com/clearlinux
デスクトップ環境 GNOME
対応プラットフォーム x86_64
パッケージ管理 swupd
日本語入力 SKK
寸評

Intel 社謹製の Clear Linux OS は、既存のディストロをベースとしていない独自のディストリビューションです。Intel CPU に対して最適化されているので、パフォーマンスがクリティカルな場合には利用することを検討する余地があります。

デスクトップ用途で考えると、dnf や apt などのパッケージ管理云々をせずに、機械学習などの用途の利用に専念したい場合に、Clear Linux OS を有力な選択肢と考えるのはアリだと思います。

参考サイト

  1. Linux distro review: Intel’s own Clear Linux OS | Ars Technica [2020-02-17]
  2. Clear Linux OS: an introduction to the operating system - IONOS [2020-10-14]

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

0 件のコメント: