HuaweiのCentOS派生 Euler OSとopenEuler


Huaweiの作ったIoT向けOS LiteOS (github)、Android代替OSのHarmonyOS(鴻蒙OS)について調べていたらHuaweiがx86_64/ARMサーバ向けにEuler OSというのを出していることを知った。

公式: EulerOS

EulerOS Introductionによれば「ARM64完全対応」「セキュリティ強化」「キャリアで採用されるレベルの安定性」「Linuxコンテナ推し」らしい

DownloadリンクHuawei Mirrorsリンクを見るとインストール用ISOが入手可能となっている。

で、このEuler OSのベースは何かな、と調べて見るとopenEulerが出てくる。ちゃんとHuaweiが日本での商標を確保しているようだ。

openEuler自体はCentOSをベースとしており、このopenEulerからさらに派生しているOSがあると

中国科学院软件研究所 EulixOS
まだ生きていた TurboLinux
普华软件 isoft-linux
HopeEDGE

さて、openEule自体は3月から、2年ごとのLTSバージョンと半年リリースバージョンの2種類で出るようになったらしい(openEuler community release rule and life cycle management)

いま出ているopenEuler 20.03 LTSは長期サポートバージョンということになる。

このバージョンはCentOS8をベースとしているが、CentOS8 20.04よりパッケージバージョンがちょっと古い、という構成になっていた。

そして、CentOS8と比べるとパッケージがいくつか存在していなかったりした。例えば、open-vm-toolsとかが入っていない。

デスクトップ系の利用は考慮されていないようで、パッケージグループのインストールを行おうとすると、パッケージがない、というエラーになるものが結構ある。(パッケージリストの精査が行われておらず、CentOSにはあるがopenEulerには存在しないパッケージを指定している)

インストールしてみよう

openEuler 20.03 LTSのISOで仮想マシンを起動してみる

画像

CentOS8の時とほぼ同じ感じです

画像

言語選択が「English」と「中文」しかない、というのが大きな違いですかね

画像

ソフトウェアの選択も大きく違いますね。

標準選択が「Minimal Install」となっていて、「Server」と「Virtualization Host」が選べるという形です。(ただ、インストール後、dnf groups install Serverを実行するとエラーになるという…)

CentOS8だと簡単なパスワードでも設定できたのですが、openEulerだと断固として拒否してきました。

起動するとkernel 4.19.90-2003.4.0.0036.oe1で動作していました。

また、驚くべき事に、何もレポジトリが登録されておらず、アップデートも何もできない状態だという…

画像

openEulerのマニュアル「Using the DNF to Manage Software Packages」に/etc/yum.repos.d/openEuler_aarch64.repo のサンプルがあったのでそれをマネしてx86_64用に書いてみる。「Installing the OS Release Package」にupdateレポジトリも載っていたので下記の様に書いてみた。

[root@openeuler ~]# cat /etc/yum.repos.d/openEuler_x86_64.repo
#Copyright (c) [2019] Huawei Technologies Co., Ltd.
#generic-repos is licensed under the Mulan PSL v1.
#You can use this software according to the terms and conditions of the Mulan PSL v1.
#You may obtain a copy of Mulan PSL v1 at:
#    http://license.coscl.org.cn/MulanPSL
#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
#PURPOSE.
#See the Mulan PSL v1 for more details.
[osrepo]
name=osrepo
baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/OS/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://repo.openeuler.org/openEuler-20.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler

[update]
name=update
baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/update/x86_64/
enabled=1
gpgcheck=0
[EPOL]
name=EPOL
baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/EPOL/x86_64/
enabled=1
gpgcheck=0
[root@openeuler ~]#

これを設定することで「yum update -y」でパッケージアップデートが完了した。

なお、アップデート後はレポジトリファイルがちゃんと設定されて、以下のようになった。

[root@openeuler ~]# cat /etc/yum.repos.d/openEuler.repo
#generic-repos is licensed under the Mulan PSL v2.
#You can use this software according to the terms and conditions of the Mulan PSL v2.
#You may obtain a copy of Mulan PSL v2 at:
#    http://license.coscl.org.cn/MulanPSL2
#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
#PURPOSE.
#See the Mulan PSL v2 for more details.

