haku-maiのブログ

インフラエンジニアですが、アプリも作ります。

alpine linuxをVMWareFusionにインストールする

本記事で行うこと

  • alpine linuxをVMWareFusionにインストールする。
  • 管理用のuserを作成する。
  • macのterminalからsshで管理用のuserにログインする。

モチベーション

  • Linux上で動作するapplicationの実行環境として軽量なLinuxを探していた。

環境

macbook pro上でVMwareFusionを利用する

  • macのversion
$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.15.7
BuildVersion:   19H15

alpine linuxのisoファイルのダウンロード

以下のサイトからalpine linux(virtual版)のisoファイルをダウンロードします。
alpinelinux.org
ページ下に『古いリリースはここにあります。』とあるのでそこからisoファイルを選んでダウンロードします。
Index of /alpine/v3.12/releases/x86_64/

この時最新だった『alpine-virt-3.12.1-x86_64.iso』を選択します。
isoファイルで提供されているもので最も最小のvirtual版を使います。
たった40MB程度しかなく、よく利用しているCentOS7のminimal版でも7.9は約1GBもあるので、この時点で驚きです。
f:id:n-guitar:20201114162846p:plain:w600

VMWareFusionにインストール

早速VMWareFusionしてみます。

f:id:n-guitar:20201113225908p:plain:w600 f:id:n-guitar:20201113225922p:plain:w600 f:id:n-guitar:20201113225933p:plain:w600 あとでapline上でk3sを動かす予定でしたので、少し大きめの2CPU/2MBに変更します。
f:id:n-guitar:20201114163309p:plain:w600

恐ろしく早く起動してきました。10秒もかかってないです。 f:id:n-guitar:20201113230253p:plain:w600

rootでログインし、setup-apine scriptが用意されているので実行して各設定おwしていきます。 f:id:n-guitar:20201113230418p:plain:w600

setup-apine の実行
ここで『setup- + TAB』を押すと候補が表示されます。
各項目を別々に設定することも可能です。
f:id:n-guitar:20201114163907p:plain:w600
改めてsetup-apine を実行
f:id:n-guitar:20201114164122p:plain:w300

キーボードの設定で『us』と『mac-us』を選択。
f:id:n-guitar:20201113230621p:plain:w600
f:id:n-guitar:20201113230711p:plain:w600

ホスト名はdefaultが『localhost』なのでそのままEnterを押します。 f:id:n-guitar:20201114164348p:plain:w600

VMWareFusionはdefaultでdhcpでipを割り振ってくれるので、全てそのままEnterを押します。
自動的に設定されました。 f:id:n-guitar:20201114164647p:plain:w600

rootのpasswordを設定します。
f:id:n-guitar:20201114164816p:plain:w300

タイムゾーンを『Asia/Tokyo』に設定します。
f:id:n-guitar:20201114164923p:plain:w600

Proxyは利用しないのでそのままEnterを押します。
f:id:n-guitar:20201114165033p:plain:w600

NTPはchronyを利用したいのでそのままEnterを押します。
f:id:n-guitar:20201114165120p:plain:w600

package repositoryは速いサイトを検索して設定してくれるfを入れてEnterを押します。
f:id:n-guitar:20201114171743p:plain:w600

SSHはdefaultのopensshを使いたいのでそのままEnterを押します。
f:id:n-guitar:20201114165504p:plain:w600

diskはsdaを入れてEnterを押します。
f:id:n-guitar:20201114165603p:plain hddにインストールしてLinuxを使いたいのでsysモードにします。
f:id:n-guitar:20201114165741p:plain:w600 yを入れて、Enterでフォーマットします。
f:id:n-guitar:20201114172058p:plain:w600

しばらくして完了したら、rebootして設定完了です。
f:id:n-guitar:20201114172410p:plain:w300

reboot後も10秒かからずに起動してきました。
今後はmacのterminalからsshして作業したいので、管理用のuserを作成します。
f:id:n-guitar:20201114172633p:plain:w300

管理用のuserの作成

管理用のuserを作成します。
f:id:n-guitar:20201114180445p:plain:w600

管理用のuserでsudoで管理用のコマンドを許可したいのですが、
標準のaplineにはsudoがdefaultでは入っていません。
f:id:n-guitar:20201114173819p:plain:w300

apline公式でもユーザに管理アクセスさせたいときはsudoを入れて、wheelに入れてとありました。
docs.alpinelinux.org

ちなみに本内容とは脱線しますが、wheelというのは伝統的にユーザに管理権限を設定するためのグループのようです。
CentOS系でメディアインストールする時に管理者ユーザを作成すると自動的にwheelに入るので実は慣れ親しみがあります。
ホイール (コンピュータ) - Wikipedia

それではsudoをインストールして管理用のユーザをwheelに所属させます。

それではsudoをインストール
(なんと94MiBもありました・・・)
f:id:n-guitar:20201114175849p:plain:w300

管理用のユーザをwheelに所属させます。
f:id:n-guitar:20201114180808p:plain:w300

wheelグループにsudo権限を追加します。
f:id:n-guitar:20201114183324p:plain:w600

macのterminalからsshで管理用のuser

この状態でmacからログインしてみる。

管理者でないとアクセスできないファイルにsudoでアクセスすることができました。

$ ssh adminuser@192.168.128.27
adminuser@192.168.128.27's password:
Welcome to Alpine!

The Alpine Wiki contains a large amount of how-to guides and general
information about administrating Alpine systems.
See <http://wiki.alpinelinux.org/>.

You can setup the system with the command: setup-alpine

You may change this message by editing /etc/motd.

localhost:~$

$ ls -l /etc/sudoers.d
ls: can't open '/etc/sudoers.d': Permission denied
total 0

$ sudo ls -l /etc/sudoers.d
[sudo] password for adminuser:
total 4
-rw-r--r--    1 root     root            21 Nov 14 18:33 wheel