# Beginners' Guide/Installation (日本語)

Tip: このページはビギナーズガイドの一部分です。全ての内容を一覧するならここをクリック。

## インストール

シェルプロンプトが表示されていて、root として自動的にログインされている状態です。テキストファイルを編集する時は、コンソールエディタの nano を例として使います。使い方をよく知らない場合は、nano (日本語)#nano の使用方法 を見て下さい。Windows とのデュアルブートをする（もしくはそうすることを計画している）場合、Windows and Arch Dual Boot (日本語) を見て下さい。

### 言語の選択

Tip: これらはユーザーの大多数には必須ではありません。設定ファイルをあなたの使う言語で書いたり、Wi-Fi パスワードで区別的発音符を使ったり、もしくはあなたの言語でシステムメッセージ(例えばエラー)を見たいときだけに役に立ちます。ここでの変更はインストールプロセスにだけ適用されます。

標準で、キーボードのレイアウトは `us` に設定されています。もし、US キーボード以外のレイアウトを使用している場合は、

    # loadkeys layout

で変更できます。layout の部分は `jp106`、`fr`、`uk`、`be-latin1` などとします。ここから一般的なリストを見ることができます。利用可能なキーマップを表示するには `localectl list-keymaps` コマンドを使って下さい。

Warning: 以下はフォントと言語の設定ですが、この段階では、日本語を表示することはできません。キーマップの変更だけに留めて下さい。

フォントも変える必要があるかもしれません。ほとんどの言語はアルファベットの26字よりも多くの文字を使っているからです。さもなければ文字が□（豆腐）になったり全く異なって表示されることがあります。フォントの名前は大文字・小文字を区別するので、正確に入力してください:

    # setfont Lat2-Terminus16

標準では、言語は英語 (US) に設定されています。インストール中の言語を変更したい場合 (例: 日本語)、`/etc/locale.gen` 内のあなたの設定したいロケールの行と、英語 (US) の行から行頭の `#` を削除します。`UTF-8` を選択してください。

シンプルな Nano エディタで編集するには、`nano /etc/locale.gen` と入力してください。`Ctrl+X` で終了し、変更を保存するか聞かれたら `Y` と、 `Enter` を押せば同じファイル名で上書き保存します。

    # nano /etc/locale.gen

    en_US.UTF-8 UTF-8
    ja_JP.UTF-8 UTF-8

    # locale-gen
    # export LANG=ja_JP.UTF-8

### インターネット接続の確立

Warning: v197 以降、udev はネットワークインターフェースの名前を wlanX や ethX といった風に名づけません。あなたが他のディストリビューションを使っていたり Arch を再インストールするつもりであり、新しい命名規則を知らないのならば、あなたのワイヤレスインターフェースの名前が wlan0 だとか、有線インターフェースの名前が eth0 だと思い込まないでください。`ip link` コマンドでインターフェースの名前を調べることができます。

systemd-197 リリース以降、udev は伝統的な増加式の命名規則 (例: `wlan0`, `wlan1`) をやめて、予測可能な安定したネットワークインターフェースの名前を使うようになりました。新しいインターフェースの名前は再起動しても変わらないことが保証されていて、ネットワークインターフェースの名前がどう命名されるか予想できないという問題を解決しています (詳しくは Predictable Network Interface Names を読んで下さい)。

`dhcpcd` ネットワークデーモンはブート時に自動で起動され、可能であれば有線での接続を試みます。接続できているかウェブサイトに ping をして確かめて下さい。例えば Google のサーバーに ping します:

    # ping -c 3 www.google.com

    PING www.l.google.com (74.125.132.105) 56(84) bytes of data.
    64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=1 ttl=50 time=17.0 ms
    64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=2 ttl=50 time=18.2 ms
    64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=3 ttl=50 time=16.6 ms

    --- www.l.google.com ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms
    rtt min/avg/max/mdev = 16.660/17.320/18.254/0.678 ms

`ping: unknown host` のエラーが出た場合は下に記述されている方法を試して手動で接続をセットアップする必要があります。

ネットワークに接続されていたら、ドライブの準備へ進んでください。

#### 有線

もしあなたが固定 IP アドレスを使用して有線の接続をセットアップする場合は次の手順に従ってください。

まず、起動時に自動的に起動する dhcpcd サービスを無効にして下さい:

    # systemctl stop dhcpcd.service

あなたのイーサネットインターフェースの名前を確かめて下さい。

    # ip link

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
        link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff
    3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
        link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff

上の場合、イーサネットインターフェースは `enp2s0f0` です。よくわからない場合、あなたのイーサネットインターフェースは "e" から始まっているものだと思われます。"w" で始まっているものや "lo" ではないということです。

また、あなたは以下の設定を知っている必要があります:

- 固定 IP アドレス
- サブネットマスク
- ゲートウェイの IP アドレス
- ネームサーバー (DNS) の IP アドレス
- ドメインの名前(ローカル LAN でない場合)

接続に使用するインターフェースを有効化します。例: `enp2s0f0`

    # ip link set enp2s0f0 up

IP アドレスを設定します。

    # ip addr add ip_address/mask_bits dev interface_name

例:

    # ip addr add 192.168.1.2/24 dev enp2s0f0

他のオプションについては `man ip` を見て下さい。

ゲートウェイをこのように追加します。自分のゲートウェイの IP アドレスに置き換えてください。

    # ip route add default via <ip address>

例:

    # ip route add default via 192.168.1.1

`resolv.conf` を編集します。自分のネームサーバーの IP アドレスと自分のローカルのドメインに置き換えてください。

    # nano /etc/resolv.conf

    nameserver 61.23.173.5
    nameserver 61.95.849.8
    search example.com

