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が日本での商標を確保しているようだ。
出願人:HUAWEI TECHNOLOGIES CO. ほか1
— 商標ウォッチbot (@tmark365) May 20, 2020
区分:第9類(機械器具) ほか1
商品役務:眼鏡型携帯情報端末 ほか155
OCRテキスト:openEuler
続き https://t.co/JhMf9WQS7i pic.twitter.com/PVlZ2P7pcO
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があった。

