お金をかけずにサーバーの勉強をしよう

オンプレで Azure Linux を導入

2024年9月28日
メニューへ戻る

AWSに続き Azureの Linuxもできたというので味あわない訳にはいかない、

AWSに遅れましたが、Azureも Azureに特化した Linux OSを作って、仮想マシンとして立ち上げることができるようになりました。

「家でインストールできりゃ良いのに…」とか思っていましたら、しっかしと ISOイメージファイルを配っているので、早速 VMware Workstation Proで仮想マシンにインストールしてみようと思います。

以下で配っておりました。
microsoft /azurelinux

2024年9月27日時点では Ver.3.0でした。

ダウンロードが済みますと、[AzureLinux-3.0-x86_64.iso]ファイルができました。


1.VMware Workstation Proの仮想マシン用意

VMware Workstation Proを立ち上げます。

メニューから [ファイル] - [新しい仮想マシン] を選択します。
VMware Workstation Pro 仮想マシン作成 1

[標準] を選択し、次へを押します。
VMware Workstation Pro 仮想マシン作成 2

[後で OS をインストール] を選択し、次へを押します。
VMware Workstation Pro 仮想マシン作成 3

[ゲスト OS] に [Linux] を選択します。
次が悩みどころなのですが、Azure Linuxのパッケージ管理は rpmによるものなので「Fedoraにルーツを持つ RedHat系なのかなぁ…」と、バージョンには [Red Hat Enterprise Linux 9 (64 ビット)] を選択してみました。
次へを押します。
VMware Workstation Pro 仮想マシン作成 4

[仮想マシン名] はあくまで WMware Workstation Proの画面上での表示に使われるだけで、マシン名ではありませんから適当に入れます。
[場所] はこの仮想マシンを構成するファイル群が入るフォルダですので、他の仮想マシンと競合しない場所にします。
次へを押します。
VMware Workstation Pro 仮想マシン作成 5

[ディスク最大サイズ] は RHEL9用のデフォルトのまま 20GBとしました。
[仮想ファイルを単一ディスクとして格納] を選択し、次へを押します。
VMware Workstation Pro 仮想マシン作成 6

ハードウェアをカスタマイズを押します。
VMware Workstation Pro 仮想マシン作成 7

メモリは根拠もなく 4GBにしました。
VMware Workstation Pro 仮想マシン作成 8

プロセッサ(CPU)も根拠なく 2個にしようと思います。
今回は関係ないんですけど、CPU数でライセンス数が変わるソフトもあって「CPU数を減らしてコア数を増やす」ために、[プロセッサ数] を 1に、[コア数] を 2にしました。
[仮想化エンジン] は、この OSでコンテナを使いたいなんてこともあるので、全部チェックしています。
VMware Workstation Pro 仮想マシン作成 9

[ISOイメージファイルを使用する] を選択し、ダウンロードした [AzureLinux-3.0-x86_64.iso]ファイルを選択します。
VMware Workstation Pro 仮想マシン作成 10

[ネットワーク接続] は、外部のクライアントからこのマシンにアクセスしたいので [ブリッジ] を選択します。
VMware Workstation Pro 仮想マシン作成 11

[USB コントローラ]・[サウンド カード] はサーバーにはいらんので削除しました。

[3D グラフィックスのアクセラレーション] は私のお勉強では使いませんし、かなりメモリを喰うのでチェックを外しました。
閉じるを押します。
VMware Workstation Pro 仮想マシン作成 12

完了を押します。
VMware Workstation Pro 仮想マシン作成 13


2.Azure Linuxインストール

このような画面になっていると思いますので、[Azure Linux] を選択し、[この仮想マシンをパワーオンする] をクリックします。
VMware Workstation Pro 仮想マシン作成 14

起動してきました。待ちます。
VMware Workstation Pro 仮想マシン作成 14

ここからTAB を使って操作していきます。

インストール方法は 3種類ありました。
1つ目は音声ガイド付きでしょうか。
3つ目はマウスも使える GUIインストーラでしたが、ここは漢の [Terminal Installer] を選択します。
[Next] を選択し、Enterを押します。
インストール 1

