81
78

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AlmaLinuxを使ってみた(前編)

Last updated at Posted at 2021-04-06

1. はじめに

2020年12月の「CentOSからCentOS Streamへ移行」アナウンス以降、周辺の動きが激しくなっている。

  • Rocky LinuxやAlmaLinuxなど、CentOSの後継を目指すプロジェクトの開発意向表明
  • Red Hat Developer Programの無料枠拡大
  • Oracle Linuxの積極的なプロモーション
  • 各種ベンダーのCentOS 8延長サポートサービス

このような状況のなか、AlmaLinuxの安定版が2021/03/30に正式リリースされた。そこで、AlmaLinuxを紹介すると共に、少しさわってみようと思う。

予定している内容は次のとおり。

  • AlmaLinuxとはどんなものなのか?
  • CentOSとの違いは?
  • ツールを使った移行
  • 出来や将来性は?

2. AlmaLinuxとは

AlmaLinuxとは、RHEL互換のLinux OSで、CentOS 8の後継を目指しているプロジェクトだ。CloudLinuxを中心としたコミュニティーが開発している。AlmaLinuxのトップページ冒頭には次のように書かれている。

Welcome to AlmaLinux OS, a new RHEL fork from the team at CloudLinux. A free Linux OS for the community, developed in close co-operation with the community.

また、次の3つのコンセプトが紹介されている。

  • In partnership with the community.
  • Matches the current RHEL release 1:1.
  • Always free, always open source.

CloudLinuxは有名ではないが、ホスティングサービス向けでは実績のあるLinux OSだ。日本でもGMOなどが提供するVPS(仮想専用サーバー)などで使われている。強力なリソース制限機能や隔離機能が特徴だ。なお、CloudLinuxもRHEL互換OSの一つである。

AlmaLinuxのトップページにはローンチイベントのYouTube動画が紹介されている。これを見ると、現時点でも相当のコミュニティーを築けていることが分かる。

  • AlmaLinux OSプロジェクトに対して、CloudLinux社は100万ドルのスポンサーシップをコミットメント
  • AlmaLinuxは、少なくとも2029年までサポートを保証(RHEL8と同様)

3. AlmaLinuxを使ってみよう

AlmaLinuxのおもな情報ソースは以下のとおり。

ISOイメージでインストールすることもできるし、移行ツールでCentOSやRHEL、Oracle Linuxから移行することもできる。それぞれについて調べてみよう。

ヒント:AwSではAMIが提供されている。
 →AlmaLinux OS Amazon Web Services AMIs

3.1. ISOイメージからインストールする

今回はVirtualBoxでAlmaLinuxをインストールする。インストール手順はCentOSと同じなので手順は説明しないが、GUIインストーラーのAnacondaはAlmaLinux用に修正されている。GUIの修正は地味に面倒なので、素早い対応が感じられる。

使用したISOイメージ:AlmaLinux-8.3-x86_64-dvd.iso
almalinux_inst01.JPG
ロゴもAlmaLinuxになっている。
almalinux_inst02.JPG
インストールが完了したあとのデスクトップ画面。
almalinux_inst15.JPG

3.2. AlmaLinuxをさわってみる

インストールが終わったら、いくつか確認してみよう。

3.2.1. /etc/xxx-release

  1. /etc/almalinux-releaseが追加されている。
$ cat /etc/almalinux-release
AlmaLinux release 8.3 (Purple Manul)

2./etc/centos-releaseの内容も同じになっている。

$ cat /etc/centos-release
AlmaLinux release 8.3 (Purple Manul)

3.同じになっている理由は、/etc/centos-releaseと/etc/redhat-releaseは共に/etc/almalinux-releaseを参照しているためである。

