【Linux】Alpine Linux 3.17.2インストール手順

Linux
スポンサーリンク

今回は、The 軽量Linuxと呼ばれるAlpine LinuxをHyper-V上にインストールしていきます。
2023年2月27日時点だと3.17.2がリリースされていますが、x64のインストーラで約150MBと他のOSに比べ、非常に軽量です。

期待する目標

本手順で期待する目標は以下の通りです。

  • Alpine Linux 3.17.2をインストールできる。
  • APKを使用してバージョンアップができる。

Alpine Linuxとは

Alpine Linux (アルパイン・リナックス) は、muslとBusyBoxをベースとしたLinuxディストリビューションである[2]。セキュリティ・シンプルさ・リソース効率を重視するパワーユーザー向けに設計されている[3][4][5][6]。Alpine Linuxではgrsecurity/PaXを適用したLinuxカーネルを使用しており、全てのユーザ空間バイナリがスタックスマッシング保護(英語版) (英語: stack-smashing protection、SSP) 付きの位置独立実行ファイル (PIE) としてコンパイルされている[2]。

Alpine LinuxはmuslとBusyBoxを利用して構築されており、従来のLinuxディストリビューションと比較してLXCやインストールに必要なストレージ容量が小型化されている。リソース効率が向上しており、起動時間が短縮されている[7]。

postmarketOSはAlpine Linuxからフォークしたモバイルオペレーティングシステムである[8]。

wikiより引用

Linuxの系譜的にどのOSから派生したかはわかりませんが、少なくともRHEL系やDebian系のOSではなく独自の系譜になっています。
そのため、パッケージマネージャーもAPK(Alpine Package Keeper)となっており、独自に進化しています。
初期の状態では、GUIの設定はなく、CLIがデフォルトになっています。

前提条件

本環境で使用する環境は以下の通りです。

  • CPU : 2vCPU
  • MEM : 4GB
  • DISK : 60GB

Alpine Linux ダウンロード

Alpine Linuxトップページ画面
Alpine Linuxトップページ

以下のURLより、Alpine Linuxのトップページに移動します。
URL : https://www.alpinelinux.org/
Alpine Linuxのトップページより、[Downloads]を押下します。

ダウンロードファイルの確認画面
ダウンロードファイルの確認

[DOWNLOADS]より、[Version]が[3.17.2]となっていることを確認し、下にスクロールします。

Standard x86_64のISOファイルダウンロード画面
Standard x86_64のISOファイルダウンロード

[STANDARD]より、[x86_64]を押下し、ISOファイルをダウンロードします。

Alpine Linux インストール

ダウンロードしたISOファイルをマウントし、起動します。

Alpine Linux起動画面
Alpine Linux起動

ISOファイルをマウントして、起動すると一瞬でログイン画面まで移動します。
とっても早い・・・

Alpine Linuxログイン画面
Alpine Linuxログイン

ログイン画面が表示されたら、以下のユーザでログインします。

  • ユーザ名 : root
  • パスワード : なし

ライブディスク状態だとrootユーザでパスワードレスでログインすることができます。

Alpine Linux Setup画面
Alpine Linux Setup

ログインしたら、以下のコマンドを実行することで、Alpine Linuxのセットアップを開始できます。

localhost:~# setup-alpine
キーボードレイアウトの設定画面
キーボードレイアウトの設定