よ〜く読んで [Accept] を選択し、Enterを押します。
インストール 2

とりあえずどんなもんか見たいので [Azure Linux Full] にしました。
[Next] を選択し、Enterを押します。
インストール 3

ディスクは VMware Workstation Proで作ったものが 1つしかありませんので、これ以外選択できません。
他の仮想化ソフトや、PCに直接インストールする場合は別な名称のものが出ると思います。
[Next] を選択し、Enterを押します。
インストール 4

キーボードの配列は英語キーボードになってるのでご注意ください。

ディスクの暗号化のパスワード入力画面ですが、自宅じゃ暗号化の必要もなく。
[Skip Disk Encryption] を選択し、Enterを押します。
インストール 5

ホスト名設定です。
「azurelinux」としました。
[Next] を選択し、Enterを押します。
インストール 6

初期ユーザーの作成です。
パスワードは複雑なものにしないと怒られますので、適当に「nfTods0843#A」としました。
(英語キーボードでの入力になるので、記号は日本語キーボードと同じ位置にある「#」にしました。パスワードは後で買えられますしね。)
[Next] を選択し、Enterを押します。
インストール 7

「ディスクの内容が消えるけどインストールしていい?」と聞かれます。
迷うことなく [Yes] を選択し、Enterを押します。
インストール 8

味気ない進捗画面になりますので、待ちます。
インストール 9

放っておいても自動的に再起動しますが、せっかちな私は [Restart] を選択し、Enterを押すのでした。
インストール 10

ログインプロンプトが表示されました。
上で作った初期ユーザー [Subro] でログインします。
インストール 11

画面を取り忘れましたが、上手くログインできました。


3.固定IPアドレスに変更

本物の Azureではこんなことはしないんでしょうけど…。

現時点では DHCPによって IPアドレスを得ていますが、サーバーなのですし、固定IPアドレスにしたいです。
それにとにかく早くこの英語キーボードを使う事を強制されるコンソールから離れて外部 sshログインしたいのです。

まずネットワークインターフェイス名を ip a コマンドで確認します。
私の環境(VMware Workstation Pro)では [eth0] でした。
固定IPアドレスに変更 1

systemd-networkd という仕組みで IPアドレスが決まっていますので、[/etc/systemd/network] ディレクトリが設定場所です。
[99-dhcp-en.network] という名前のファイルがありますね。
番号〜〜〜.network」ってネーミングルールのファイルになっています。
番号が若い程優先度が高くなります。
固定IPアドレスに変更  2
現在は 99番のファイルで DHCPで IPアドレスを得るようにの設定がされています。

優先度の高い 98番を使い 「98_eth1.network]ファイルを以下の内容(catコマンドの出力の中身です)で作りました。
[192.168.1.111] を割り当てています。
[192.168.1.1] は私の家の光ルーターの IPアドレスで、デフォルトゲートウェイかつ DNSサーバーです。
固定IPアドレスに変更  3

再起動します。
[subro] ユーザーのパスワードは「nfTods0843#A」を設定していましたね。
VMware Workstation Pro 仮想マシン作成 14

再起動が完了してからログインして IPアドレスの確認をしてみると、想定通りのものになっていました。
VMware Workstation Pro 仮想マシン作成 14


4.外部から sshでログイン

早く英語キーボードから逃れたい…。

クライアントの Lubuntu 24.04のマシンから [subro]ユーザーとして sshログインします。

subro@Lubuntu2404:~$ ssh subro@192.168.1.111
The authenticity of host '192.168.1.111 (192.168.1.111)' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.111' (ED25519) to the list of known hosts.
Welcome to Microsoft Azure Linux 3.0 (x86_64)
(subro@192.168.1.111) Password: nfTods0843#A

subro@azurelinux [ ~ ]$

入れましたよ!\(^o^)/

これで以降の作業が楽になります。


5.日本用環境

現在はキーボードの件でも分かる通り、英語環境です。

これも本物の Azureで必要な作業か分かりませんが、これをやらねば日本では使い物にならぬ…。

