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」と「中文」しかない、というのが大きな違いですかね
2021/04/19追記: openEuler 20.03-LTS-SP1ではRHEL8/CentOS8のパスワード設定とユーザ作成画面統合が反映されていました
ソフトウェアの選択も大きく違いますね。
標準選択が「Minimal Install」となっていて、「Server」と「Virtualization Host」が選べるという形です。(ただ、インストール後、dnf groups install Serverを実行するとエラーになるという…)
CentOS8だと簡単なパスワードでも設定できたのですが、openEulerだと断固として拒否してきました。
起動するとkernel 4.19.90-2003.4.0.0036.oe1で動作していました。(2021/04/19追記 20.03LTS SP1では 4.19.90-2012.5.0.0054.oe1 でした)
また、驚くべき事に、何もレポジトリが登録されておらず、アップデートも何もできない状態だという…(2021/04/19追記 20.03LTS SP1ではちゃんとアップデートできました)
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
[source]
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レポジトリが有効になっていない」というものがある。(2021/04/19追記 20.03LTS SP1でも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」で表示されるグループを指定してインストールするとエラーになるという事象..(2021/04/19追記 20.03LTS SP1ではこの現象は解消していました)
インストール時に「Server」を選択していた場合はちゃんとインストールできている。
どちらもレポジトリファイル自体は同じなのでよく分からない…それどころか、Serverでインストールされている環境で「dnf group install Server」を実行しても、同じパッケージが無い、と言われ、またインストールもされていない。という状態
現状、Minimal Install以外の選択肢は正常に動作していない恐れが…
とりあえず、ひとしきり見てみた感じではCentOS8でパッケージ構成がちょっと違うバージョンという雰囲気だった。
デスクトップ(X-Window)の利用はあまり考えられていないようで、パッケージがぼろぼろと足らないので注意。
また、vSphere環境用のopen-vm-toolsも用意されていない。
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があった。