$ ls -l /etc/*release
-rw-r--r--. 1 root root 37 Mar 25 02:36 /etc/almalinux-release
lrwxrwxrwx. 1 root root 17 Mar 25 02:36 /etc/centos-release -> almalinux-release ★AlmaLinuxを参照
lrwxrwxrwx. 1 root root 21 Mar 25 02:36 /etc/os-release -> ../usr/lib/os-release
lrwxrwxrwx. 1 root root 17 Mar 25 02:36 /etc/redhat-release -> almalinux-release ★AlmaLinuxを参照
lrwxrwxrwx. 1 root root 17 Mar 25 02:36 /etc/system-release -> almalinux-release ★AlmaLinuxを参照

4.ブートメニューもAlmaLinuxになっている。

$ sudo grubby --info DEFAULT | grep AlmaLinux
title="AlmaLinux (4.18.0-240.15.1.el8_3.x86_64) 8.3 (Purple Manul)"

3.2.2. RPMパッケージ

CentOSと同じくRHEL互換なので基本的には同じハズだが、RPMパッケージがどのようになっているか確認する。

  1. kernelパッケージの情報は以下のとおり。
$ rpm -qi kernel
Name        : kernel
Version     : 4.18.0
Release     : 240.el8
Architecture: x86_64
Install Date: Tue Apr  6 02:30:34 2021
Group       : System Environment/Kernel
Size        : 0
License     : GPLv2 and Redistributable, no modification permitted
Signature   : RSA/SHA256, Fri Jan 15 13:14:07 2021, Key ID 51d6647ec21ad6ea
Source RPM  : kernel-4.18.0-240.el8.src.rpm
Build Date  : Fri Jan 15 05:12:50 2021
Build Host  : build.cloudlinux.com  ★cloudlinuxのサーバーでビルドしている
Relocations : (not relocatable)
Packager    : AlmaLinux Packaging Team <packager@almalinux.org>
Vendor      : AlmaLinux        ★VenderタグはAlmaLinux
URL         : http://www.kernel.org/
Summary     : The Linux kernel, based on version 4.18.0, heavily modified with backports
Description :
This is the package which provides the Linux kernel for AlmaLinux.
★省略

2.Venderタグは、RPMをビルドした会社や人を区別するのに利用できる。どのようなものがあるか調べるとAlmaLinuxとCloudLinuxの2種類で、約8割がCloudLinuxだった。

$ rpm -qa --qf '%{VENDOR}\n' | sort | uniq
AlmaLinux
CloudLinux

3.パッケージ名はRHEL/CentOSと同じだ。

$ rpm -qa | grep kernel-4
kernel-4.18.0-240.el8.x86_64
kernel-4.18.0-240.15.1.el8_3.x86_64

4.ただし、アーキテクチャ(x86_64)の前にalmaが付いているパッケージもある。

# rpm -qa | grep alma.x86 | sort
bluez-5.52-1.el8.alma.x86_64
bluez-libs-5.52-1.el8.alma.x86_64
bluez-obexd-5.52-1.el8.alma.x86_64
firefox-78.9.0-1.el8_3.alma.x86_64
fwupd-1.4.2-4.el8.alma.x86_64
grub2-pc-2.02-90.el8_3.1.alma.x86_64
grub2-tools-2.02-90.el8_3.1.alma.x86_64
grub2-tools-extra-2.02-90.el8_3.1.alma.x86_64
grub2-tools-minimal-2.02-90.el8_3.1.alma.x86_64
initial-setup-0.3.81.6-1.el8.alma.x86_64
initial-setup-gui-0.3.81.6-1.el8.alma.x86_64
libgcc-8.3.1-5.1.el8.alma.x86_64
libgomp-8.3.1-5.1.el8.alma.x86_64
libstdc++-8.3.1-5.1.el8.alma.x86_64
platform-python-3.6.8-31.el8.alma.x86_64
python3-libs-3.6.8-31.el8.alma.x86_64

5.changelogを見る限りは、軽微な独自パッチを適用しているものにalmaが付いているようだ。

$ rpm -q --changelog libgcc-8.3.1-5.1.el8.alma.x86_64 | head -n 5
* Wed Jan 20 2021 Sergey Fokin <sfokin@cloudlinux.com> 8.3.1-5.1.alma
- change bugurl to http://bugs.almalinux.org/

* Tue May 12 2020 Marek Polacek <polacek@redhat.com> 8.3.1-5.1
- consider negative edges in cycle detection (#1817991, PR gcov-profile/91601)

3.2.3. リポジトリ

  1. デフォルトで有効なリポジトリは以下のとおり。CentOSと同じである。
$ dnf repolist
repo id                          repo name
appstream                        AlmaLinux 8 - AppStream
baseos                           AlmaLinux 8 - BaseOS
extras                           AlmaLinux 8 - Extras
powertools                       AlmaLinux 8 - PowerTools

2.新しいパッケージがリリースされているか確認してみよう。むむっ、ミラーサイト! それは後ほど。

$ sudo dnf check-update
最速のミラーを確定しています (66 hosts)..     ] ---  B/s |   0  B     --:-- ETA

3.以下のアップデート可能なパッケージがリリースされている。

$ sudo dnf check-update
bpftool.x86_64                         4.18.0-240.15.1.el8_3           baseos
firefox.x86_64                         78.9.0-1.el8_3.alma             appstream
gnu-free-fonts-common.noarch           20120503-18.el8.0.1             appstream
gnu-free-mono-fonts.noarch             20120503-18.el8.0.1             appstream
gnu-free-sans-fonts.noarch             20120503-18.el8.0.1             appstream
gnu-free-serif-fonts.noarch            20120503-18.el8.0.1             appstream
kernel.x86_64                          4.18.0-240.15.1.el8_3           baseos
kernel-core.x86_64                     4.18.0-240.15.1.el8_3           baseos
kernel-modules.x86_64                  4.18.0-240.15.1.el8_3           baseos
kernel-tools.x86_64                    4.18.0-240.15.1.el8_3           baseos
kernel-tools-libs.x86_64               4.18.0-240.15.1.el8_3           baseos
openssl.x86_64                         1:1.1.1g-15.el8_3               baseos
openssl-libs.x86_64                    1:1.1.1g-15.el8_3               baseos
python3-perf.x86_64                    4.18.0-240.15.1.el8_3           baseos

4.アップデートするときは、次のコマンドでアップデートできる。しかし、調査の都合上ここではアップデートしない。

$ sudo dnf distro-sync

3.2.4. アップデート状況

CentOSとAlmaLinuxのアップデート状況を比較してみよう。

  1. このCentOS 8のVMでは、この時点で新しく提供されているパッケージはopensslだった。当然、もっとたくさんのパッケージをインストールしているときには、異なる可能性がある。
CentOS8で実行
$ sudo dnf check-update
openssl.x86_64                        1:1.1.1g-15.el8_3                   baseos
openssl-libs.x86_64                   1:1.1.1g-15.el8_3                   baseos

2.Buildtimeは「Mar 30 14:35:59 2021」になっている。

CentOS8で実行
$ sudo dnf -v info openssl-1.1.1g-15.el8_3
Available Packages
Name         : openssl
Epoch        : 1
Version      : 1.1.1g
Release      : 15.el8_3
Architecture : x86_64
Size         : 707 k
Source       : openssl-1.1.1g-15.el8_3.src.rpm
Repository   : baseos
Packager     : CentOS Buildsys <bugs@centos.org>
Buildtime    : Tue Mar 30 14:35:59 2021 ★
Summary      : Utilities from the general purpose cryptography library with TLS
             : implementation
URL          : http://www.openssl.org/
License      : OpenSSL and ASL 2.0
Description  : The OpenSSL toolkit provides support for secure communications
             : between machines. OpenSSL includes a certificate management tool
             : and shared libraries which provide various cryptographic
             : algorithms and protocols.

3.同様にAlmaLinuxでも調べてみよう。次のコマンドを実行すると、現在インストールされているopensslが1.1.1g-12.el8_3で、新しい1.1.1g-15.el8_3も提供されていることが分かる。

AlmaLinuxで実行
$ sudo dnf list openssl
Last metadata expiration check: 1:56:42 ago on Tue Apr  6 06:24:41 2021.
Installed Packages
openssl.x86_64                     1:1.1.1g-12.el8_3                     @baseos
Available Packages
openssl.x86_64                     1:1.1.1g-15.el8_3                     baseos

4.さらにBuildtimeを調べると「Mar 30 13:24:53 2021」で、CentOSよりも早い?

AlmaLinuxで実行
$sudo dnf -v info openssl-1.1.1g-15.el8_3
Available Packages
Name         : openssl
Epoch        : 1
Version      : 1.1.1g
Release      : 15.el8_3
Architecture : x86_64
Size         : 706 k
Source       : openssl-1.1.1g-15.el8_3.src.rpm
Repository   : baseos
Packager     : AlmaLinux Packaging Team <packager@almalinux.org>
Buildtime    : Tue Mar 30 13:24:53 2021 ★
Installed by : root <root>
Summary      : Utilities from the general purpose cryptography library with TLS
             : implementation
URL          : http://www.openssl.org/
License      : OpenSSL and ASL 2.0

5.各ディストリビューションを比較した結果は以下のとおり。時間が早い順に並べてみた。AlmaLinux優秀! すべてのパッケージを調べていないので、参考情報に過ぎないけれどね。

Linux OS Buildtime: openssl-1.1.1g-15.el8_3
Red Hat Enterprise Linux Fri Mar 26 01:51:51 2021
Oracle Linux Tue Mar 30 04:41:44 2021
AlmaLinux Tue Mar 30 13:24:53 2021
CentOS Tue Mar 30 14:35:59 2021

3.2.5. ミラーサイト

  1. ミラーサイトが気になったので調べてみる。ミラーサイトとはRPMパッケージのリポジトリを提供するサイトのことで、世界各地に分散配置することで高速化を図れる。
/etc/yum.repos.d/almalinux.repo
[baseos]
name=AlmaLinux $releasever - BaseOS
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos ★この行
# baseurl=https://repo.almalinux.org/almalinux/$releasever/BaseOS/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
fastestmirror=1

2.現在のミラーサイトは$releasever8に置き換えた以下のコマンドで確認できる。

curl 'https://mirrors.almalinux.org/mirrorlist/8/baseos'
結果の一部
http://mirrors.ptisp.pt/almalinux/8/BaseOS/$basearch/os/
http://mirror.espoch.edu.ec/almalinux/8/BaseOS/$basearch/os/
http://mirror.dk.team.blue/almalinux/8/BaseOS/$basearch/os/
http://mirror.hosting.com.tr/almalinux/8/BaseOS/$basearch/os/
http://mirror-almalinux.grupocg.cl/almalinux/8/BaseOS/$basearch/os/

3.ミラーサイトの総数は現在66(2021/4/6)。ミラーサイトのクエリは、総数ではなく遅延が少ないサイトだけ表示されるケースもあるが、今回はほぼすべて表示されているようだ。

$ curl -s 'https://mirrors.almalinux.org/mirrorlist/8/baseos' | wc -l
66

4.日本国内は2サイトだと思ったら、AlmaLinux Mirrorsページを見ると5サイトあった。それに対してCentOSは日本国内8サイトだ(海外は相当ある)。高速なIIJがあるのはありがたいがRIKENは無かった。(2021/4/15修正)RIKENも追加され、日本は計8サイトになった。

$ curl -s 'https://mirrors.almalinux.org/mirrorlist/8/baseos' | grep jp
http://ftp.iij.ad.jp/pub/linux/almalinux/8/BaseOS/$basearch/os/
http://mirror-jp.almalinux.id/almalinux/8/BaseOS/$basearch/os/

3.2.6. リポジトリのupdateinfo.xml提供

商用ディストリビューションでは、アップデートパッケージについて、セキュリティレベルや重要度などの修正情報を提供している。そのためyum update-minimal --sec-severity=critical,important --bugfix -yのように最小限のパッケージをアップデートできる。

CentOSではパッケージの修正情報が提供されていなかったため、この機能は使えなかった。ところがAlmalinuxは使えるようだ。スゴい!

修正情報が提供されているので表示できる
$ yum updateinfo list
ALBA-2021:1099 bugfix         NetworkManager-1:1.26.0-14.el8_3.x86_64
ALBA-2021:1099 bugfix         NetworkManager-libnm-1:1.26.0-14.el8_3.x86_64
ALBA-2021:1099 bugfix         NetworkManager-team-1:1.26.0-14.el8_3.x86_64
ALSA-2021:1093 Important/Sec. bpftool-4.18.0-240.22.1.el8_3.x86_64

パッケージのアップデート情報はYumリポジトリのrepodata/xxxxxx-updateinfo.xml.gzで提供されている。そのため、次のコマンドでも判断できる。

CentOS8:何も表示されない
$ curl -s 'http://ftp.iij.ad.jp/pub/linux/centos/8/BaseOS/x86_64/os/repodata/' | grep updateinfo
AlmaLinux:表示される
$ curl -s 'http://ftp.iij.ad.jp/pub/linux/almalinux/8/BaseOS/x86_64/os/repodata/' | grep updateinfo
<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a 
href="917a125d528031b22ab6f39a705a27697230318798df32ffe6ed0821569e01df-updatei
nfo.xml.gz">917a125d528031b22ab6f39a705a27697230318798df32ffe6ed0821569e01df-u
pdateinfo.xml.gz</a></td><td align="right">2021-04-19 21:22  </td><td align="r
ight">113K</td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="
almalinux83-baseos-updateinfo.xml">almalinux83-baseos-updateinfo.xml</a></td><
td align="right">2021-03-28 02:50  </td><td align="right">744K</td><td>&nbsp;<
/td></tr>

4. 前編まとめ

移行ツールも書こうと思ったが、長くなったので次回にする。とりあえず、ここまでのまとめは以下のとおり。

概要

  • AlmaLinuxはRHEL互換のLinux OSで、CentOSと同じ位置づけ
  • AlmaLinuxは、少なくとも2029年までサポートを保証(RHEL8と同等)
  • AlmaLinuxは、CloudLinux社のスポンサードを受けながらもコミュティドリブンで開発
  • 2021/03/30に正式安定版をリリース

機能

  • CentOSと、まったく同じように扱える。違うのは/etc/almalinux-releaseがあること
  • アップデートパッケージも十分早くリリースされている
  • 現時点(2021/04/06)で60以上のミラーサイトが用意され、日本でも5サイトある
  • CentOSとは異なりパッケージアップデート情報が提供されているので、必要最小限のパッケージなどレベルを指定したアップデートが可能

続きは、こちら。

81
78
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
81
78

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?