そういえば dnfコマンドで参照しているパッケージはどこのリポジトリを見ているのか。

[/etc/yum.repos.d]ディレクトリ以下に設定ファイルが 3つありました。

ssubro@azurelinux [ ~ ]$ /etc/yum.repos.d

subro@azurelinux [ /etc/yum.repos.d ]$ ls -l
total 12
-rw-r--r--. 1 root root 322 Jul 20 11:26 azurelinux-ms-non-oss.repo
-rw-r--r--. 1 root root 310 Jul 20 11:26 azurelinux-ms-oss.repo
-rw-r--r--. 1 root root 899 Jul 20 11:26 azurelinux-official-base.repo

中を見てみましょう。

ssubro@azurelinux [ ~ ]$ cat *
[azurelinux-official-ms-non-oss]
name=Azure Linux Official Microsoft Non-Open-Source $releasever $basearch
baseurl=https://packages.microsoft.com/azurelinux/$releasever/prod/ms-non-oss/$basearch
gpgkey=file:///etc/pki/rpm-gpg/MICROSOFT-RPM-GPG-KEY
gpgcheck=1
repo_gpgcheck=1
enabled=1
skip_if_unavailable=True
sslverify=1
[azurelinux-official-ms-oss]
name=Azure Linux Official Microsoft Open-Source $releasever $basearch
baseurl=https://packages.microsoft.com/azurelinux/$releasever/prod/ms-oss/$basearch
gpgkey=file:///etc/pki/rpm-gpg/MICROSOFT-RPM-GPG-KEY
gpgcheck=1
repo_gpgcheck=1
enabled=1
skip_if_unavailable=True
sslverify=1
[azurelinux-official-base]
name=Azure Linux Official Base $releasever $basearch
baseurl=https://packages.microsoft.com/azurelinux/$releasever/prod/base/$basearch
gpgkey=file:///etc/pki/rpm-gpg/MICROSOFT-RPM-GPG-KEY
gpgcheck=1
repo_gpgcheck=1
enabled=1
skip_if_unavailable=True
sslverify=1

[azurelinux-official-base-debuginfo]
name=Azure Linux Official Base $releasever $basearch Debuginfo
baseurl=https://packages.microsoft.com/azurelinux/$releasever/prod/base/debuginfo/$basearch
gpgkey=file:///etc/pki/rpm-gpg/MICROSOFT-RPM-GPG-KEY
gpgcheck=1
repo_gpgcheck=1
enabled=0
skip_if_unavailable=True
sslverify=1

[azurelinux-official-base-source]
name=Azure Linux Official Base $releasever Source
baseurl=https://packages.microsoft.com/azurelinux/$releasever/prod/base/srpms
gpgkey=file:///etc/pki/rpm-gpg/MICROSOFT-RPM-GPG-KEY
gpgcheck=1
repo_gpgcheck=1
enabled=0
skip_if_unavailable=True
sslverify=1

全てマイクロソフトのリポジトリを見ているようです。

日本環境に関するパッケージは「ja」とか付いているので dnf searchコマンドで探してみましょう。

ssubro@azurelinux [ ~ ]$ dnf search ja

色々出るので何が出てきたかは割愛しますが、日本環境関係のパッケージは無さげ、でしたね〜。

何ということでしょう!
先に言えってやつですかw

せめてタイムゾーンだけでも日本標準時に。

ssubro@azurelinux [ ~ ]$ sudo timedatectl set-timezone Asia/Tokyo

subro@azurelinux [ ~ ]$ date
Sun Sep 29 07:06:11 JST 2024


==========
というわけで、家で Azure Linuxを味わうことは可能だったのですが、他OSのリポジトリを使って日本語にするのもナンだし…という結果になってしまいました。

Azureの Windows Serverもやっぱり英語OSなんですけど、ちゃんと日本語化する手順は公開されています。

Azureの仮想マシンならパッケージが提供されてるんでしょうかねぇ…。

ただまぁ、OSの仕様的なところはこれでも色々と見ることはできると思います。