Arch Linux インストール (3)

ネット接続
ここから、実際にインストールの処理に入っていきますが、インストールするファイル (パッケージ) はネットからダウンロードする必要があるので、まずは、インストールシステム上でネットが使えるようにするため、ネットに接続する必要があります。

有線 LAN の場合は起動時に自動で接続されている場合がほとんどですが、接続に失敗した場合は、手動で設定する必要があります。
無線 LAN の場合は、手動で接続する必要があります。
接続確認
ネットに接続されているかどうか確認したい場合は、以下のコマンドを実行します。

# ping archlinux.jp

実行中はずっと送受信が繰り返されるので、エラーがなければ、Ctrl+C を押して中断してください。
有線 LAN で接続
>> ネットワーク設定 - ArchWiki

有線 LAN の場合、通常は自動で接続されていますが、接続に失敗していた場合は、手動で設定する必要があります。
失敗することはあまりないと思うので、問題があった場合は、上のページで詳細を確認してください。
無線 LAN で接続
無線 LAN は接続手順が多いので、別ページにまとめました。
>> 無線 LAN 接続

インストールシステム上で接続する場合も、上記とほぼ同じ手順を行う必要があります。

最低限の動作で行うなら、インターフェイス名の確認・立ち上げと、wifi-menu コマンドでの接続を行います。

(wlp* のインターフェイス名確認)
# ip link

(インターフェイスを立ち上げる)
# ip link set wlp2s0 up

(指定インターフェイスで接続)
# wifi-menu wlp2s0
時間調整
ネットからパッケージをダウンロードする際、パソコンの時刻が正しくないと、ダウンロードできない場合があるので、ネットから時刻を調整します。

一度 Linux をインストールしていて、時刻が正しいのがわかっているなら、行わなくても良いです。
(Windows から乗り換える場合、時刻の記録基準が異なっているので、必ず実行してください)

# timedatectl set-ntp true
パーティションのマウント
インストールを行う前に、インストール先のパーティションをマウントする必要があります。

Linux では、マウントを行わないと、パーティションやメディア内のファイルにアクセスできません。
任意のディレクトリにパーティションを割り当てて、ファイルの読み書きが出来るようにします。

今回は、インストール作業として、/mnt ディレクトリにインストール先のパーティションをマウントします。
/mnt は、マウント用としてあらかじめ用意されているディレクトリです。

マウント以降、/mnt ディレクトリ以下を操作すると、マウントしたパーティション内のファイルを操作するのと同じことになります。
マウント
Arch Linux 用パーティション
まずは、Arch Linux をインストールするためのパーティションを /mnt にマウントします。
パーティションのデバイス名は、自分の環境用に置き換えてください。
今回の場合、sda1 を UEFI ブート用にしているので、sda2 が Arch Linux 用になります。

# mount /dev/sda2 /mnt

UEFI ブートパーティション
UEFI ブート用のパーティションがある場合は、それを /mnt/boot にマウントします。

boot ディレクトリは存在しないので、先に mkdir コマンドでディレクトリを作成します。
この場合、「/mnt/boot ディレクトリを作成する」 = 「パーティション内に /boot ディレクトリを作成する」 となります。

# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot

他に、/home などのパーティションを作成した場合は、同じようにそれらもマウントしておきます。
データ保存用のパーティションなどは、インストール時に使わないので、今はマウントしなくて構いません。
サーバーのミラーを選択
パッケージをダウンロードするためのサーバーのミラーを選択します。
Arch Linux 用のサーバーは各国ごとにいくつかミラーが存在しますが、デフォルトのままだとダウンロードが遅いので、日本のサーバーを選択します。

ミラーのリストは、/etc/pacman.d/mirrorlist のテキストファイルに保存されています。
このファイルを編集し、使いたいミラーの URL を先頭に持ってくることで、ミラーの優先度を変更できます。

コマンドライン上でテキストファイルを編集するには、nano コマンドなどを使います。

# nano /etc/pacman.d/mirrorlist

起動すると、テキスト編集画面になるので、上下キーや PageUp/Down でスクロールして、日本のサーバーを探します。

ただし、国別にまとまっていないため、見つけにくいので、検索機能を使います。
Ctrl+W で検索できるので、Japan と入力して Enter で、日本のサーバーの行が検索できます。
Alt+W で次の位置を検索できます。

おそらく、一番最初に見つかるサーバーは jaist だと思います。

サーバーは、jaisttsukuba を使うのが良いです。
tsukuba は、速度的には速いのですが、たまに接続できない時や遅い時があり、少し不安定です。
jaist は、速度的にはまあまあですが、接続できないことはほとんどないので、安定しています。

使うサーバーが決まったら、Alt+6 で、URL の行をコピーします。
PageUp でスクロールして先頭に戻り、Ctrl+U でコピーした行を貼り付けます。
(どの 「Server =」 よりも一番上に置くこと)

先頭のサーバーが接続できない場合、その次に記述されているサーバーが使われるので、サブのサーバーとして、他の日本サーバーを下に置いておくと良いでしょう。

編集が終わったら、Ctrl+X で終了します。
変更を保存するかどうか聞かれるので、y を入力します。
その後、保存ファイル名の指定になるので、そのまま Enter で上書きします。
インストール
Arch Linux の基本パッケージをダウンロードして、インストールします。