Note: 現在、`nameserver` の行は最大で3つまで含めることができます。この制限を越えるために、dnsmasq などのローカルキャッシュネームサーバを使うことができます。

これでネットワーク接続は有効になるはずです。ならない場合、Network Configuration (日本語) を確認してください。

#### 無線

インストール中にワイヤレス接続(Wi-Fi)をセットアップする必要がある場合は以下の手順に従ってください。

まず、あなたのイーサネットインターフェースの名前を確かめて下さい。

    # iw dev

    phy#0
            Interface wlp3s0
                    ifindex 3
                    wdev 0x1
                    addr 00:11:22:33:44:55
                    type managed

上の例では、`wlp3s0` が有効なワイヤレスインターフェースです。どれかわからないときは、おそらく "w" から始まるのがあなたのワイヤレスインターフェースです。"lo" や "e" から始まるインターフェースは違います。

Note: このようにアウトプットされない場合、ワイヤレスドライバがロードされていません。その場合は、手動でドライバをロードする必要があります。詳しくは Wireless Setup (日本語) を見て下さい。

次に、netctl の `wifi-menu` を使いネットワークに接続します。`wlp3s0` はあなたのインターフェイスの名前に置き換えて下さい:

    # wifi-menu wlp3s0

これでネットワークは有効になるはずです。接続されないときは、Wireless Setup (日本語) のページを確認してください。

##### wifi-menu を使わない方法

インターフェースを立ち上げます:

    # ip link set wlp3s0 up

インターフェイスが立ち上がっているか確認するには、次のコマンドの出力を見て下さい:

    # ip link show wlp3s0

    3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
        link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff

`<BROADCAST,MULTICAST,UP,LOWER_UP>` の中にある `UP` がインターフェイスが立ち上がっている印です。後ろの `state DOWN` は違います。

ほとんどのワイヤレスチップセットには、対応するドライバに加えて、ファームウェアが必要です。カーネルが自動で検知してロードを試みます。`SIOCSIFFLAGS: No such file or directory` のようなエラーが出た場合、ファームウェアを手動でロードする必要があることを意味しています。必要なファームウェアがわからないときは、`dmesg` を使いカーネルログからワイヤレスチップセットのファームウェア要求をさがします。例えば、カーネルの起動時に Intel チップセットが出力するファームウェア要求の例:

    # dmesg | grep firmware

    firmware: requesting iwlwifi-5000-1.ucode

なにも表示されないなら、あなたのワイヤレスチップセットにはファームウェアが要らないと判断できます。

Warning: (カードのための) ワイヤレスチップセットファームウェアのパッケージは (CD・USB スティックの) ライブ環境の `/usr/lib/firmware` の下にインストール済みですが再起動後にワイヤレスを使うためには、システムにそれをインストールしなくてはなりません！パッケージのインストールはガイドの後ろで触れています。再起動する前にワイヤレスモジュール・ファームウェアをインストールすることを覚えていてください。もしあなたのチップセットがファームウェアのインストールを必要としているか不明な場合は Wireless Setup (日本語) を見て下さい。

`iw dev wlp3s0 scan | grep SSID` を使って利用可能なネットワークをスキャンして、それからネットワークに接続してください:

    # wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")

ssid はネットワークの名前に (例: "Linksys etc...")、psk はパスワードに置き換える必要があります (ネットワークの名前とパスワードを囲っているダブルクォートは消さないで下さい, 例: ネットワークのパスワードが dog の場合、"dog" と入力)。

最後に、インターフェースに IP アドレスを与える必要があります。手動で設定するか dhcp を使ってこれを行なって下さい:

    # dhcpcd wlp3s0

上のコマンドでうまくいかない場合、以下のコマンドを実行してください:

    # echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf
    # wpa_passphrase <ssid> <passphrase> >> /etc/wpa_supplicant.conf
    # ip link set <interface> up # May not be needed, but does no harm in any case
    # wpa_supplicant -B -D nl80211 -c /etc/wpa_supplicant.conf -i <interface name>
    # dhcpcd -A <interface name>

wpa_supplicant がドライバーがサポートされていないとエラーを出力する場合は、`-D nl80211` パラメータを省いてみて下さい:

    # wpa_supplicant -B -c /etc/wpa_supplicant.conf -i <interface name>

#### アナログモデム, ISDN, PPPoE DSL

xDSL・ダイアルアップ・ISDN接続については、Direct Modem Connection を見て下さい。

#### プロクシサーバを使う

プロクシサーバを使うには、`http_proxy` , `ftp_proxy` 環境変数を設定しなくてはなりません。 詳しい情報は Proxy settings を見て下さい。

### ドライブの準備

Warning: パーティショニングはデータを破壊することもあります。実施する前に、重要なデータをバックアップすることを強く推奨します。
Note: USB フラッシュキーにインストールする場合は、Installing Arch Linux on a USB key を見て下さい。
Tip: LVM, disk encryption, RAID などのスタックブロックデバイスを作成したい場合は、この段階で行います。

#### パーティションテーブルのタイプの選択

GUID Partition Table (GPT) と Master Boot Record (MBR) のどちらかを選ぶ必要があります。GPT のほうが新しく、新しくインストールする場合に推奨されます。Partitioning (日本語)#GPT か MBR の選択 も参照してください。

- UEFI ブートでは GPT を使うことが常に推奨されます、UEFI ファームウェアによっては UEFI-MBR ブートができないからです。
- いくつかの BIOS システムでは GPT を選ぶと問題が発生することがあります。詳しい情報と回避方法は http://mjg59.dreamwidth.org/8035.html や http://rodsbooks.com/gdisk/bios.html にあります。

#### パーティションツール

全くの初心者はグラフィカルなパーティショニングツールを使うことが推奨されます。よく使われるものに GParted があり、"ライブ" CD が利用可能です。GParted は Ubuntu , Linux Mint のような Linux ディストリビューションのライブ CD にも含まれています。ドライブを利用するにはまずパーティションし、再起動前にファイルシステムでフォーマットしなくてはなりません。

Tip: Gparted を使う場合、デフォルトでは新しいパーティションテーブルを作成するオプションを選ぶと "msdos" パーティションテーブルが作られます。GPT パーティションテーブルを作成するときは、「高度な設定」を選びドロップダウンメニューから "gpt" を選択してください。

gparted はずっと使いやすいですが、新しいディスクにパーティションを少しだけ作成したい場合は、インストールメディアに含まれている fdisk のバリアントの一つを使えば素早くパーティションが作れます。gdisk と fdisk 両方の簡単な使用方法があります。

#### パーティションテーブルを消去する

既存のパーティションを維持しないで、全てを初めからやりたい場合、次のコマンドでパーティションテーブルを消去することが可能です。消去することで新しいパーティションの作成が簡単になり、MBR から GPT へのディスクの変換などの問題を回避できます。

    # sgdisk --zap-all /dev/sda

#### パーティションスキーム

ディスクをいくつのパーティションに分けるか決めて、それぞれのパーティションにシステム上のディレクトリを割り振ることができます。パーティションからディレクトリへのマッピング (しばしば 'マウントポイント' と呼ばれます) がパーティションスキームになります。一番シンプルで、かつ悪くない選択肢は、ひとつの大きな `/` パーティションしか作成しないことです。また、`/` に加えて `/home` パーティションを作ることもよく行われます。

追加の必要パーティション:

- UEFI マザーボードを使っている場合、特別な UEFI System Partition (約 1GiB を推奨) を作成する必要があります。
- BIOS マザーボードを使っている場合 (もしくは BIOS 互換モードで起動する場合) で GPT でパーティションされたドライブに GRUB をセットアップするには、特別な BIOS Boot Partition (容量 1 または 2 MiB, タイプコード `EF02`) を作成する必要があります。Syslinux では必要ありません。
- システムの Disk_encryption をする必要がある場合、パーティションスキームに反映しなくてはなりません。システムをインストールした後に暗号化したフォルダ・コンテナや home ディレクトリを追加するのが簡単です。
- ext4 以外のファイルシステム (F2fs など) を root ファイルシステムに使うつもりならば、まず GRUB がファイルシステムをサポートしているか確認する必要があります。もしサポートされていない場合 GRUB と互換のあるパーティション (ext4 など) を作成して、それを `/boot` に使わなくてはなりません。

スワップパーティションやスワップファイルを設定したいのなら Swap (日本語) を参照してください。スワップはインストール後いつでも作成でき、スワップファイルはスワップパーティションよりリサイズが簡単です。ただし Btrfs ではスワップファイルは使うことができません。

すでにパーティションを作成済みならば、ファイルシステムの作成に進んで下さい。

そうでなければ、次のサンプルを読んでください。

#### サンプル

Arch Linux インストールメディアは次のパーティショニングツールを含んでいます: `fdisk`, `gdisk`, `cfdisk`, `cgdisk`, `parted`。

Tip: システムに接続されているハードディスクと既存のパーティションのサイズを一覧するには `lsblk -f` または `lsblk -o NAME,FSTYPE,SIZE,LABEL` コマンドを使って下さい。正しいディスクをパーティションしているか確かめるのに役立ちます。

この例ではシステムに 15 GB の root パーティションと 残りスペース全ての home パーティションを作ります。MBR か GPT どちらかを選んで下さい。

パーティショニングの設定は人それぞれのもので、この例は具体的な説明のためだけにあります。Partitioning (日本語) を見て下さい。

##### cgdisk を使って GPT パーティションを作成する

cgdisk を起動します:

    # cgdisk /dev/sda

Root

- New を選択 (もしくは `N` キーを押す) – `Enter` で最初のセクタ (2048) – `15G` と入力 – `Enter` でデフォルトのヘックスコード (8300) – `Enter` で空のパーティション名。

Home

- ↓を押してフリースペース (Free Space) まで移動。
- New を選択 (もしくは `N` キーを押す) – `Enter` で最初のセクタ – `Enter` でドライブの残りを利用 (もしくは好きなサイズを入力、例: `30G`) – `Enter` でデフォルトのヘックスコード (8300) – `Enter` で空のパーティション名。

こんな感じになるはずです:

    Part. #     Size        Partition Type            Partition Name
    ----------------------------------------------------------------
                1007.0 KiB  free space
       1        15.0 GiB    Linux filesystem
       2        123.45 GiB  Linux filesystem

次に進む前に、よく再点検してパーティションサイズとテーブルレイアウトが好ましくなっているか確認してください。

やり直したい時は、Quit を選び(もしくは `Q` キーを押して)、保存せずに終了して cgdisk をもういちど起動してください。

満足したら、Write を選び (もしくは `Shift+W` を押して)、ファイナライズしてドライブにパーティションテーブルを書き込みます。`yes` と入力して Quit を選び (もしくは`Q` キーを押して)、これ以上変更を加えずに終了します。

##### fdisk を使って MBR パーティションを作成する

Note: cgdisk と UI が似ている cfdisk もありますが、cfdisk は最初のパーティションを自動的に正しく整列させません。そのためここでは古典的な fdisk ツールを使います。

fdisk を起動してください:

    # fdisk /dev/sda

パーティションテーブルを作成:

- `Command (m for help):` `o` と入力して `Enter` を押す

まず最初のパーティションを作成:

1. `Command (m for help):` `n` と入力して `Enter` を押す
2. Partition type: `Select (default p):` `Enter` を押す
3. `Partition number (1-4, default 1):` `Enter` を押す
4. `First sector (2048-209715199, default 2048):` `Enter` を押す
5. `Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199....., default 209715199):` `+15G` と入力して `Enter` を押す