[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler

[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler

[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/EPOL/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler

[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler


name=source
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/source/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/source/RPM-GPG-KEY-openEuler

[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/update/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler
[root@openeuler ~]#

上記のレポジトリファイル、注意が必要な点として「updateレポジトリが有効になっていない」というものがある。

「dnf config-manager –enable update」を実行して有効にする必要がある。

[root@openeuler ~]# dnf repolist --all
repo id                             repo name                           status
EPOL                                EPOL                                enabled
OS                                  OS                                  enabled
debuginfo                           debuginfo                           enabled
everything                          everything                          enabled
source                              source                              enabled
update                              update                              disabled
[root@openeuler ~]# dnf config-manager --enable update
[root@openeuler ~]# dnf repolist --all
repo id                             repo name                            status
EPOL                                EPOL                                 enabled
OS                                  OS                                   enabled
debuginfo                           debuginfo                            enabled
everything                          everything                           enabled
source                              source                               enabled
update                              update                               enabled
[root@openeuler ~]#

よく分からないのが「dnf group list」で表示されるグループを指定してインストールするとエラーになるという事象…(updateレポジトリを有効にしても発生)

画像

インストール時に「Server」を選択していた場合はちゃんとインストールできている。

どちらもレポジトリファイル自体は同じなのでよく分からない…それどころか、Serverでインストールされている環境で「dnf group install Server」を実行しても、同じパッケージが無い、と言われ、またインストールもされていない。という状態

現状、Minimal Install以外の選択肢は正常に動作していない恐れが…

とりあえず、ひとしきり見てみた感じではCentOS8でパッケージ構成がちょっと違うバージョンという雰囲気だった。

デスクトップ(X-Window)の利用はあまり考えられていないようで、パッケージがぼろぼろと足らないので注意。

Euler OS 2.0 SP5の場合

ソフトウェアの選択肢が異なっており、「Base System」「Developer Mode」「Cloud Server」「Server with GUI」となっていた。標準選択はBase System

パスワードの複雑性要求はopenEuler 20.03LTSと同じレベルでした。

再起動するとkernel 3.10.0-862.14.1.0.h209.eulerosv2r7で起動してきた。レポジトリの登録は無し

Euler OS公式のMirror Listを見ていくと「/mirrors_os2/euler/2.5/os/x86_64/」というのがあり、そこにはupdatesディレクトリとアップデートされたらしきパッケージもあるので、ここをレポジトリとして指定してみる。

# cat /etc/yum.repos.d/euleros.repo
[OS]
name=OS
baseurl=https://mirrors.huaweicloud.com/euler/2.5/os/$basearch/
enabled=1
gpgcheck=0

updateレポジトリ相当の内容は上記レポジトリに含まれている模様。

アップデート後のkernelは3.10.0-862.14.1.5.h442.eulerosv2r7 になった。

なお、何故かEuler OS 2.0 SP5の初期状態ではsshからのrootユーザログインが”パスワードが違う”というエラーでログインできなかった。アップデート後は正常にsshログインが可能となった。

[root@euleros ~]# df
Filesystem               1K-blocks    Used Available Use% Mounted on
/dev/mapper/euleros-root  36357632 1492596  32988456   5% /
devtmpfs                   3983580       0   3983580   0% /dev
tmpfs                      3996440       0   3996440   0% /dev/shm
tmpfs                      3996440    9048   3987392   1% /run
tmpfs                      3996440       0   3996440   0% /sys/fs/cgroup
/dev/sda2                   999320  157676    772832  17% /boot
/dev/sda1                   204580    8596    195984   5% /boot/efi
/dev/mapper/euleros-home  17745188   45080  16775644   1% /home
tmpfs                       799288       0    799288   0% /run/user/0
[root@euleros ~]# uname -a
Linux euleros 3.10.0-862.14.1.5.h442.eulerosv2r7.x86_64 #1 SMP Fri May 15 22:01:58 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@euleros ~]# yum grouplist
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Available Environment Groups:
   Base System
   Developer Mode
   Cloud Server
   Server with GUI
Available Groups:
   Compatibility Libraries
   Development Tools
   Security Tools
   Smart Card Support
Done
[root@euleros ~]#

とりあえず「yum groupinstall “Server with GUI”」でパッケージを追加して再起動。

「1」を選んで

「2」を選んで

「c」と「c」で進めると普通のログイン画面に到達

rootでログインしたあと「init 5」して起動する画面はCentOSと変わりは無い

ログイン完了すると、EulerOSの壁紙デスクトップに到着。

「systemctl set-default graphical.target」でログイン画面自体をGUIにした場合は下記の様になる。

また、EulerOS2.0だとopen-vm-toolsがあった。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください