LoginSignup
0
1

【2023年7月版】ESXi7, 8 で Alpine Linux のインストールと実行

Last updated at Posted at 2023-07-18

はじめに

ESXi8 で省メモリのLinux使いたいな
そうだ、ESXi8 で Alpine Linux しよう!
(ESXi7 でも同一手順)

環境

  • ESXi8 or ESXi7
  • Apline Linux 3.18.2
  • ESXi8 は、macOS12のChromeから操作
  • IPはDHCPから取れる、あとから192.168.100.101を設定する
  • Gatewayは 192.168.100.1、ネームサーバは 8.8.8.8, 1.1.1.1

OSのダウンロード

インストーラの準備

  • USBの場合は、rufusや、balena Etcherで作成
  • ISOの場合は、ISOイメージをNFS等でESXi8のローカルへコピー

仮想マシンの作成

  • USBの場合は、biosではなく、uefiを選択し、USBを接続
  • ISOの場合は、CD-ROMにISOイメージを選択
  • Guest OS Version は Other 5.x or later Linux (64-bit) を選択

セットアップ

ログイン

ログインして setup-alpine を実行

  • root でログイン(パスワードなし)
  • setup-alpineを実行

setup-alpine

プロンプトに応答していく

  • Select keyboard layout: [none] us
  • Select variant (or 'abort'): us-mac
  • Enter system hostname (fully qualified form, e.g. 'foo.example.org') [localhost] alipne01
  • Which one do you want to initialize? (or '?' or 'done') [eth0]
  • Ip address for eth0? (or 'dhcp', 'none', '?') [dhcp]
  • Do you want to do any manual network configuration? (y/n) [n]
  • New passwrod: 複雑なパスワードを入力
  • Retype password: ↑のパスワードを再入力
  • Which timezone are you in? ('?' for list) [UTC] Asia/Tokyo
  • HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none]
  • Which NTP client to run? ('busybox', 'openntpd', 'chrony' or 'none') [chrony]
  • Enter mirror number (1-73) or URL to add (or r/f/e/done) [1] r
    • ここで mirror のサーバが 1つしかない、取れない場合は、ネットワークがインターネットに接続されていない
  • Setup a user? (enter a lower-cast loginname, or 'no') [no]
  • Which ssh server? ('openssh', 'dropbear' or 'none') [openssh]
  • Allow root ssh login? ('?' for help) [prohibit-password] yes
  • Enter ssh key or URL for root (or 'none') [none]
  • Which disk(s) would you like to use? (or '?' for help or 'none') [none] sda
  • How would you like to use it? ('sys', 'data', 'crypt', 'lvm' or '?' for help) [?] lvmsys
  • WARNING: Erase the above disk(s) and continue? (y/n) [n] y

Installation is complete. Please reboot. と表示されたら reboot と入力して再起動

ssh で接続(dhcpアドレス)

ip a でIPアドレスを確認して、ssh経由で接続

$ ssh root@IPアドレス

vim のインストール

# apk add vim

IPアドレスの設定

固定のIPアドレスを設定して再起動

# cp /etc/network/interfaces interfaces
# vim /etc/network/interfaces 
# diff interfaces /etc/network/interfaces 
--- interfaces
+++ /etc/network/interfaces
@@ -2,5 +2,7 @@
 iface lo inet loopback
 
 auto eth0
-iface eth0 inet dhcp
-
+iface eth0 inet static
+	address 192.168.100.101
+	netmask 255.255.255.0
+	gateway 192.168.100.1
# reboot

ssh で接続(固定アドレス)

ssh root@192.168.100.101

sudo のインストールとユーザの追加と設定

# echo "http://dl-cdn.alpinelinux.org/alpine/v3.18/community" >> /etc/apk/repositories
# apk update
fetch http://mirrors.edge.kernel.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.18/community/x86_64/APKINDEX.tar.gz
v3.18.2-390-g7633fed725b [http://mirrors.edge.kernel.org/alpine/v3.18/main]
v3.18.2-392-gdbc2124c028 [http://dl-cdn.alpinelinux.org/alpine/v3.18/community]
OK: 20063 distinct packages available
# apk upgrade
OK: 189 MiB in 79 packages
# apk add sudo
(1/1) Installing sudo (1.9.13_p3-r2)
Executing busybox-1.36.1-r1.trigger
OK: 191 MiB in 80 packages
# adduser dev
Changing password for dev
New password: 
Retype password: 
passwd: password for dev changed by root
# addgroup -S sudo
# echo "%sudo ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# addgroup dev sudo

ssh の設定

devユーザで、sshの鍵を作成・設定、コピーしておく

# su - dev
$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/dev/.ssh/id_rsa): 
Created directory '/home/dev/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/dev/.ssh/id_rsa
Your public key has been saved in /home/dev/.ssh/id_rsa.pub
The key fingerprint is:
  :
  :
  :
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys

rootユーザで、sshdの設定

# cp /etc/ssh/sshd_config sshd_config
# vim /etc/ssh/sshd_config
# diff sshd_config /etc/ssh/sshd_config
# diff sshd_config /etc/ssh/sshd_config 
--- sshd_config
+++ /etc/ssh/sshd_config
@@ -29,12 +29,12 @@
 # Authentication:
 
 #LoginGraceTime 2m
-PermitRootLogin yes
+PermitRootLogin no
 #StrictModes yes
 #MaxAuthTries 6
 #MaxSessions 10
 
-#PubkeyAuthentication yes
+PubkeyAuthentication yes
 
 # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
 # but this is overridden so installations will only check .ssh/authorized_keys
@@ -54,7 +54,7 @@
 #IgnoreRhosts yes
 
 # To disable tunneled clear text passwords, change to no here!
-#PasswordAuthentication yes
+PasswordAuthentication no
 #PermitEmptyPasswords no
 
 # Change to no to disable s/key passwords
# service sshd restart
 * Stopping sshd ...                                                      [ ok ]
 * Starting sshd ...                                                      [ ok ]

dev ユーザで、ssh接続

ssh dev@192.168.100.101 -i .ssh/id_rsa

Open VM Tools のインストール

$ sudo apk add --update open-vm-tools
$ sudo rc-service open-vm-tools start
$ sudo rc-update add open-vm-tools

いれておくと便利なツール

  • bash
    sudo apk add bash
  • vim
    sudo apk add vim
  • lsblk
    sudo apk add util-linux
  • lspci
    sudo apk add pciutils
  • ss
    sudo apk add iproute2
  • htop, btop, iftop
    sudo apk add htop btop iftop
  • iperf3
    sudo apk add iperf3
  • tcpdump
    sudo apk add tcpdump
  • vmstat
    sudo apk add procps
  • iotop
    sudo apk add iotop
  • pidstat, iostat
    sudo apk add sysstat
  • sar
    sudo apk add strace
  • curl
    sudo apk add curl
  • ifconfig, arp
    sudo apk add net-tools
  • 上記すべて
    sudo apk add bash vim util-linux pciutils iproute2 htop btop iftop iperf3 tcpdump procps iotop sysstat strace curl net-tools

やっておくと便利なbash設定

ログインシェルを bash に変更しておく

$ cat /etc/passwd
 :
 :
dev:x:1000:1000:dev:/home/dev:/bin/bash
 :
 :

プロンプトを {ユーザ名}@{ホスト名}:{ワークディレクトリ} に変更

$ cat .bash_profile
if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

$ cat .bashrc
PS1="\u@\h:\w\$ "

さいごに

かんたんでしたね

参考資料

Alpine Linux - Install Alpine on VMware ESXi

0
1
1

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
0
1