[Available keyboard layouts: ]より、キーボードの言語設定を行います。
今回は、日本語キーボードレイアウトを設定したいので、[Select keyboard layout: [none]より、[jp]を入力し、[Enter]を押下します。

キー配列の設定画面
キー配列の設定

[Available variants:]より、日本語のキー配列を選択します。
今回は、日本語の106キーを使用しているので、[jp]を入力しました。
キー配列の設定が完了したら[Enter]を押下します。

ホスト名の設定画面
ホスト名の設定

[Enter system hostname]より、OSのホスト名を設定します。
今回は、[dev-alpine]を入力し、[Enter]を押下します。

NICの設定画面
NICの設定

[Which one do you want to initialize?]より、[Enter]を押下します。

DHCP設定画面
DHCP設定

[Ip address for eth0?]より、[dhcp]と入力し、[Enter]を押下します。
今回は、お試しでインストールしているため、IPアドレスをDHCPで設定します。

ネットワーク設定画面
ネットワーク設定

[Do you want to do any manual network configuration?]より、ネットワーク設定をせずに進みたいので、[n]を入力し、[Enter]を押下します。

ネットワーク設定の確認画面
ネットワーク設定の確認

[Do you want to do any manual network configuration?]で[n]を設定すると、DHCPでネットワークが設定されます。

rootパスワードの設定画面
rootパスワードの設定

[Changing password for root]より、rootのパスワードを設定します。
設定が完了したら、[Enter]を押下します。

タイムゾーンの設定画面
タイムゾーンの設定

[Which timezone are you in?]より、タイムゾーンの設定を行います。
今回は、[Japan]を選択しました。

Proxyの設定画面
Proxyの設定

[HTTP/FTP proxy URL?]より、OSのProxy設定を行います。
今回は、Proxyを使用しないので、[none]と入力して[Enter]を押下します。

NTPの設定画面
NTPの設定

[Which NTP client to run?]より使用するNTPのサービスを設定します。
今回は、使い慣れているchronyを選択します。
[chrony]と入力し、[Enter]を押下します。

ミラーリストの表示画面
ミラーリストの表示

NTPの設定が完了すると、Mirrofリストが表示されます。
[Space]を押下します。

ミラー設定画面
ミラー設定

すべてのミラーが表示されると、[Enter mirror number or URL to add]と表示されるため、必要に応じてミラーサーバを選択します。
[f]オプションを入力すると、応答時間が短いミラーサーバが自動的に選択されます。

ユーザの作成画面
ユーザの作成

[Setup a user?]より、ユーザを作成することができます。
今回は検証のため、rootユーザ以外は作成しないため、[no]を入力し、[Enter]を押下します。
実運用であれば、ログイン用のユーザを別途作成してください。

SSHサーバの選択画面
SSHサーバの選択

[Which ssh server?]より、SSHサーバのサービスを選択します。
本環境ではUbuntuや他のLinuxでも使い慣れている[OpenSSH]選択しようと思います。
[openssh]と入力し、[Enter]を押下します。

SSH接続の許可画面
SSH接続の許可

[Allow root ssh login?]より、rootユーザでのSSH許可に関する設定をします。
デフォルトの[prohibit-password]を入力すると、rootユーザでのSSH接続は禁止になります。
今回は検証のため、何も入力せずに[Enter]を押下します。

SSHキーの設定画面
SSHキーの設定

[Enter ssh key or URL for root]より、SSH接続するためのキーを設定します。
今回は、SSHキーによるSSHを行わないので、空白のまま[Enter]を押下します。

インストールディスクの設定画面
インストールディスクの設定

[Which disk(s) would you like to use?]よりインストールするディスクを選択します。
ディスクが表示されているので、デバイス名を入力します。
今回であれば[sda]がディスクのデバイス名となります。
インストールするディスクを入力したら、[Enter]を押下します。

使用目的の設定画面
使用目的の設定

[How would you like to use it?]より、ディスクの使用目的を設定します。
インストールするディスクについては、システムディスクとして使用するため[sys]を入力して、[Enter]を押下します。

ディスクの削除確認画面
ディスクの削除確認

[WARNING : Erase the above disk(s) and continue]より、選択したディスクが削除される警告が表示されます。
空のディスクに書き込みを行うため、[y]を入力し、[Enter]を押下します。

インストールの完了画面
インストールの完了

[Installation is complete. Please reboot.]と表示されたら、インストールは完了です。

システムの再起動画面
システムの再起動

インストールが完了したら、[reboot]コマンドでシステムを再起動します。
Hyper-Vの場合は、再起動時に自動的にISOファイルがアンマウントされなかったので、パワーオフの方が良い可能性があります。

Alpine Linuxを触ってみる

インストール後の確認画面
インストール後の確認

再起動後にログインし、Alpine Linuxの情報を確認してみます。
確認コマンドとしては、以下の通りです。

dev-alpine:~# hostname
dev-alpine:~# ip a
dev-alpine:~# whoami

設定したホスト名とIP、ユーザ名が表示されれば問題なくインストールされています。

Alpine Linux アップデート画面
Alpine Linux アップデート

Alpine Linuxのアップデートをしてみます。
Alpine LinuxはAPKと呼ばれるパッケージ管理システムを使用しているため、以下のコマンドでリポジトリのアップデートを行います。

dev-alpine:~# apk update
OK: xxxxx distnct package available

[OK]と表示されればアップデートは完了です。
このコマンドはUbuntuで言うところの[apt update]と同様のコマンドになるようです。

Alpine Linux アップグレード画面
Alpine Linux アップグレード

以下のコマンドでAlpine Linuxのアップグレードを行います。

dev-alpine:~# apk upgrade
OK: xxxMiB in xx packages

ちょっとアップデートが速すぎてちゃんとアップデートができているかわかりませんがとりあえずこれでアップグレードできたと思います。(間違っていたらすいません)

OS-releaseの表示画面
OS-releaseの表示

以下のコマンドを使用してos-releaseを表示したみたいと思います。

dev-alpine:~#cat /etc/os-release

Alpine Linuxはちゃんとos-releaseで情報を表示できました。
名前もAlpine Linuxになっています。

パワーオフ画面
パワーオフ

Alpine Linuxのパワーオフについては、Ubuntuなどの[shutdown]コマンドではなく、[poweroff]コマンドを使用することでシャットダウンさせることができます。

まとめ

今回は、RHEL系やDebian系のLinuxとは異なるAlpine LinuxをHyper-V上に構築してみました。
インストール自体はセットアップコマンドを使用することで対話でもインストールすることができました。応答ファイルを使用することで自動的にセットアップを行うことができるので、大量展開する際に便利だと思います。
Alpine Linuxはインストーラも軽量で、過去一ライブディスクの起動が早く、挙動も安定しているので、マイナーだけど今後サーバ用OSとして活用するのはあり寄りのありだと思いました。
コマンドや、デフォルトでCLIなのでとっつきにくい部分もあると思いますが、今後GUIなども入れてみて検証することができればよいかなと思います。

おまけ

本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。

コメント

タイトルとURLをコピーしました