1. Arch Linux をインストールするディスクのパーティショニング
今回はUEFI モードでインストールするのでパーティションテーブルをGPTにするのでコマンドはgdiskを利用する
現在のディスク情報を確認
1 2 3 4 5 |
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 693.5M 1 loop /run/archiso/airootfs sda 8:0 0 20G 0 disk sr0 11:0 1 813.3M 0 rom /run/archiso/bootmnt |
上記の場合、VirtualBox 上で 20 GB の仮想 HDD を作成したので、sda の SIZE が 20 GB になっています。NAME 行の sda が、ディスク全体を表すデバイス名でこのsdaにパーティショニングを行います
今回はEFIパーティションとArch Linux 用パーティションを作成しswapパーティションは作成しません
以前は、スワップ用にパーティションを一つ作って、それをスワップとして割り当てていましたが、現在は 「スワップファイル」 を使うことができるため、スワップ用のパーティションは作らなくても使用できます。
「スワップファイル」は、スワップ用に任意のサイズのファイルを一つ作成しておいて、その領域をスワップとして使う方法で、作成・削除・リサイズができます。
GPT の場合
1 2 3 4 5 6 7 8 |
# gdisk /dev/sda GPT fdisk (gdisk) version 1.0.9.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries in memory. |
・o コマンドで、空のパーティションテーブルを作成
1 2 3 |
Command (? for help):o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): Y |
・EFI システムパーティションを作成
n コマンドで、パーティションを追加
1 2 3 4 5 6 7 |
Command (? for help): n Partition number (1-128, default 1):<enter> First sector (34-41943006, default = 2048) or {+-}size{KMGTP}:<enter> Last sector (2048-41943006, default = 41940991) or {+-}size{KMGTP}: +512M 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' |
・Arch Linux 用パーティションを作成
n コマンドで、パーティションを追加
1 2 3 4 5 6 7 |
Command (? for help): n Partition number (2-128, default 2): <enter> First sector (34-41943006, default = 1050624) or {+-}size{KMGTP}:<enter> Last sector (1050624-41943006, default = 41940991) or {+-}size{KMGTP}:<enter> Current type is 8300 (Linux filesystem) Hex code or GUID (L to show codes, Enter = 8300): 8300 Changed type of partition to 'Linux filesystem' |
・パーティションテーブルをディスクに書き込み
wコマンドを使用します
1 2 3 4 5 6 |
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 |
2. 各パーティションのフォーマット
・EFI システムパーティションのフォーマット
1 2 |
# mkfs.vfat -F32 /dev/sda1 mkfs.fat 4.2 (2021-01-31) |
・Arch Linux 用パーティションのフォーマット
Linux で使えるファイルシステムにはext4 、XFSなどがありますが安定したext4を利用する
1 2 3 4 5 6 7 8 9 10 11 12 |
# mkfs.ext4 /dev/sda2 mke2fs 1.47.0 (5-Feb-2023) Creating filesystem with 5111296 4k blocks and 1277952 inodes Filesystem UUID: fbf3a302-faf6-437e-a37d-46aad906e9ab Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done |
3.Arch Linux をインストール
3.1 ネットに接続
インストールするファイル(パッケージ)は、ネットからダウンロードする必要があるので、まずは、インストールシステム上でネットに接続する必要があります。有線 LAN の場合は、起動時に自動で接続される場合がほとんど
接続確認
1 |
# ping -c 4 archlinux.jp |
3.2 時刻設定
ネットからパッケージをダウンロードする際、パソコンの時刻が正しくないと、ダウンロードできない場合があるので、ネットから時刻を調整する
1 |
# timedatectl set-ntp true |
3.3 パーティションのマウント
・Arch Linux 用パーティションのマウント
1 |
# mount /dev/sda2 /mnt |
・EFI システムパーティションのマウント
EFI システムパーティションに、ブートローダーや Linux カーネルをインストールする/mnt/boot にマウントします
1 2 |
# mkdir /mnt/boot # mount /dev/sda1 /mnt/boot |
3.4 リポジトリのサーバーを選択
・reflector コマンドを利用する場合
1 |
# reflector --sort rate --country jp --latest 10 --save /etc/pacman.d/mirrorlist |
・ミラーリストを編集する場合
Pacman Mirrorlist Generator(https://archlinux.org/mirrorlist/)でCountry:Japanのミラーサイトを開くと次の通り
##Japan
#Server = http://mirrors.cat.net/archlinux/$repo/os/$arch
#Server = https://mirrors.cat.net/archlinux/$repo/os/$arch
#Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch
#Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
#Server = https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
#Server = https://mirror.saebasol.org/archlinux/$repo/os/$arch
これらの先頭の#を削除し/etc/pacman.d/mirrorlistの最上位に貼り付ける
3.5 パッケージのインストール
最低限必要なのはbase Linux カーネル、ファームウェア、テキストエディタ (CUI) など
その他はあれば便利なツールで後からでも必要な時にインストールできます
1 |
# pacstrap /mnt base base-devel linux linux-firmware networkmanager vi vim nano openssh dhcpcd netctl wget man-db man-pages |
3.6 fstabの設定
起動時に自動的にマウントするパーティションなどの情報を、/etc/fstab のファイルに記述します。
1 |
# genfstab /mnt >> /mnt/etc/fstab |
fstab ファイルの内容を確認
1 2 3 4 |
# vim /mnt/etc/fstab /dev/sda2 / ext4 rw,relatime 0 1 /dev/sda1 /boot vfat rw,relatime,fmask=0022,... 0 2 |