Arch Linux のインストール
ずいぶん前に Linux の勉強のため Plamo Linux を触っていたのですが、再入門という事でドキュメントがしっかり用意されている Arch Linux で再度勉強していきます。
まずは、最小構成でのインストールについて作業を記録していきます。
Arch Linux のドキュメントは、とても詳細に作成されていますので、このページは個人的なメモとしてのページになります。
Arch Linux のインストール準備
Arch Linux の公式ページにあるダウンロードリンクから Arch Linux のインストールイメージをダウンロードします。
ページ内のファイル名の最新日付が含まれる archlinux-[日付]-x86_64.iso をダウンロードします。
ダウンロードした iso イメージファイルからブートし、インストールを開始します。
しばらく待つと、 archiso の画面が起動します。
archiso は、 Arch Linux のインストールに必要な最低限のパッケージが詰まった環境で、ここからインストールを進めていきます。
キーボードレイアウトの変更
最初にキーレイアウトを変更します。
# loadkeys jp106
パーティションの設定
Arch Linux のインストールに使用するパーティションを構成します。今回は、UEFI(GPT)環境での構築で進めます。
まず、パソコンに接続されているブロックデバイス(ハードディスクや SSD、CD、DVD、USB メモリーなど)を確認します。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 846.7M 1 loop /run/archiso/airootfs
sda 8:0 0 30G 0 disk
sr0 11:0 1 1.2G 0 rom /run/archiso/bootmnt
GPT 形式のパーティションで構成するため、 gdisk コマンドを使用してパーティションを設定します。パーティションの割り方については、 Arch Wiki のインストールガイドの例を参考に設定します。
# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.10
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries in memory.
Command (? for help): 「o」と入力
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): [y]
Command (? for help): [n] //EFI
Partition number (1-128, default 1): []
First sector (34-62914526, default = 2048) or {+-}size{KMGTP}:[]
Last sector (2048-62914526, default = 62912511+1G) or {+-}size{KMGTP}: [+500M]
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): [ef00]
Changed type of partition to 'EFI system partition'
Command (? for help): [n] //root
Partition number (2-128, default 2): []
First sector (34-500118158, default = 2099200) or {+-}size{KMGTP}: []
Last sector (2099200-500118158, default = 500117503) or {+-}size{KMGTP}: [-2G]
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): []
Changed type of partition to 'Linux filesystem'
Command (? for help): [n] //swap
Partition number (3-128, default 3): []
First sector (34-500118158, default = 483342336) or {+-}size{KMGTP}: []
Last sector (483342336-500118158, default = 500117503) or {+-}size{KMGTP}: []
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): [8200]
Changed type of partition to 'Linux swap'
Command (? for help): [p] //確認
Disk /dev/sda: 62914560 sectors, 30.0 GiB
Model: VBOX HARDDISK
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 2772B865-E216-4509-928B-7377909967EE
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 62914526
Partitions will be aligned on 2048-sector boundaries
Total free space is 4062 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1026047 500.0 MiB EF00 EFI system partition
2 1026048 58720222 27.5 GiB 8300 Linux filesystem
3 58720256 62912511 2.0 GiB 8200 Linux swap
Command (? for help): [w] //確認して書き込む
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): [y]
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
作成したファイルシステムをフォーマットします。
# mkfs.fat -F 32 /dev/sda1
# mkfs.ext4 /dev/sda2
# mkswap /dev/sda3
フォーマットしたパーティションをマウントします。
# mount /dev/sda2 /mnt
# mount --mkdir /dev/sda1 /mnt/boot
# swapon /dev/sda3
ここまでで Arch Linux をインストールするためのインストール先の準備ができました。
Arch Linux のインストール
インストールされるパッケージは、 /etc/pacman.d/mirrorlist に定義されているミラーからダウンロードされるようですが、速度が早く同期頻度の高いミラーからダウンロードされるように reflector コマンドでミラーリストを更新します。
# reflector --country 'Japan' --age 24 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
それでは、最小構成で必要なパッケージをインストールします。
# pacstrap -K /mnt base linux linux-firmware
システムの設定
基本パッケージのインストールが終わったので、システム周りの設定をします。
まず、OS が起動する際にどのデバイスにどのディレクトリをマウントするか指定する「 fstab 」ファイルを生成します。
# genfstab -U /mnt >> /mnt/etc/fstab
インストールしたシステムに chroot で入ります。 ※Bash スクリプト arch-chroot(/usr/bin)
# arch-chroot /mnt
[root@archiso /]#
タイムゾーンを日本(Tokyo)に設定します。
# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ハードウェアクロックの設定( /etc/adjtime )を生成します。
# hwclock --systohc
ロケールの設定
次はロケールの設定になるのですが、テキストエディタが必要なため vim をインストールします。
# pacman -Syyu
# pacman -S vim
pacman はパッケージマネージャで-Syyu とするとパッケージリストを更新し、インストール済みのパッケージを更新してくれます。
パッケージをインストールするときは、-S オプションとパッケージ名を指定します。
インストールしたテキストエディタで /etc/locale.gen を開きます。
# vim /etc/locale.gen
コメントアウトされたロケールが表示されるので、次の 2 行をコメントアウトするか先頭行に直接追記します。
ja_JP.UTF-8 UTF-8
en_US.UTF-8 UTF-8
上記で指定したロケールのデータを生成するため、 locale-gen を実行します。
# locale-gen
Generating locales...
en_US.UTF-8... done
ja_JP.UTF-8... done
Generation complete.
システム全体のロケールを設定するため、locale.conf に LANG 環境変数を設定します。
# echo LANG=ja_JP.UTF-8 > /etc/locale.conf
コンソールキーマップを設定します。
次のコマンドで使用可能なキーマップを確認します。
# localectl list-keymaps | grep -i jp
jp106
106 キーボードレイアウトが指定できますので、 vconsole.conf に設定します。
# echo KEYMAP=jp106 > vconsole.conf
ホスト名の設定
任意のホスト名を設定します。(ここでは、hogehost とします)
# echo hogehost > /etc/hostname
ブートローダーのインストール
ブートローダーをインストールしていきます。
ブートローダーには、 LILO ・ GRUB ・ Limine ・ rEFInd などいくつかの種類がありますが、今回は GRUB を選択します。
GRUB のインストールとインストールに必要な efibootmgr をインストールします。
※efibootmgr はブートエントリを NVRAM に書き込むために GRUB のインストールスクリプトによって使用されるそうです。
# pacman -S grub
# pacman -S efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
Installing for x86_64-efi platform.
Installation finished. No error reported.
# grub-mkconfig -o /boot/grub/grub.cfg
ユーザー関係の設定(とりあえずのセキュリティ対策)
別途セキュリティー設定についても勉強していきますが、はじめの一歩として root のパスワードを設定します。
# passwd
root の使用はよろしくないので一般ユーザーを作成します。
sudo コマンドを使って一時的に root 権限を与えられるように wheel グループにも属すようにします。
# useradd -m -g users -G wheel -s /bin/bash hoge-user
# passwd hoge-user
sudo をインストールします。
# pacman -S sudo
wheel グループにも属すユーザーに権限を与えるため /etc/sudoers を編集します。
# vim /etc/sudoers
/etc/sudoers ファイルの次の部分をアンコメントします。
%wheel ALL=(ALL:ALL) ALL
最小限の構成ができたので、 chroot から抜けて再起動します。
# exit
# reboot
再起動すると、GRUB の画面が出てきて OS が起動しログインプロンプトが表示されます。作成した一般ユーザーでログインできれば、 Arch Linux のインストールは完了です。
日本語設定にしていますので、文字化けする場合は次のコマンドで一時的に英語へ変更することができます。
$ export LANG=C