次に二番目のパーティションを作成:

1. `Command (m for help):` `n` と入力して `Enter` を押す
2. Partition type: `Select (default p):` `Enter` を押す
3. `Partition number (1-4, default 2):` `Enter` を押す
4. `First sector (31459328-209715199, default 31459328):` `Enter` を押す
5. `Last sector, +sectors or +size{K,M,G,T,P} (31459328-209715199....., default 209715199):` `Enter` を押す

新しいパーティションテーブルのプレビューを見て下さい:

- `Command (m for help):` `p` と入力して `Enter` を押す

    Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x5698d902

       Device Boot     Start         End     Blocks   Id  System
    /dev/sda1           2048    31459327   15728640   83   Linux
    /dev/sda2       31459328   209715199   89127936   83   Linux

それから変更をディスクに書き込んで下さい:

- `Command (m for help):` `w` と入力して `Enter` を押す

全てがうまくいくと、fdisk は以下のメッセージを表示して終了します:

    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.

エラーが発生して fdisk がうまくいかない場合は、`q` コマンドを使って終了できます。

#### ファイルシステムの作成

パーティショニングはまだ終わっていません。パーティションにはファイルシステムが必要です。ext4 ファイルシステムでパーティションをフォーマットするには:

Warning: フォーマットするのが `/dev/sda1` と `/dev/sda2` であるか、再確認・再々確認してください。`lsblk` を使って確かめられます。

    # mkfs.ext4 /dev/sda1
    # mkfs.ext4 /dev/sda2

swap (code 82) 用のパーティションを持っているなら忘れずにフォーマットして有効にして下さい:

    # mkswap /dev/sdaX
    # swapon /dev/sdaX

UEFI では、EFI System Partition (例えば /dev/sdXY) をフォーマットする必要があります:

    # mkfs.fat -F32 /dev/sdXY

### パーティションのマウント

パーティションにはそれぞれ番号がふられます。たとえば、`sda1` は最初のドライブの最初のパーティションを指定し、一方 `sda` は全てのドライブを指定します。

現在のパーティションレイアウトを表示:

    # lsblk -f

Note: 注意ぶかくみてください、マウントの順番は重要です。複数のパーティションを同じディレクトリにマウントしてはいけません。

まず、 root パーティションを `/mnt` にマウントします。前記の例にあわせるとこうなります(あなたのは違うかもしれません):

    # mount /dev/sda1 /mnt

それから `/home` パーティションと、必要なら他の分割パーティション (`/boot`, `/var`, etc) をマウントします：

    # mkdir /mnt/home
    # mount /dev/sda2 /mnt/home

UEFI マザーボードを使っているときは、EFI システムパーティションを `/boot` にマウントしてください。他のマウントポイントを使うこともできますが、EFISTUB で説明されているように `/boot` が推奨です:

    # mkdir /mnt/boot
    # mount /dev/sdXY /mnt/boot

### ミラーの選択

インストールの前に、`mirrorlist` ファイルを編集し、好みのミラーを一番上に置きましょう。このファイルのコピーが `pacstrap` によってインストールされ、新しいシステム上でも選択したミラーが使われます。

    # nano /etc/pacman.d/mirrorlist

    ##
    ## Arch Linux repository mirrorlist
    ## Sorted by mirror score from mirror status page
    ## Generated on 2012-MM-DD
    ##

    Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
    ...

- `Alt+6` で `Server` 行をコピー。
- `PageUp` キーで上にスクロール。
- `Ctrl+U` でリストの一番上にペースト。
- `Ctrl+X` で終了、保存するか聞かれたら、`Y` を押し `Enter` で上書き保存。

もし望むなら、他のミラーを消去 (`Ctrl+K` を使う) してミラーをひとつだけに絞ることができます。しかし、一般的には、そのミラーがオフラインになったときのことを考え、ミラーを複数使った方が良いと思われます。

Tip:

- Mirrorlist Generator を使って、あなたの国のアップデータリストを入手できます。keepalive のために、HTTP ミラーのほうが FTP よりも速度が速いです。また FTP では、pacman はパッケージをダウンロードするごとにシグナルを送信しなくてはならないため、短い停止がはさまります。ミラーリストを作る他の方法を見るには、Sorting mirrors と Reflector を参照してください。
- Arch Linux MirrorStatus ではミラーの状況、たとえばネットワークエラー、データ収集エラー、最終同期時間などの様々な情報を見ることができます。

Note:

