Arch LinuxをVMware 仮想マシンにインストールするメモ

# 概要
ARCH LinuxをVMware仮想マシンに最小限の構成でインストールするメモ

# ISOのダウンロード
下記からダウンロード
https://www.archlinux.jp/download/

archlinux-2023.02.01-x86_64.iso のように日付がついている最新版でOK

HASHとかでチェックしたい人は本家のリリース情報を参照
https://archlinux.org/releng/releases/

# インストール
VMware Workstation 17 Playerに仮想マシンを作ってインストールする

#### 仮想マシンの作成
1. 「新規仮想マシンの作成(N)」から「インストーラーディスクイメージファイル(M)(iso)」を選択して上記でダウンロ―ドしたISOファイルを選択する
1. ゲストOSはLinux(L)を選択、バージョンは「その他のLinux 5.x カーネル64ビット」を選択
1. 「仮想マシンの名前(V)」、「場所(L)」を好きに設定 (容量が大きいのでディスク残量に注意して場所は選ぶ)
1. ディスクサイズ(GB)(S)を好きに設定、通常は「仮想ディスクを複数のファイルに分割(M)」でよい
1. 「ハードウェアをカスタマイズ(C)...」をクリックしてCPUコア数、メモリサイズなど設定できるので必要に応じて調整する
1. 完了をクリックすると仮想マシンが生成されて、一覧に仮想マシンが追加されるので選択して「仮想マシンの再生(L)」をクリックして開始

#### ゲストOSとしてARCH Linuxをインストール
1. 起動すると以下の画面が出るので一番上の「Arch Linux install medium (x86_64, BIOS) を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81374/a30badad-53f9-2a6a-b006-a4f943d4309e.png)
1. ISOメディアからBootした状態になる
1. キボードレイアウトを選択 (日本語キーボードを選択)
英語キーボードでよい場合はスキップ可
   ```
   $ loadkeys jp106
   ```
1. パーティションの作成
   * fdiskのコマンド内でデフォルト設定の場合は何も入力せずにEnterを押している
   * 起動パーティション:300MB
   * メインパーティション:残り全て (Swapパーティションはなし)
   * **最後に "w" コマンドでsaveすること***
   ```
   $ fdisk /dev/sda
   Command (m for help):
   Sellect (default p):
   Partition number(1-4, default 1):
   First Sector (...):
   Last sector, +/-sectors or +/-size ...: +300M

   Command (m for help):
   Sellect (default p):
   Partition number(1-4, default 1):
   First Sector (...):
   Last sector, +/-sectors or +/-size ...:

   Command (m for help):w
   ```
1. パーティションのフォーマット
ブートパーティションをfat32、メインパーティションをext4でフォーマット
   ```
   $ mkfs.fat -F 32 /dev/sda1
   $ mkfs.ext4 /dev/sda2
   ```
1. パーティションのマウント
   ```
   $ mount /dev/sda2 /mnt
   $ mount --mkdir /dev/sda1 /mnt/boot
   ```
1. 必須っぽいパッケージのインストール
   ```
   $ pacstrap -K /mnt base linux linux-firmware dhcpcd nano grub
   ```
   | パッケージ名 | 用途 | 
   |:-----------|------------:|
   | base       | 基本的な Arch Linux 環境を定義するための最小限のパッケージセット|
   | linux      | Linux カーネルとモジュール |
   | linux-firmware| Linux のファームウェアファイル| 
   | dhcpcd     | DHCPクライアント, ネットワーク接続に必要 <br> 無いと pacman でパッケージインストールができない|
   | nano       | テキストエディタ, 好みに合わせて変更可 |
   | grub       | ブートローダのインストールで使用 |
1. fstab の生成 (OSブート時にパーティションを自動的にマウントするための設定)
   ```
   $ genfstab -U /mnt >> /mnt/etc/fstab
   ```
1. ルートディレクトリを/mntに変更
   ```
   $ arch-chroot /mnt
   ```
1. root パスワードの設定
   ```
   $ passwd
   ```
1. ブートローダーのインストール
   VWwareはデフォルトがUEFIではなくBIOSなので下記のようにする
   ```
   $ grub-install /dev/sda
   $ grub-mkconfig -o /boot/grub/grub.cfg
   ```
1. chrootを抜けて再起動
   ```
   $ exit
   $ reboot
   ```
# インストール後の設定 (おまけ)
OSのインストールまでなら前章で終了
おまけとしてsshdをインストール
1. 起動したら root でログイン
1. ネットワーク接続
   ```
   $ ip addr show
   ```
   表示されたインタフェースのうちループバック(lo)以外のものを選択
   以下例ではeth0という名前で進める
   ```
   $ systemctl enable dhcpcd
   $ systemctl start dhcpcd
   ```
   pingコマンドでネットワークに接続できていることを確認
   ```
   $ ping www.google.com
   ```
   ipアドレスを確認しておく
   ```
   $ ip addr show
   ```
1. sshdのインストールとサービス開始
   ```
   $ pacman -S openssh
   $ systemctl enable sshd
   $ systemctl start sshd
   ```
1. sshd_configの設定
   テキストエディタで編集
   ```
   nano /etc/ssh/sshd_config
   ```
   下記のように設定するとrootでログインできる
   **危険な設定なので自己責任で**
   ```
   PermitRootLogin yes
   ```
1. putty などのssh client で 1 で確認したアドレスに接続

# 参考リンク
* Arch Linuxのパッケージ検索
   https://archlinux.org/packages/