Arch Linuxを使いたくなったのでVMware上に仮想マシンを設けることにしました。
環境:
Windows11
VMware workstation Pro 16
Playerでも同様に設定できる気がします。
新規VMの作成:
ISOファイルをダウンロードしてきたら、VMwareを起動し、
Create a New VM -> Typicalを選択して次に進みます。VersionはOther Linux 5.x kernel 64-bitを選択します。他名前や保存場所は適当に設定して、作成前でも後でもいいのでネットワークアダプターの接続をブリッジに変更しておきます。
あとはRAMやCPUをお好みで割り当てておきます。今回は
CPU:4コア
RAM:8GB
ROM:50GB
としました。
これで完了!...の前に作成したVMが保存されているフォルダまで行って、VM名.vmxファイルを何かしらで開きます。
そして「firmware="efi"」を追記して保存をしますが、文字コードをANSIにしておかないと文字化けしてVMが起動できなくなるらしいので注意が必要です。
インストール:
デフォルトのキー配列がUS ANSI配列になっているので、一般的なJISキーボードを使っている場合は
# loadkeys jp106
と入力しレイアウトを変更しておく必要があります。
この段階でsshdを起動しておくとクライアントから接続できるのでコードをコピペできて楽らしいです。
# systemctl start sshd
後公式では最初に時刻設定をしておくのを推奨していますが私はすっぽかしていたのでやっていません。
# timedatectl set-ntp true
システムをインストールするためにはパーティションを作成する必要があります。素のArch LinuxはUEFIを使うので、ESP・swap・データ用の3つが必要です。Red Hat曰くRAM容量が2~8GBの場合RAMと同じ要領のスワップ領域を確保することが推奨だそうですが、3GBくらいでいいという記述をどこかで見たことある気がするので、
ESP:512MB
swap:3GB
data:他全部
で行こうと思います。
コマンドを全部記載すると長くなる
というか調べれば出てくるので簡潔にですが、
# gdisk /dev/sdaでディスクを開く
oオプションでディスクをクリア
nオプションで3つのパーティションを作成する
wオプションで変更を保存
という流れになります。
今回は
ESP:/dev/sda1
swap:/dev/sda2
data:/dev/sda3
になっています。
パーティション
パーティションを作成したらフォーマットが必要になります。
ESPはFAT32でフォーマットする必要があります。
# mkfs.fat -F 32 /dev/sda1
or
# mkfs.vfat -F32 /dev/sda1
(dataパーティションはext4でもBtrfsでもお好みで)
swapはボリューム作成後有効にする必要があります。
# mkswap /dev/sda2
# swapon /dev/sda2
さらにパーティションを使うにはマウントする必要があります。
まずルートボリュームをマウントします。
# mount /dev/sda3 /mnt
ESPは/mnt/bootにマウントしておかないといけません。
# mount --mkdir /dev/sda1 /mnt/boot
フォーマットとマウント
これでディスクが使えるようになったので、パッケージをインストールします。
ミラーリストを編集して日本のサーバーを選択するとインストールが速くなります。
# vi /etc/pacman.d/mirrolist
サーバーが列挙されている先頭に
Server = http://mirror.archlinuxjp.org/$repo/os/$archlinuxjpを追記
必須パッケージはbase・linuxですが、システムを完全に機能させるには他にも入れておいた方が良いものがあったりします。
今回は参考にさせていただいたサイトのまんまで
# pacstrap /mnt base base-devel linux linux-firmware btrfs-progs intel-ucode vi vim nano dosfstools efibootmgr openssh dhcpcd netctl ccache zsh zsh-completions zsh-syntax-highlighting wget man-db man-pages screenfetch
としました。
システム設定:
まずfstabを生成します。fstabはマウントの設定を記述しておくファイルです。
# genfstab -U /mnt >> /mnt/etc/fstab
設定を行うため先ほどシステムをインストールした/mntにchrootします。chrootすると/mntをルートディレクトリとして扱います。
# arch-chroot /mnt
タイムゾーンを設定します。私は日本在住なので東京に設定します。
# ln -sf /usr/share/zoninfo/Asia/Tokyo /etc/localetime
# hwclock --systohc
次にロケールを設定します。
/etc/locale.genを編集して使用する言語のコメントを外します。
日本語を使いたいので
en_US.UTF-8 UTF-8(必須)
ja_JP.UTF-8 UTF-8
をアンコメントし、
# locale-gen
を実行してロケールを生成します。
この段階で日本語に設定すると文字化けするらしいのでしばらくは英語に設定しておきます。
# echo LANG=en_US.UTF-8 . /etc/locale.conf
JISキーボードを使う場合はキーマップを変更しておきます。
# echo KEYMAP=jp106 > /etc/vconsole.conf
ホストネームを決めます。今回はarch64にしました。
# echo arch64 > /etc/hostname
/etc/hostsも設定します。
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch64.lcaldomain arch64
パスワードも設定しておきます。
# passwd
ネットワークのためにsshd・systemd-networkd・systemd-resolved・dhcpcd.serviceデーモンの自動起動を有効にします。
# sysemctl enable <デーモン>
最後に、起動のためにはブートローダーが必要です。
ひとまず今回はGRUBを使いました。
# pacman -S grub
設定をします。
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
# grub-mkconfig -o /boot/grub/grub.cfg
chroot環境を抜けて再起動すれば一通りの作業は完了です。
# exit
# reboot
大概のディストリビューションならほとんど自動で行ってくれる作業ですが、自分でやってみるのもそれはそれで楽しいものだと思います。人によるでしょうが。
参考URL:
https://wiki.archlinux.jp/index.php/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89#.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E3.83.A1.E3.83.87.E3.82.A3.E3.82.A2.E3.81.AE.E6.BA.96.E5.82.99
https://qiita.com/nakayumc0278/items/dd800aaf8b31035d7be3
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-swapspace