- 将来、ミラーリストを変更したときは必ず、`pacman -Syy` で pacman の全てのパッケージリストを更新することを覚えておいて下さい。これは良い経験則と考えられており、問題の回避につながります。詳しくは Mirrors (日本語) を参照。
- 古いインストールメディアを使っている場合、ミラーリストが古くなっているかもしれません。そのために Arch Linux のアップデート時に問題を引き起こす可能性があります。(FS#22510 を参照)。上で述べたようにして最新のミラー情報を入手するべきです。
- pacman がレポジトリのアップデート・同期を行えなくなるネットワーク問題に関して Arch Linux forums で複数の問題が報告されています ([1] や [2] を参照)。ネイティブ環境で Arch Linux をインストールしているなら、これらの問題は標準の pacman ファイルダウンローダを代替ダウンローダに置き換えることで解決できます。(詳しくは Improve Pacman Performance をチェック)。VirtualBox のゲストOSとして Arch Linux をインストールしているなら、この問題はマシンの設定で "NAT" の代わりに "Host interface" を使うことで回避できます。

### ベースシステムのインストール

pacstrap スクリプトを使ってベースシステムをインストールします。base と base-devel の全てのパッケージをインストールするつもりなら、`-i` スイッチは省いて下さい。

    # pacstrap -i /mnt base base-devel

Note:

- ミラーを正しく設定しているのに、pacstrap が `error: failed retrieving file 'core.db' from mirror... : Connection time-out` で止まる場合は、他のネームサーバを設定してみてください。
- ベースパッケージのインストール中に PGP キーをインポートをリクエストされたら、キーのダウンロードを承認して先に進んで下さい。これは古い Arch ISO を使っているときに発生します。
- pacman がパッケージの検証に失敗するときは、`Ctrl+C` で処理を中止して `cal` でシステム時刻を確認してください。システム時刻がおかしい場合(例えば2010年の日付を表示するなど)、署名キーが期限切れ(もしくは無効)と判断され、パッケージの署名チェックが失敗しインストールが中断されます。`ntpd -qg` コマンドを使ってシステム時刻を直してから、pacstrap コマンドを再度実行してください。Time (日本語) のページに時刻修正の詳しい情報があります。
- pacman が `error: failed to commit transaction (invalid or corrupted package)` と表示する場合は、以下のコマンドを実行してください: `# pacman-key --init && pacman-key --populate archlinux`。

- base: [core] リポジトリからのソフトウェアパッケージで、最小ベース環境を構築します。

- base-devel: [core] からの `make` や `automake` などの追加ツールです。初心者は基本的にインストールするべきで、システムを拡張するのに必要になります。base-devel グループは Arch User Repository からソフトウェアをインストールする際に必要です。

ここではベースの Arch システムを作ります。他のパッケージは後で pacman を使ってインストールできます。

### fstab の生成

以下のコマンドで fstab ファイルを生成します。アドバンテージのある UUID が使われます。(fstab (日本語)#ファイルシステムの識別 を見て下さい)。代わりのラベルを使いたいならば、`-U` オプションを `-L` に置き換えましょう。

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

Warning: 生成したあとは必ず fstab をチェックしましょう。genfstab や後のインストール作業中にエラーが起こっても、もう一度 genfstab を使用しないでください。fstab ファイルの編集だけして下さい。

考察事項:

- 最後のフィールドには起動時にチェックするパーティションの順番を設定します: (`btrfs` 以外では) root パーティションに `1` を使って下さい、最初にチェックされます; 起動時にチェックしたい他のパーティションには `2` を使って下さい、`0` はチェックされません (fstab (日本語)#フィールドの定義を参照)。
- btrfs のパーティションには全て `0` を使う必要があります。通常、swap パーティションも `0` を設定するはずです。

### Chroot とベースシステムの設定

次に、chroot を使って新しくインストールされたシステムに入ります:

    # arch-chroot /mnt /bin/bash

Note: sh シェルに chroot する場合は `/bin/bash` を取って下さい。

この段階では、Arch Linux ベースシステムの重要な設定ファイルを作ります。ファイルが存在していないときや、デフォルト設定を使いたくないときは、その都度ファイルを作成したり編集してください。

正確に、手順をよく踏まえてから設定してください。システムを正しく設定するためにとても重要です。

#### Locale

Locale を設定することによって、glibc やその他の locale を使うプログラムやライブラリで、テキストのレンダリング、正しい通貨単位の表示、時間と月日のフォーマット、アルファベットの特有表現、地域特有の単位の表示などができるようになります。

2つのファイルを編集する必要があります: `locale.gen` と `locale.conf`。

- `locale.gen` ファイルはデフォルトでは空です(全てコメントアウトされています)ので必要な行の前の `#` を削除してください。English (US) の行だけでなく、あなたが選んだ `UTF-8` エンコードの分だけ削除してください:

    # nano /etc/locale.gen

    en_US.UTF-8 UTF-8
    ja_JP.UTF-8 UTF-8

    # locale-gen

locale-gen は glibc のアップグレード毎に実行され、`/etc/locale.gen` で示された locale を生成します。

- `locale.conf` ファイルはデフォルトで存在しません。他の全ての変数のデフォルト値として扱われる `LANG` のみ設定すれば十分で、次のコマンドでロケールを設定できます。`LANG` 変数に指定するロケールは `/etc/locale.gen` でアンコメントされている必要があります。

    # echo LANG=en_US.UTF-8 > /etc/locale.conf
    # export LANG=en_US.UTF-8

Warning: コンソールでは日本語は文字化けします。GUI 環境を設定してから以下で `locale.conf` を設定するといいでしょう。

    # echo LANG=ja_JP.UTF-8 > /etc/locale.conf
    # export LANG=ja_JP.UTF-8

また、日本語を表示するために X をインストールした後に日本語のフォントをインストールしましょう。

他の `LC_*` 変数を使いたいときは、まず `locale` を実行してオプションを確認し、`locale.conf` に追加してください。`LC_ALL` 変数を使うことは推奨されません。詳しくは Locale (日本語)#システム全体のロケールを設定する を参照してください。

#### コンソールフォントとキーマップ

インストールの最初にキーマップをセットした場合、今ロードしてください、なぜなら環境が変わったからです。例えば:

    # loadkeys jp106
    # setfont Lat2-Terminus16

再起動後もキーマップ設定を持続させるために、`vconsole.conf` を編集 (ファイルがなかったら作成してください):

    # nano /etc/vconsole.conf

    KEYMAP=jp106
    FONT=Lat2-Terminus16

- `KEYMAP` – この設定は TTY でのみ有効で、グラフィカルウィンドウマネージャや Xorg では使われません。

- `FONT` – 利用可能なコンソールフォントは `/usr/share/kbd/consolefonts/` にあります。デフォルト(空)でも問題ありませんが、いくつかの言語の文字が四角になったり他の文字になったりするかもしれません。`Lat2-Terminus16` に変えることが推奨されます。`/usr/share/kbd/consolefonts/README.Lat2-Terminus16` によれば、"約100個の言語セット"をサポートしています。

- (オプション) `FONT_MAP` – 起動時にロードするコンソールマップを定義します。`man setfont` を読んで下さい。削除したり、空のままでも問題ありません。

詳しくはコンソールフォントや `man vconsole.conf` を参照。

#### タイムゾーン

利用可能なタイムゾーンとサブゾーンは `/usr/share/zoneinfo/<Zone>/<SubZone>` ディレクトリで見つかります。

<Zone> 一覧を見るために、 `/usr/share/zoneinfo/` ディレクトリをチェックしてください:

    # ls /usr/share/zoneinfo/

同じように、<SubZone> にあるディレクトリの一覧を見ることができます:

    # ls /usr/share/zoneinfo/Asia

`/etc/localtime` からゾーンファイル `/usr/share/zoneinfo/<Zone>/<SubZone>` へのシンボリックリンクを作るにはこのコマンドを使います:

    # ln -s /usr/share/zoneinfo/<Zone>/<SubZone> /etc/localtime

例:

    # ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

#### ハードウェアクロック

ハードウェアクロックモードを OS 間で均一に設定します。さもないと、ハードウェアクロックが上書きされ時刻がずれることがあります。

次のコマンドのうちのどれかで `/etc/adjtime` を自動生成できます:

- UTC (推奨)

  Note: ハードウェアクロックに UTC を使ったからといって、ソフトウェアが時刻を UTC で表示するわけではありません。

      # hwclock --systohc --utc

インターネットを使って "UTC" 時刻を同期する方法は NTPd を見て下さい。

- localtime (非推奨; Windows でのデフォルト)

  Warning: localtimeを使うと既知の、容易に修復できないバグを引き起こす可能性があります。しかしながら、localtime のサポートを終了する計画はありません。

      # hwclock --systohc --localtime

#### カーネルモジュール

Tip: これはただの例です、このように設定する必要はありません。全ての必要なモジュールは udev により自動でロードされます、あなたが付け加えなくてはならない状況はほとんどありません。足りないモジュールだけを加えて下さい。

起動中にカーネルモジュールをロードするには、`/etc/modules-load.d/` に、プラグラムに基づいた名前の `*.conf` ファイルを設置します。

    # nano /etc/modules-load.d/virtio-net.conf

    # Load 'virtio-net.ko' at boot.

    virtio-net

ひとつの `*.conf` で複数のモジュールをロードする際には、モジュールの名前を新しい行で分割できます。好例は VirtualBox Guest Additions です。

空の行や、 `#` 又は `;` で始まっている行は無視されます。

#### ホストネーム

お好きな名前をホスト名に設定してください (例えば arch):

    # echo myhostname > /etc/hostname

Note: `/etc/hosts` を編集する必要はありません。

### ネットワークの設定

ネットワークの設定をもう一度行います。今回は新しいインストールされた環境のために行います。以前に説明したのと方法はほとんど同じですが、設定を永続させて、起動時に自動的に行うようにします。

Note: ネットワーク設定のより詳しい情報は、Network Configuration (日本語) や Wireless Setup (日本語) を参照してください。
Warning: インストールの最中には、インターフェースの名前に伝統的な eth* や wlan* が使われていたとしても、udev はこの命名規則を使いません。従って、新しいシステムに起動した時、新しいインターフェースの名前が割り当てられていることに注意してください。全てのネットワークインターフェースを一覧するには `ip link` を実行します。
Note: インターフェースの古い命名規則 (eth* や wlan*) を使いたいときは `/etc/udev/rules.d/80-net-setup-link.rules` に空のファイルを作成してください。これによって `/usr/lib/udev/rules.d` 下の同じ名前のファイルがマスクされます (空のファイルを使う代わりに、`/dev/null` へのシンボリックリンクを使うことでも命名規則を戻せます: `# ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules`)。

#### 有線

##### ダイナミック IP

dhcpcd を使う

もし固定された有線ネットワーク接続が１つだけあるのなら、ネットワーク管理サービスを使う必要はなく、単純に `dhcpcd` サービスを有効にするだけです:

    # systemctl enable dhcpcd.service

Note: 上のコマンドが動作しない場合、次のコマンドを使って下さい: `# systemctl enable dhcpcd@interface_name.service`

netctl を使う

`/etc/netctl/examples` からサンプルプロファイルを `/etc/netctl/` にコピーしてください:

    # cd /etc/netctl
    # cp examples/ethernet-dhcp my_network

プロファイルを編集して下さい (`Interface` を `eth0` から `ip link` を実行して表示されるネットワークアダプタ ID に修正する):

    # nano my_network

`my_network` プロファイルを有効にしてください:

    # netctl enable my_network

Note: "Running in chroot, ignoring request." というメッセージが表示された場合、いまのところは無視してください。

netctl-ifplugd を使う

Warning: `netctl enable <profile>` のようにしてプロファイルを有効にする方法とこの方法を一緒に使うことはできません。

もしくは netctl の `netctl-ifplugd`を使って動的な接続を管理することもできます:

ifplugd をインストールしてください、`netctl-ifplugd` を使うために必要なパッケージです:

    # pacman -S ifplugd

そしてインターフェースを有効にしてください:

    # systemctl enable netctl-ifplugd@<interface>.service

Note: netctl には `netctl-auto` もあり、`netctl-ifplugd` と一緒に有線プロファイルを管理するのに使われます。

##### 固定 IP

netctl を使う

`/etc/network.d/examples` から `/etc/netctl` にサンプルプロファイルをコピーします:

    # cd /etc/netctl
    # cp examples/ethernet-static my_network

必要に応じてプロファイルを編集 (`Interface`, `Address`, `Gateway`, `DNS` を修正):

    # nano my_network

- `Address` の中の `/24` は `255.255.255.0` ネットマスクの CIDR notation です。

そして作成したプロファイルを有効にしてください:

    # netctl enable my_network

systemd-networkd を使う

systemd-networkd (日本語) を参照してください。

#### 無線

Note: あなたの使っているワイヤレスアダプタにファームウェアが必要な時は (上のインターネット接続の確立セクションとここに記述あり)、ファームウェアを含んだパッケージをインストールしてください。ほとんどの場合、linux-firmware パッケージに必要なファームウェアが含まれていますが、機器によっては個別のパッケージにファームウェアが存在します。例えば:

    # pacman -S zd1211-firmware

詳しくは Wireless Setup (日本語) を見て下さい。

ネットワークに接続するために iw と wpa_supplicant をインストールしてください:

    # pacman -S iw wpa_supplicant

##### 無線ネットワークの追加

wifi-menu を使う

`wifi-menu` に必要な dialog をインストールしてください:

    # pacman -S dialog

このインストールと再起動が終わった後 `wifi-menu <interface>` (`<interface>` はあなたの無線インターフェースに置き換えてください) でネットワークに接続することができます。

    # wifi-menu <interface>

Warning: `wifi-menu` を使う時は、絶対に chroot を終了して再起動した後にしてください。このコマンドを使って作成されたものが chroot の外で動作させているものと衝突してしまう恐れがあるからです。また、上で書かれているようにテンプレートを使って手動でネットワークプロファイルを設定することもできます、その場合は `wifi-menu` を使うことについての心配はいりません。

手動の netctl プロファイルを使う

ネットワークプロファイルを `/etc/netctl/examples` から `/etc/netctl` にコピーしてください:

    # cd /etc/netctl
    # cp examples/wireless-wpa my_network

接続するネットワークにあわせてプロファイルを編集してください。

    # nano my_network

例えば、無線インターフェースが `wlp3s0` で、ネットワークの名前が `Home Wireless`、パスワードが `caQu3uR`の場合:

    # nano /etc/netctl/wireless-wpa

    Interface=wlp3s0
    ESSID='Home Wireless'
    Key='caQu3uR'

作成したプロファイルがブート毎に実行されるよう有効にしてください:

    # netctl enable my_network

##### 既知のネットワークに自動で接続する

Warning: `netctl enable <profile>` のようにしてプロファイルを有効にする方法とこの方法を一緒に使うことはできません。

`netctl-auto` に必要な wpa_actiond をインストールしてください:

    # pacman -S wpa_actiond

`netctl-auto` サービスを有効にすれば、既知のネットワークに接続しローミングや切断を管理します:

    # systemctl enable netctl-auto@interface_name.service

Note: netctl には `netctl-ifplugd` もあり、`netctl-auto` と一緒に有線プロファイルを管理するのに使われます。

#### xDSL (PPPoE), アナログモデム, ISDN

xDSL、ダイアルアップ・ISDN 接続は、Direct Modem Connection を見て下さい。

### pacman の設定

Pacman は Arch Linux のパッケージマネージャ(package manager)です。使い方を学んで利用することが薦められています。`man pacman` を読んだり pacman の記事を見て下さい、または Pacman Rosetta (日本語) ページにある他の有名なパッケージマネージャとの比較を見てください。

レポジトリの選択と pacman の設定には、`pacman.conf` を編集します:

    # nano /etc/pacman.conf

殆どの人々が使うのは `[core]`, `[extra]`, `[community]` です。

Arch Linux x86_64 をインストールしたのなら、`[multilib]` レポジトリも有効にするのをおすすめします(32 bit と 64 bit 両方のアプリケーションを動かせるようになります):

Note: レポジトリを選択するとき、以下の行だけでなく `[repo_name]` 行の頭のコメントも外して下さい。これを忘れると選択したレポジトリが使われません！よくあるミスです。

    [multilib]
    SigLevel = PackageRequired
    Include = /etc/pacman.d/mirrorlist

ファイルを編集した後 `pacman` に `-Sy` スイッチをつけて起動してパッケージリストを更新する必要があります。していないと、次に pacman を使った時に "warning: database file for 'multilib' does not exist" エラーがでます。

詳しくは公式リポジトリを参照してください、それぞれのレポジトリの目的の詳細もあります。

pacman では直接入手できないソフトウェアについては、Arch User Repository (日本語) を見て下さい。

### Initial ramdisk 環境の作成

Tip: ほとんどのユーザーはこの手順をスキップし、`mkinitcpio.conf` のデフォルト設定を使って問題ありません。initramfs イメージ (`/boot` フォルダ内) は `pacstrap` によって linux パッケージ (Linux カーネル) をインストールしたときに、`mkinitcpio.conf` に基づいて既に生成されています。

root が USB ドライブにあったり、RAID や LVM を使っていたり、`/usr` が分割されたパーティション上にある場合は、ここで正しい hooks を設定しなくてはなりません。

必要に応じて `/etc/mkinitcpio.conf` を編集し、initramfs イメージを再形成します:

    # mkinitcpio -p linux

Note: Arch を QEMU 上の VPS にインストールする場合 (例: `virt-manager` を使う場合) 起動するために `mkinitcpio.conf` 内に `virtio` モジュールが必要かもしれません。

    # nano /etc/mkinitcpio.conf

    MODULES="virtio virtio_blk virtio_pci virtio_net"

### root パスワードの設定

root パスワードを設定します:

    # passwd

### ブートローダのインストールと設定

#### BIOS マザーボード

BIOS システムでは、複数のブートローダが使えます。ブートローダの完全なリストは Boot Loaders (日本語) にあります。あなたの都合に合わせてどれか一つを選んで下さい。ここでは、2つのブートローダを例として取り上げます:

- Syslinux は現在 Syslinux がインストールされたパーティションのファイルのみをロードするように制限されています。設定ファイルはわかりやすいものになっています。設定サンプルは Syslinux の記事にあります。

- GRUB はより多くの機能を備えた複雑なブートローダです。設定ファイルはスクリプト言語 (sh) に似ていて、初心者が手動で設定するには難しいかもしれません。自動で設定を生成するのが推奨されます。

##### Syslinux

前にハードディスクで GUID パーティションテーブル (GPT) を使うことを選択した場合は、syslinux のインストールを完了するために gptfdisk パッケージをインストールする必要があります:

    # pacman -S gptfdisk

syslinux パッケージをインストールし、`syslinux-install_update` スクリプトを使って自動的にファイルをインストールし (`-i`)、ブートフラグを設定して (`-a`)、MBR ブートコードをインストールすることで (`-m`)、パーティションを active にします:

    # pacman -S syslinux
    # syslinux-install_update -i -a -m

`syslinux.cfg` に正しい root パーティションを設定してください。この手順は重要です。間違ったパーティションを指定すると、Arch Linux は起動できなくなります。`/dev/sda3` をあなたの root パーティションにしてください(もしドライブをこの例のようにパーティションしているなら、あなたの root パーティションは `/dev/sda1` です)。fallback の方も同じようにします。

    # nano /boot/syslinux/syslinux.cfg

    ...
    LABEL arch
            ...
            APPEND root=/dev/sda3 rw
            ...

Syslinux の設定についての詳しい情報は Syslinux を見て下さい。

##### GRUB

grub パッケージをインストールしてから `grub-install` を実行してブートローダをインストールしてください:

    # pacman -S grub
    # grub-install --target=i386-pc --recheck /dev/sda

Note:

- `/dev/sda` はあなたが Arch をインストールしたドライブに書き換えてください。パーティション番号を加えてはいけません (`sdaX` を使ってはいけません)。
- BIOS マザーボード上の GPT によってパーティションされているドライブを使っている場合、"BIOS Boot Partition" が必要です。GPT-specific instructions を参照してください。
- サンプルの `/boot/grub/grub.cfg` は grub パッケージの一部としてインストールされ、後の `grub-*` コマンドでは上書きされません。あなたの変更が `grub.cfg.new` などのファイルではなく `grub.cfg` にあることを確認してください。

次に `grub.cfg` を作ります。手動で作る方が細かい設定ができますが、初心者は自動で生成するのが推奨されています:

Tip: あなたのコンピュータに入っている他の OS を自動で見つけるには、次のコマンドの前に os-prober をインストール (`pacman -S os-prober`) してください。

    # grub-mkconfig -o /boot/grub/grub.cfg

GRUB の使用・設定の詳しい情報は、GRUB2 を参照。

#### UEFI マザーボード

UEFI システムでも、複数のブートローダが使えます。利用できるブートローダの完全なリストは UEFI Bootloaders にあります。あなたの都合にあわせて選んで下さい。ここでは、2つのブートローダを例として提示します:

- gummiboot は最小主義の UEFI ブートマネージャで、EFISTUB カーネルや他の UEFI アプリケーションのためのメニューを提供します。
- GRUB は完全なブートローダーで、gummiboot で問題が起きた時に役に立ちます。

Note: UEFI でブートするには、ドライブは GPT でパーティションされている必要があり、EFI System Partition (512 MiB 以上, FAT32, gdisk タイプ `EF00`) が `/boot` でマウントされていなくてはなりません。このガイドを初めから実行しているのなら、すでに全て行われているはずです。

##### Gummiboot

まず `efivars` がマウントされていることを確認してください:

    # mount -t efivarfs efivarfs /sys/firmware/efi/efivars

それから gummiboot パッケージをインストールして、`gummiboot install` を実行してブートローダを EFI System Partition にインストールしてください:

    # pacman -S gummiboot
    # gummiboot install

Warning: EFI パーティションを `/boot` にマウントしていない場合、Gummiboot と Linux カーネルは自動でアップデートしません。

gummiboot に Arch Linux のエントリを追加するために、手動で設定ファイルを作成する必要があります。`/boot/loader/entries/arch.conf` を作成し、以下の内容を記述してください (`/dev/sdaX` はあなたの root パーティションに置き換えてください、通例は `/dev/sda2` です):

    # nano /boot/loader/entries/arch.conf

    title          Arch Linux
    linux          /vmlinuz-linux
    initrd         /initramfs-linux.img
    options        root=/dev/sdaX rw

gummiboot の設定と使用方法の詳細は Gummiboot を見て下さい。

##### GRUB

まず `efivars` がマウントされていることを確認してください:

    # mount -t efivarfs efivarfs /sys/firmware/efi/efivars

それから grub と efibootmgr パッケージをインストールしてから `grub-install` を実行してブートローダーをインストールしてください:

    # pacman -S grub efibootmgr
    # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck

grub.cfg を作ります。手動で作る方が細かい設定ができますが、初心者は自動で生成するのが推奨されています:

Tip: あなたのコンピュータに入っている他の OS を自動で見つけるには、次のコマンドの前に os-prober をインストール (`pacman -S os-prober`) してください。ただし os-prober は UEFI OS を正しく検知できません。

    # grub-mkconfig -o /boot/grub/grub.cfg

GRUB の使用・設定の詳しい情報は、GRUB を参照。

### パーティションのアンマウントと再起動

chroot 環境を脱出します:

    # exit

パーティションが `/mnt` 下にマウントされているので、次のコマンドでアンマウントします:

    # umount -R /mnt

コンピュータを再起動:

    # reboot

Tip: インストールメディアを取り出してください、そうしないともう一度セットアップが起動してしまいます。
Categories:

- Getting and installing Arch (日本語)
- About Arch (日本語)