CBL-Mariner は、Microsoft 社のクラウドインフラおよびエッジ製品・サービス向けの社内 Linux ディストリビューションです。大々的なリリースイベントがありませんでしたが、最初に一般公開されたのは、2020 年 11 月 5 日(現地時間)のようです [1]。
デスクトップ用途のディストロではありませんが、一度は動かしてみようと GNOME Boxes の仮想マシンへインストールしてみました。
※ 上図は Oracle VM VirtualBox で起動した CBL Mariner 1.0 の Graphical Installer ですが、本記事では GNOME Boxes で Terminal Installer を使ってインストールした例を紹介しています。
OUTLINE
CBL-Mariner のインストール
CBL-Mariner 1.0 をインストールするには、まずインストール用の iso イメージのファイルを生成する必要があります。iso イメージ作成からインストールまで 参考サイト [3] に詳しく説明されていますので、参考にさせていただきました。
準備
前述の参考サイトでは Ubuntu を使って iso イメージを生成していますが、Fedora でもできるんじゃないかと期待して何度か試してみましたが、残念ながら iso イメージ作成のところでエラーが出てできませんでした。
仕方なく、GNOBE Boxes の仮想マシンへ Ubuntu 20.04.3 LTS をインストールして、この環境で iso イメージを生成しました。
Ubuntu 20.04.03 | x86_64 |
Ubuntu をインストール、再起動してインストールされたパッケージを最新のバージョンに更新した後、更に下記のように必要なパッケージを追加します。
bitwalk@ubuntu-PC:~/Projects$ sudo apt install git make tar wget curl rpm qemu-utils golang-go genisoimage python2-minimal bison gawk
[sudo] bitwalk のパスワード:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
:
:
iso イメージの作成までは、この Ubuntu で作業をしました。
Git リポジトリの取得
CBL-Mariner のリポジトリは下記の Github のサイトで公開されています。
適当なディレクトリで、上記リポジトリをクローンします。
bitwalk@ubuntu-PC:~/Projects$ git clone https://github.com/microsoft/CBL-Mariner.git
Cloning into 'CBL-Mariner'...
remote: Enumerating objects: 53278, done.
:
:
インストールイメージの作成
リポジトリをクローンした後、下記のように toolkit ディレクトリへ移り、make で iso イメージをビルドします。
bitwalk@ubuntu-PC:~/Projects$ cd CBL-Mariner/toolkit bitwalk@ubuntu-PC:~/Projects/CBL-Mariner/toolkit$ sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json cd /home/bitwalk/Projects/CBL-Mariner/toolkit/tools/ && \ go test -covermode=atomic -coverprofile=/home/bitwalk/Projects/CBL-Mariner/build/tools/internal.test_coverage ./... go: downloading github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e go: downloading github.com/rivo/tview v0.0.0-20200219135020-0ba8301b415c : : WARN[0007] Max brk space used 57000 WARN[0007] 352636 extents written (688 MB) bitwalk@ubuntu-PC:~/Projects/CBL-Mariner/toolkit$ ls ../out/images/full/ full-1.0.20220113.2016.iso bitwalk@ubuntu-PC:~/Projects/CBL-Mariner/toolkit$
処理に成功すると CBL-Mariner/out/images/full/ 内に full-1.0.20220113.2016.iso が生成されます。斜体部分の数字はタイムスタンプです。
GNOME Boxes へインストール
iso イメージを生成できたので、以降は普段使っている Fedora 35 上の GNOME Boxes 上にインストールします。
Fedora Linux 35 | x86_64 |
GNOME Boxes 上で、生成した iso イメージを起動します。
仮想マシンに GNOME Boxes を使っているせいでしょうか、何度試しても Graphical Installer が起動しませんでした。結局、Terminal Installer を選択してテキストモードの画面でインストールしました。インストールに必要な設定は、Graphical Installer と同じ内容のようです。
EULA(ソフトウェア利用許諾契約)に承諾して次へ進みます。
CBL-Mariner Full を選択します。
(一箇所しかありませんが)インストール先を選択します。
ストレージの暗号化はスキップしました。
ホスト名を設定します。
ユーザーアカウントとパスワードを設定します。
インストールの設定が完了したので [Yes] を選択してインストールを始めます。
インストールが始まります。
インストールが 47 秒で終了しました。こういう表示がされるということは、インストール速度にこだわりがあるのでしょうか。
[Restart] で再起動します。
再起動後、設定したユーザーアカウントでログインできることを確認します。
インストール後
インストーラでは動作に必要な最低限の設定しかされていないので、追加でタイムゾーンとキーボードのレイアウト設定をしました。
タイムゾーンの設定
下記のようにしてタイムゾーンを Asia/Tokyo に設定します。
キーボードレイアウト
下記のように sudo で dnf コマンドを使って、足りないパッケージをインストールしてキーボードのレイアウトを日本語キーボードに設定します。
bitwalk [ ~ ]$ sudo dnf -y install kbd polkit : : bitwalk [ ~ ]$ sudo localectl set-keymap jp106
パッケージ管理
CBL-Mariner では rpm パッケージを採用しているせいでしょうか、RHEL や Fedora を使っているような感覚で使えます。
dnf と tdnf によるシステム管理
パッケージのインストールなどを管理するコマンドは rpm コマンドに加えて dnf および tdnf を利用できます。
tdnf は RHEL や Fedora では利用できないパッケージなのですが、調べてみると、Photon OS という、コンテナ向け Linux で開発され利用できるパッケージのようです [4]。Python に依存しない dnf の C 言語実装版ということです。
usage: tdnf [options] COMMAND options [-c [config file]] [--alldeps] [--debugsolver] [--destdir [path]] [--disablerepo=] [--enablerepo= ] [--noplugins] [--enableplugin= ] [--disableplugin= ] [--rpmverbosity [debug level name]] [-v] [-y] [--assumeno] [--version] [--installroot [path]] [--nogpgcheck] [-q, --quiet] [--releasever RELEASEVER] [--setopt SETOPTS] [--refresh] [--exclude [file1,file2,...]] [--security] [--sec-severity CVSS_v3.0_Severity] [--showorder] [--reboot-required] [--skipsignature] [--skipdigest] List of Main Commands check-local Checks local rpm folder for problems check-update Check for available package upgrades clean Remove cached data distro-sync Synchronize installed packages to the latest available versions download download a package download-nodeps download a package without dependencies downgrade downgrade a package erase Remove a package or packages from your system help Display a helpful usage message info Display details about a package or group of packages install Install a package or packages on your system list List a package or groups of packages makecache Generate the metadata cache provides Find what package provides the given value remove Remove a package or packages from your system reinstall reinstall a package repolist Display the configured software repositories search Search package details for the given string updateinfo Display advisories about packages upgrade Upgrade a package or packages on your system upgrade-to Upgrade a package on your system to the specified version
まとめ
項目 | 説明 |
---|---|
ディストリビューション | CBL-Mariner |
プロジェクトサイト | https://github.com/microsoft/CBL-Mariner |
デスクトップ環境 | - |
対応プラットフォーム | x86_64 |
パッケージ管理 | tdnf, dnf |
日本語入力 | - |
寸評 |
Microsoft 社謹製の Linux ディストロということに興味を持って仮想マシンにインストールをしてみました。Microsoft 社の Azure や社内向けの Linux とは言え、Microsoft が Linux を公開するとは時代は変わったものだとつくづく思います。 CBL-Mariner で cockpit のパッケージを利用できたので、VM の外からアクセスできるように VirtualBox でインストールをやり直してあれこれやってみましたが、結局エラーで満足できる結果になりませんでした。そういうわけで今回の記事では掲載を見送っています。 CBL-Mariner は Microsoft 社の OSS への取り組みが判る例の一つだと思うので、今のところ CBL-Mariner を積極的に試用したいと考える動機はありませんが、しばらく仮想環境に残しておいて動向を watch したいと思います。 |
参考サイト
- マイクロソフト、社内用Linuxディストロ「CBL-Mariner」を公開--Azureサービス、エッジ機器向けに活用 - ZDNet Japan [2020-11-12]
- マイクロソフトの社内用Linuxディストリビューション「CBL-Mariner」とは - ZDNet Japan [2021-07-19]
- CBL-Mariner Linux 1.0 Released by Microsoft, Here's How to Install it[2021-07-13]
- Introduction to tdnf · VMware Photon OS 3.0 Documentation
- Ballmer: 'Linux is a cancer' • The Register [2001-06-02]
にほんブログ村
0 件のコメント:
コメントを投稿