# pacstrap /mnt base base-devel

pacstrap は、インストール用のシェルスクリプトです。
Linux システムに必要なディレクトリを作成し、指定パッケージをインストールします。
パッケージについて
basebase-devel は、パッケージグループ名です。
複数のパッケージがまとまっていて、そのパッケージをインストールすれば、グループ内のすべてのパッケージをインストールできます。

base は、一番基本となるパッケージグループです。一覧は こちら
base-devel は、開発用などのパッケージグループです。一覧は こちら

base-devel は、gcc (C コンパイラ) など、基本的に開発時に使うパッケージが多いですが、Arch Linux ではそれらを使うことも多いと思うので、入れておいたほうが良いです。
sudo など、よく使うようなパッケージも含まれています。

他にインストールしたいパッケージがある場合は、ここで指定して同時にインストールすることもできますが、後で pacman コマンドを使ってインストールすることもできます。

※ インストールシステムに存在するコマンド等がすべて base パッケージに入っているとは限りません。
特に、無線 LAN 接続に関するパッケージは含まれていないので、別途インストールする必要があります。
最低でも、WPA 暗号化に対応するために wpa_supplicant パッケージが必要です。
実行後
コマンド実行後、まずはダウンロードが行われ、その後、/mnt に対してインストールが行われます。
終了するまでしばらく待ってください。
ダウンロードが遅いと時間がかかりますが、インストール自体はそれほど時間はかかりません。

以降は、/mnt 以下のファイルを操作して、インストールしたシステム内の設定を行っていきます。
fstab
>> fstab - ArchWiki

/etc/fstab のファイル内容を編集して、起動時に自動的にマウントするパーティションなどのファイルシステムを定義します。
ここで、最低限 Arch Linux 用のパーティションを指定しておかないと、Arch Linux の起動ができません。

インストールした Arch Linux 内のファイルを編集するので、対象のパスは /mnt/etc/fstab となります。

なお、パーティションの状態とファイルシステムを確認したい場合は、以下のコマンドを使います。

# lsblk --fs
genfstab コマンド
すべて手動で内容を書き込むこともできますが、genfstab コマンドを使うと、自動で現在マウントされているパーティションを検索して、適切な値を書き込むことができます。

# genfstab -U /mnt >> /mnt/etc/fstab

-U オプションは、/dev/sda1 などの代わりに UUID を使ってパーティションを指定します。
どちらで指定しても構いませんが、HDD などの構成を頻繁に変えることがあるなら、UUID を使った方が良いです。
※ 設定後にパーティションのフォーマットを行うと UUID が変わるので、注意してください。
/dev/sda1 などで指定したい場合は、-U を取り除いてください。

>>」 は、genfstab で出力されたテキストを、指定ファイルに追記します。
fstab ファイルには、デフォルトでコメントとして設定項目のヒントが書かれているので、その後に、出力された情報を追加するという形で書き込みます。
確認
fstab ファイルの内容を確認します。

# nano /mnt/etc/fstab

今回の場合、sda1 が UEFI ブート用、sda2 が Arch Linux 用なので、以下のようになります。

...
# /dev/sda2 LABEL=arch
UUID=35ec0740-2208-485a-9d06-e15289eb25ee   /  ext4  rw,relatime,data=ordered   0 1

# /dev/sda1
UUID=120B-1CA0  /boot  vfat  rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro    0 2

まずは、Arch Linux 用のパーティションが先に定義されます。
次に、UEFI ブート用のパーティションが定義されます。

各項目は、空白で区切って、それぞれ、「デバイス名や UUID」「マウントディレクトリ名」「ファイルシステムタイプ」「オプション」「dump : dump コマンドでバックアップを行うか」「pass : fsck のチェックをするか」となっています。

基本的に、genfstab で出力された情報をそのまま使えば問題ありません。
追加
自動マウントさせるファイルシステムを追加したい場合は、その情報を追記します。

今回の場合、sda3 のデータ用のパーティションはマウントしていないので、genfstab はそれらの情報を出力しません。
手動で追加するなら、以下のようになります。

/dev/sda3  /mnt/data  ext4  rw,relatime,data=ordered  0 2

マウントディレクトリは、/mnt/data としました。
自分で手動でマウントする場合、それ用のマウントディレクトリが必要になります。
名前は何でも良いのですが、今回はデータ用なので、data としました。

ファイルシステムは ext4 で、オプションは Arch Linux 用のパーティションと同じです。
dump は基本的に 0 にしておきます。

pass の項目は、Arch Linux 用では 1 でしたが、データ用では 2 にしています。
これは、fsck でのファイルシステムのエラーなどのチェックを行うかどうかの値です。

0チェックを行わない。スワップ用などで指定する。
1一番最初にチェックを行う。Linux システムのルート (/) で指定する。
21 のファイルシステムをチェックした後に、チェックを行う。
データ用など、Linux ルート以外のパーティション用。

btrfs の場合、pass はすべて 0 にする必要があります。

基本的に、Linux システム用のパーティションのみ 1、それ以外は 2、チェックを行う必要がなければ 0 とします。
次へ
次からは、インストールしたシステム内に入って、直接細かい設定を行っていきます。

>> インストール (4)