ビギナーズガイド

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

この文章では Arch Install Scripts を使って Arch Linux をインストールする方法を解説します。インストールする前に、FAQ を一読することをおすすめします。

コミュニティによって管理されている ArchWiki は有用な資料であり、問題が発生したらまず wiki を読んでみましょう。wiki で答えが見つからないときは、IRC チャンネル (irc://irc.freenode.net/#archlinux) やフォーラムを使って下さい。また、Arch Way に従って、知らないコマンドの man ページを見るようにしましょう。man コマンド で見ることができます。

目次

動作環境

Arch Linux は i686 互換の、最低 64MB の RAM を積んだマシンで動作します。また、基本的なインストールに必要な base グループに含まれる全てのパッケージをインストールするには約 800MB のディスク容量が必要です。使える容量が少ない場合、この数値をかなり切り詰めることが可能ですが、どうやるかは調べる必要があります。

最新のインストールメディアを準備する

ヒント: archboot の ISO イメージはこのガイドで説明している手順のいくつかをインタラクティブに行うことができます。詳しくは Archboot を見て下さい。

最新の Arch の公式インストールメディアはダウンロードページから入手できます。ひとつの ISO で32ビットと64ビット両方のアーキテクチャをサポートしています。出来るだけ一番新しい ISO を使って下さい。

ノート: インストールイメージには署名がされており、使用する前に署名を検証するのが推奨されています。PGP 署名をダウンロードして ISO のディレクトリに配置して、次を実行してください:
$ gpg --verify archlinux-バージョン名-dual.iso.sig

公開鍵が見つからない場合、gpg --recv-keys でインポートできます [1]。もしくは、既存の Arch Linux 環境から次を実行:

$ pacman-key -v archlinux-2015.01.01-dual.iso.sig

md5sha1 チェックサムはそれぞれ md5sumsha256sum でチェックできます。

USB と光学ドライブ

光学ディスクドライブ#焼き込み (CD/DVD) や USB インストールメディア (USB) を見て下さい。

ネットワーク経由でのインストール

PXE の記事を参照してください。

既存の Linux 環境からインストール

既存の Linux からインストールを見て下さい。VNCSSH を使って Arch をリモートでインストールするときに特に便利です。SSH からインストールも参照。

仮想マシンへのインストール

現在使用しているオペレーティングシステムを残したまま、仮想マシン上でインストール手順を実行することで、ストレージのパーティションを行う必要なく Arch Linux に慣れることができます。また、ブラウザでこのビギナーズガイドを開いたままインストールが可能です。独立した Arch Linux システムを使用できるということは、テストを行いたいという一部のユーザーにとって有益なことでしょう。

仮想化ソフトウェアの例としては、VirtualBox, VMware, QEMU, Xen, Parallels があります。

仮想マシンを準備するための正確な手順は、ソフトウェアによって異なりますが、一般的に次の手順に従います:

  1. オペレーティングシステムのホストにて、仮想ディスクイメージを作成します。
  2. 仮想マシンの設定を最適化します。
  3. 仮想 CD ドライブでダウンロードした ISO イメージを起動します。
  4. インストールメディアの起動に進みます。

次の記事が役に立つかもしれません:

インストールメディアの起動

最初に、あなたのコンピュータの BIOS セットアップで起動順序を変更する必要があるかもしれません。それには、POST (Power On Self-Test) の間にキー (多くの場合 DeleteF1F2F11F12) を押します。これで BIOS の設定画面が表示されるので、ここでシステムが起動するデバイスを探す順番を設定できます。"Save & Exit" (もしくはそれに準ずるもの) を選択すればコンピュータは通常通り起動するはずです。

Arch のメニューが表示されたら、インストールを行うライブ環境を開始するために "Boot Arch Linux" をメニューから選択し、 Enter キーを押します (UEFI ブートディスクから起動された場合は、オプションは次のように表示されます: "Arch Linux archiso x86_64 UEFI")。

UEFI モードでブートしているかどうかのテスト

UEFI マザーボードを使用していて、UEFI ブートモードが有効になっている (そしてそれが BIOS/Legacy モードよりも優先されている) 場合、CD/USB のインストールメディアは自動で Gummiboot を使って Arch Linux カーネルを起動します。そして以下のメニューが表示されます (黒地に白字)、最初のアイテムがハイライトされます:

Arch Linux archiso x86_64 UEFI USB
UEFI Shell x86_64 v1
UEFI Shell x86_64 v2
EFI Default Loader

起動時のメニューを覚えていない場合、または UEFI モードで起動しているのか確認したい場合は、次を実行:

# efivar -l

efivar が UEFI 変数を正しく表示したら、UEFI モードで起動されています。表示されない場合は Unified Extensible Firmware Interface#UEFI 変数のサポートを正しく動作させるための必要条件 に記載されている全ての要件が満たされているか確認してください。

起動時の問題のトラブルシューティング

  • Intel のビデオチップセットを使用していて、ブート中にブランクスクリーン (画面が黒くなる) になった場合、おそらく Kernel Mode Setting (KMS) に問題があります。回避策は、パソコンを再起動し、起動しようとしている項目 (i686 または x86_64) の上で、Tab キーを押します。末尾に nomodeset を追加し、Enter キーを押します。または video=SVIDEO-1:d (KMS は無効にされません) を設定します。もしくは、i915.modeset=0 を試して下さい。詳細は Intel ページを参照してください。
  • ブランクスクリーンにならず、カーネルのロード中に固まる場合は、Tab キーをメニューの項目上で押し、末尾に acpi=off を追加し、Enter キーを押します。

言語の選択

シェルプロンプトが表示され、root として自動的にログインが行われます。シェルは Zsh です。高度なタブ補完など、grml の設定 の機能が使用できます。テキストファイルを編集する時は、コンソールエディタの nano を例として使います。使い方をよく知らない場合は、nano#nano の使用方法 を見て下さい。Windows とのデュアルブートをする(もしくはそうすることを計画している)場合、Windows と Arch のデュアルブートを見て下さい。

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

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

# loadkeys レイアウト名

で変更できます。レイアウト名の部分は jp106frukbe-latin1 などに置き換えます。ここから一般的なレイアウトのリストを見ることができます。利用可能なキーマップを表示するには localectl list-keymaps コマンドを使って下さい。

警告: 以下はフォントと言語の設定ですが、この段階では、日本語を表示することはできません。

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

# setfont lat9w-16

標準では、言語は英語 (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

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

警告: v197 以降、udev はネットワークインターフェースの名前を wlanX や ethX といった風に名づけません。あなたが他のディストリビューションを使っているなどの理由で、新しい命名規則を知らないのならば、あなたの無線インターフェースの名前が wlan0 だとか、有線インターフェースの名前が eth0 ではない可能性があることを予め覚えておいて下さい。ip link コマンドでインターフェースの名前を調べることができます。

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 アドレスを使用して有線の接続をセットアップする場合は次の手順に従ってください。

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

# 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 アドレスを見て必要な設定を確認してください。/etc/dhcpcd.conf に以下のような設定を使って、dhcpcd の static プロファイルを設定します:

interface enp2s0f0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8

dhcpcd.service を再起動してください:

# systemctl restart dhcpcd.service

これでネットワークに接続されるはずです。されない場合は、ネットワーク設定のページを見て下さい。

無線

警告: (CD・USB スティックの) ライブ環境では、(ワイヤレスカードを使うのに必要な) ワイヤレスチップセットのファームウェアのパッケージは /usr/lib/firmware の下にあらかじめインストールされていますが、再起動後にも無線を使うには、ユーザーがちゃんとパッケージをインストールする必要があります。パッケージのインストールはこのガイドの後ろで触れています。再起動する前にワイヤレスモジュール・ファームウェアを必ずインストールしてください。もし、あなたのチップセットがファームウェアのインストールを必要としているか不明な場合はワイヤレス設定を見て下さい。

netctlwifi-menu を使いネットワークに接続します:

# wifi-menu

コンピュータに接続されている Wi-Fi デバイスが一つしかない (ノートパソコンなど) 場合は wifi ネットワークのメニューが表示されます。

コンピュータに複数の Wi-Fi デバイスが存在するときは、そのどれか一つを選択して wifi-menu にインターフェイスの名前を指定する必要があります。まず、インターフェイスの名前を確かめて下さい:

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

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

インターフェイスの名前がわかったら、インターフェイスの名前を指定して wifi-menu を起動します:

# wifi-menu wlp3s0

ユーザー名やパスワードの設定を必要とするネットワークを使う場合は WPA2 Enterprise#netctl にあるサンプル設定を見て下さい。

これでネットワークは有効になるはずです。接続されないときは、下の wifi-menu を使わない方法や、詳しい説明が載っているワイヤレス設定を見て下さい。

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

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

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>

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

xDSL・ダイアルアップ・ISDN接続については、直接モデム接続を見て下さい。

プロクシサーバを使う

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

ドライブの準備

このステップでは、新しいシステムをインストールするためにストレージデバイスの準備を行います。詳しい情報はパーティショニングを見て下さい。

警告: パーティショニングを行うと既存のデータが消去される可能性があります。実施する前に、必要なデータはバックアップしてください。
ヒント:

デバイスの確認

まず新しいシステムをインストールするデバイスを確認します。次のコマンドを実行すると全てのデバイスが表示されます:

# lsblk

このコマンドはシステムに接続されたデバイスとパーティションを表示しますが、Arch インストールメディアを起動するのに使われているデバイスも含まれています。したがって、どのデバイスでもインストールが行えるというわけではありません。不必要なデバイスを表示しないようにするには、以下のようにコマンドを実行します:

# lsblk | grep -v "rom\|loop\|airoot"

デバイス (ハードディスク) は sdx と示されます。xa から始まる小文字のアルファベットで、一番目のデバイスは sda、二番目のデバイスは sdb と割り当てられます。既存のパーティションは sdxY と示され、Y1 から始まる数字です。一番目のパーティションは 1、二番目のパーティションは 2 と続きます。下の例では、一つのデバイスが存在し (sda)、一つのパーティションが使われています (sda1):

NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0    80G  0 disk
└─sda1            8:1    0    80G  0 part

パーティションテーブル、パーティション、ファイルシステムでは sdxY という名前を例として使います。あくまでこの名前は例なので、実際にコマンドを実行したりするときは、デバイスの名前とパーティションの番号を変える必要があります。コマンドをコピーしてそのまま貼り付けても動作しません。

パーティションをそのまま変更しない場合は、ファイルシステムの作成まで進んでください。パーティショニングを行う場合は、次のセクションを読んで下さい。

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

既に何らかの OS がインストールされているところに Arch をインストールする場合、既存のパーティションテーブルを使用します。デバイスがパーティショニングされてなかったり、現在のパーティションテーブルを変更する必要があるときは、まず使用されているパーティションテーブルを確認しなくてはなりません。

ノート: 同じディスクで Arch と Windows をデュアルブートする場合、ディスクにインストールした Windows で使用されているのと同じファームウェアブートモードとパーティショニングの組み合わせに従って下さい。そうしないと Windows が起動しなくなります。詳しくは Windows と Arch のデュアルブート#重要な情報を見て下さい。

パーティションテーブルには2種類あります:

  • MBR: BIOS 環境で使用されます (別名 "msdos")
  • GPT: UEFI 環境で使用されます

既存のパーティションテーブルは、次のコマンドを実行することで確認できます:

# parted /dev/sdx print

パーティショニングツール

デバイスをパーティショニングするには、使用されるパーティションテーブルにあわせて適切なツールを選ぶ必要があります。Arch のインストールメディアには複数のパーティショニングツールが入っています:

  • parted: MBR と GPT
  • fdisk, cfdisk, sfdisk: MBR と GPT
  • gdisk, cgdisk, sgdisk: GPT
警告: 使用しているパーティショニングテーブルと互換性がないパーティショニングツールを使ってしまうと、テーブルが破壊されて、既存のパーティションやデータが消えてしまいます。
ヒント: Arch のインストールメディアを起動する前に、他のライブ環境に付属しているパーティションツールを使って、デバイスを予めパーティショニングしておくことも可能です。初心者にとっては GParted などのグラフィカルなパーティショニングツールが使いやすいでしょう。GParted には ライブ CD が存在し、MBR と GPT の両方のパーティションテーブルで動作します。

インタラクティブモードの parted を使用する

以下で示す例では BIOS/MBR と UEFI/GPT の両方で用いることができる parted を使っています。partedインタラクティブモードで起動して、指定したデバイスに全てのパーティショニングコマンドを自動的に適用することで、不必要な繰り返しを避けます。

デバイスの操作を開始するには、次を実行:

# parted /dev/sdx

コマンドラインプロンプトがハッシュ (#) から (parted) に変わります。

利用できるコマンドのリストを表示するには、次を入力:

(parted) help

パーティションの操作が完了した場合は、次のコマンドで parted を終了します:

(parted) quit

終了後、コマンドラインプロンプトは # に戻ります。

新しいパーティションテーブルの作成

パーティションテーブルのタイプを変更したい場合や、デバイスがまだパーティションされていない場合、パーティションテーブルの(再)作成が必要です。デバイスのパーティションテーブルの再作成はパーティションスキームを最初からやり直したい場合にも有用です。

警告:
  • UEFI/GPT で Windows がインストールされている環境でデュアルブートをしたい場合は、パーティションテーブルを消去しないでください。パーティションテーブルを消去すると、Windows を起動するのに必要な .efi ファイルが入っている UEFI パーティションを含め、デバイス上の既存のデータが全て削除されます。
  • MBR は BIOS 環境で使用するように作られており、GPT は UEFI と一緒に使われることが想定されています。ハードウェアと互換性がない機能や制限があるため、この組み合わせを使わないというのは初心者にはおすすめできません (例: MBR は 2 TiB 以上のデバイスを扱えません) [2]。何らかの理由でこの組み合わせを使いたくないという場合は、[3][4] に詳しい情報や対処方法が載っています。

パーティションテーブルを(再)作成するデバイスを次のコマンドで開いてください:

# parted /dev/sdx

そして BIOS 環境の場合、MBR/msdos パーティションテーブルを新しく作成するために、次のコマンドを実行します:

(parted) mklabel msdos

UEFI 環境で GPT パーティションテーブルを新しく作成するには、次のコマンドを使います:

(parted) mklabel gpt

パーティションスキーム

ディスクをいくつのパーティションに分けるか決めて、それぞれのパーティションにシステム上のディレクトリを割り振ることができます。パーティションからディレクトリへのマッピング (しばしば 'マウントポイント' と呼ばれます) がパーティションスキームになります。パーティションスキームは以下の要件を満たさなければなりません:

  • 少なくとも / (root) ディレクトリのパーティションは必ず作成する必要があります。
  • マザーボードのファームウェアインターフェイスや、選択したパーティションテーブルのタイプによって、また、時には選択したブートローダーにあわせて、以下のパーティションを追加で作成する必要が出てきます:

以下の例では、新しい、連続するパーティションスキームを1つのデバイスに適用します。任意の /boot/home ディレクトリのパーティションも作成しています。それぞれのディレクトリの目的については Arch ファイルシステム階層を見て下さい。/boot/home などのディレクトリのパーティションを別に作成しない場合、/ パーティションに含まれることになります。また、スワップ領域用のパーティションについても説明します。

parted のインタラクティブセッションをまだ開いてない場合は、パーティションするデバイスを指定して起動してください:

# parted /dev/sdx

次のコマンドを使用してパーティションを作成します:

(parted) mkpart part-type fs-type start end
  • part-typeprimary, extended, logical のうちどれか一つから選びます。MBR パーティションテーブルでのみ意味があります。
  • fs-typeマニュアル に記載されているサポートがあるファイルシステムの中から選びます。パーティションはファイルシステム作成でフォーマットします。
  • start はデバイスの先頭からのパーティションの開始位置です。単位 をつけた数値で指定し、例えば 1M なら 1MiB が開始位置になります。
  • end はデバイスの先頭からのパーティションの終末位置です (start から計算するわけではありません)。start と同じ構文を使うことができ、例えば 100% と指定するとデバイスの終端を意味します (残り領域全てを使う)。
警告: パーティションは重ならないように注意してください。デバイスに未使用のスペースを残さないようにするには、それぞれのパーティションが前のパーティションの終末から開始するようにしてください。
ノート: parted は以下のような警告を表示することがあります:
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?
この表示がでたときは、パーティショニング#パーティションアライメントを見て GNU Parted#アライメント にしたがって修正してください。

/boot ディレクトリを含むパーティションが起動できるようにフラグを立てるには次のコマンドを使います:

(parted) set partition boot on
  • partition はフラグを立てるパーティションの番号に置き換えて下さい (print コマンドの出力を参照しましょう)。

UEFI/GPT の例

どんなふうにパーティショニングするにせよ、特別な EFI System Partition が必要になります。

警告: UEFI/GPT で Windows がインストールされている環境でデュアルブートをしたい場合は、既存の UEFI パーティションを消去しないでください。このパーティションを消去すると、Windows を起動するのに必要な .efi ファイルが削除されてしまいます。

新しく EFI System Partition を作成する場合は、以下のコマンドを使って下さい (推奨される容量は 512MiB です):

(parted) mkpart ESP fat32 1M 513M
(parted) set 1 boot on

あとのパーティションスキームはあなたが自由に決めて下さい。残りのスペースを全て使用する単一のパーティションを作るには:

(parted) mkpart primary ext3 513M 100%

/ (20GiB) と /home (残り容量全てを使用) パーティションを作るには:

(parted) mkpart primary ext3 513M 20.5G
(parted) mkpart primary ext3 20.5G 100%

/ (20GiB), スワップ (4Gib), /home (残り容量全てを使用) パーティションを作成するには:

(parted) mkpart primary ext3 513M 20.5G
(parted) mkpart primary linux-swap 20.5G 24.5G
(parted) mkpart primary ext3 24.5G 100%

BIOS/MBR の例

ディスク容量を全て使用する単一のプライマリパーティションを作成するには、以下のコマンドを使用します:

(parted) mkpart primary ext3 1M 100%
(parted) set 1 boot on

以下の例では、20Gib の / パーティションを作成してから、残り容量を全て使用する /home パーティションを作成します:

(parted) mkpart primary ext3 1M 20G
(parted) set 1 boot on
(parted) mkpart primary ext3 20G 100%

以下の例では /boot (100MiB), / (20Gib), スワップ (4GiB), /home (残り容量全てを使用) パーティションを作成します:

(parted) mkpart primary ext3 1M 100M
(parted) set 1 boot on
(parted) mkpart primary ext3 100M 20G
(parted) mkpart primary linux-swap 20G 24G
(parted) mkpart primary ext3 24G 100%

ファイルシステムの作成

パーティショニングはまだ終わっていません。パーティションにはファイルシステムが必要です(ただしスワップパーティションには要りません)。インストール先のデバイスに存在するパーティションを確認するには次のコマンドを使用:

# lsblk /dev/sdx

下に書かれている注意点を除いて、基本的には ext4 ファイルシステムを使うことを推奨します:

# mkfs.ext4 /dev/sdxY
警告: UEFI/GPT で Windows がインストールされている環境でデュアルブートをしたい場合は、UEFI パーティションをフォーマットしないでください。フォーマットしてしまうと、Windows を起動するのに必要な .efi ファイルが入っている UEFI パーティションのデータが全て削除されます。
ノート:
  • UEFI/GPT 環境で新しく UEFI システムパーティションを作成した場合は、UEFI パーティションを fat32 または vfat32 ファイルシステムでフォーマットしてください。これを行っておかないと起動できなくなります:
# mkfs.vfat -F32 /dev/sdxY
  • BIOS/GPT 環境で GRUB を使用する場合、BIOS Boot Partition/boot マウントポイントと関係ないので注意してください。このパーティションは GRUB によって直接使用されます。BIOS Boot Partition にファイルシステムを作成したり、マウントしたりしてはいけません。

スワップの有効化

スワップパーティションを作成した場合は、以下のコマンドで有効化する必要があります:

# mkswap /dev/sdxY
# swapon /dev/sdxY

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

ノート: ここではスワップパーティションをマウントしないでください。

まず最初に / (root) パーティションをマウントしてください。/boot/home などのディレクトリは root ファイルシステムに作成する必要があるためです。ライブ環境の /mnt ディレクトリを使用して root パーティションをマウントします。他のパーティションはそこをベースにします。root パーティションの名前が sdxR なら、次のコマンドを実行:

# mount /dev/sdxR /mnt

/ パーティションをマウントしたら、他のパーティションをマウントすることができます。順番は気にしなくて結構です。手順としてはまずマウントポイントを作成し、それからパーティションをそのマウントポイントにマウントします。/boot パーティションを作成していたのならば:

# mkdir -p /mnt/boot
# mount /dev/sdxB /mnt/boot
ノート: UEFI/GPT 環境の場合、EFI システムパーティションも /boot にマウントすることを推奨します。他のマウントポイントを使いたいときは、EFISTUB の記事を見て下さい。

/home パーティションを使用する場合:

# mkdir -p /mnt/home
# mount /dev/sdxH /mnt/home

全てのパーティションをマウントしたら、デバイスの準備は完了で Arch をインストールできます。

ミラーの選択

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

# nano /etc/pacman.d/mirrorlist
##
## Arch Linux repository mirrorlist
## Sorted by mirror score from mirror status page
## Generated on YYYY-MM-DD
##

Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
...
  • Alt+6Server 行をコピー。
  • PageUp キーで上にスクロール。
  • Ctrl+U でリストの一番上にペースト。
  • Ctrl+X で終了、保存するか聞かれたら、Y を押し Enter で上書き保存。

他のミラーを消去 (Ctrl+K を使う) してミラーをひとつだけに絞ることもできますが、そのミラーがオフラインになったときのことを考え、ミラーを複数使用するほうが良いでしょう。

ヒント:
  • Mirrorlist Generator を使って、あなたの国の最新リストを入手できます。keepalive が存在するため、HTTP ミラーのほうが FTP よりも速度が速いです。また FTP では、pacman はパッケージをダウンロードするごとにシグナルを送信しなくてはならないため、短い停止がはさまります。ミラーリストを作る他の方法を見るには、ミラーのソートReflector を参照してください。
  • Arch Linux MirrorStatus ではミラーの状況、たとえばネットワークエラー、データ収集エラー、最終同期時間などの様々な情報を見ることができます。
ノート:
  • 将来、ミラーリストを変更したときは必ず、pacman -Syyu で pacman の全てのパッケージリストを更新することを覚えておいて下さい。これは良い経験則と考えられており、問題の回避につながります。詳しくはミラーを参照。
  • 古いインストールメディアを使っている場合、ミラーリストが古くなっているかもしれません。そのために Arch Linux のアップデート時に問題を引き起こす可能性があります。(FS#22510 を参照)。上で述べたようにして最新のミラー情報を入手するべきです。

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

pacstrap スクリプトを使ってベースシステムをインストールします。インストールするパッケージを選択せず、base の全てのパッケージをインストールするときは、-i スイッチを省いて下さい。AURABS でパッケージをビルドするときのために、base-devel グループも必要になります。

# pacstrap -i /mnt base base-devel

他のパッケージは後で pacman を使ってインストールできます。

ノート:
  • ミラーを正しく設定しているのに、pacstraperror: failed retrieving file 'core.db' from mirror... : Connection time-out で止まる場合は、他のネームサーバを設定してみてください。
  • ベースパッケージのインストール中に PGP 鍵のインポートをリクエストされたら、鍵のダウンロードを承認して先に進んで下さい。これは古い Arch ISO を使っていると発生します。PGP 鍵を追加できないときは、次のようにして archlinux-keyring パッケージを更新してみてください: pacman -S archlinux-keyring。詳しくは Pacman#トラブルシューティングPacman-key#トラブルシューティング を見て下さい。

fstab の生成

以下のコマンドで fstab ファイルを生成します。いくつか有利な点がある UUID が使われます (fstab#ファイルシステムの識別 を参照)。UUID ではなくラベルを使いたいときは、-U オプションを -L に置き換えましょう。

# genfstab -U -p /mnt >> /mnt/etc/fstab
# nano /mnt/etc/fstab
警告: 生成したあとは必ず fstab の中身をチェックしましょう。genfstab や後のインストール作業中にエラーが起こっても、もう一度 genfstab を実行するのはやめてください。その場合は手動で fstab ファイルを編集して下さい。

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

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

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

# arch-chroot /mnt /bin/bash

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

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

警告: ISO で使用しているツールは自動的にインストールされるわけではありません。例えば、インストールの一環としてネットワークに接続するために wifi-menu を使っている場合、インストールを完了した後も wifi-menu を使うためには、dialog をインストールしておく必要があります。以下のセクションではそういったケースについて説明をしているので、後で困った事態にならないようにちゃんと指示に従って下さい。

ロケール

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

2つのファイルを編集する必要があります: 使用可能なロケールを記述する locale.gen と実際に使用するロケールを定義する locale.conf

locale.gen ファイルはデフォルトでは全てコメントアウト (# で無効化) されています。en_US.UTF-8 UTF-8 の行と、必要なロケールをアンコメント (行の前の # を削除) してください。選択肢がいくつかある場合 UTF-8 を推奨します。

# nano /etc/locale.gen
...
#en_SG ISO-8859-1
en_US.UTF-8 UTF-8
#en_US ISO-8859-1
...
#ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
#ka_GE.UTF-8 UTF-8
...

ロケールは有効にする前に、生成する必要があります:

# locale-gen

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

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

ロケールを export してください:

# export LANG=en_US.UTF-8
ヒント:
  • この段階でロケールを日本語に設定してしまうと、日本語を表示するためのフォントなどの環境が整っていないため、コンソールの出力が文字化けして判読できなくなってしまいます。GUI 環境を設定してから、以下を実行することで言語を日本語に設定できます:
# echo LANG=ja_JP.UTF-8 > /etc/locale.conf
# export LANG=ja_JP.UTF-8
  • システム全体のロケールを en_US.UTF-8 に設定してシステムログを英語で保存するとトラブルシューティングが楽になります。この設定はロケール#ユーザーごとにロケールを設定で書かれているようにしてユーザー個別で上書きできます。
  • 他の LC_* 変数を使いたいときは、まず locale を実行してオプションを確認してから、locale.conf に追加してください。LC_ALL 変数を使うことは推奨されません。詳しくはロケールを参照してください。

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

言語の選択でデフォルトのキーマップとフォントを変更していた場合、再起動後もキーマップ設定が適用されるように、/etc/vconsole.conf を編集 (ファイルがなかったら作成) してください:

# nano /etc/vconsole.conf
KEYMAP=jp106
FONT=lat9w-16

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

警告: KEYMAP を最初に loadkeys で設定した値と異なる値に設定してから、root パスワードを設定してしまうと、新しいシステムにログインするときにキーマップが変わっていてログインできなくなる可能性があります。

以上の設定は仮想端末においてのみ適用されます。Xorg ではまた異なる設定をする必要があります。詳しくはフォント#コンソールフォントを見て下さい。

タイムゾーン

利用可能なタイムゾーンとサブゾーンは /usr/share/zoneinfo/ゾーン/サブゾーン ディレクトリで見つかります。ls コマンドでゾーンの一覧を表示できます。/etc/localtime から適切なゾーンファイル /usr/share/zoneinfo/ゾーン/サブゾーン へのシンボリックリンクを作って下さい:

# ln -s /usr/share/zoneinfo/ゾーン/サブゾーン /etc/localtime
ヒント: タブ補完 を使うことでも利用できるゾーンとサブゾーンを表示できます。

例:

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

ln: failed to create symbolic link '/etc/localtime': File exists と表示される場合は、ls -l /etc/localtime で既存のファイルを確認してから、ln コマンドに -f オプションを追加して上書きしてください。

ハードウェアクロック

ハードウェアクロックモードを全ての OS で同じになるように設定します。さもないと、ハードウェアクロックが上書きされ時刻がずれてしまう可能性があります。hwclock コマンドは /etc/adjtime ファイルを生成します。UTC に設定するには、次を実行:

# hwclock --systohc --utc
ノート: ハードウェアクロックに UTC を使ったからといって、ソフトウェアが時刻を UTC で表示するわけではありません。
警告: Windows はデフォルトで localtime を使っています。Arch で localtime を使用すると既知の問題や容易に修復できないバグを引き起こす可能性があります。しかしながら、localtime のサポートを終了する計画はありません。localtime を使用する場合は、root で hwclock --systohc --localtime を実行してください。Windows 7 以降を使用する場合、Arch を localtime に設定するのではなく、Windows に UTC を使わせて、Windows の時刻同期を無効にすることが推奨されています。詳しくは時刻#Windows で UTC を使うを見て下さい。

カーネルモジュール

必要なカーネルモジュールは基本的に udev によって自動ロードされるため、手動でモジュールをロードする必要があるのは稀です。詳しくはカーネルモジュールを見て下さい。

ホスト名

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

# echo ホスト名 > /etc/hostname

同じホスト名を /etc/hosts に追加します:

#<ip-address> <hostname.domain.org> <hostname>
127.0.0.1 localhost.localdomain localhost ホスト名
::1   localhost.localdomain localhost ホスト名

ネットワークの設定

ネットワークの設定をもう一度行います。今回は新しくインストールされる環境のネットワーク設定です。上で説明したのと方法はほとんど同じですが、今回の設定では、設定が消えないように、ブート時に自動的に起動するように設定します。

まず最初に、ip link で接続を設定するネットワークインターフェイスの名前を確認してください。

ノート:
  • ネットワーク設定の詳しい情報は、ネットワーク設定ワイヤレス設定を参照してください。
  • インターフェースについて古い命名規則 (ethXwlanX) を使って欲しい時は /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 を使う

固定された有線ネットワーク接続が1つだけあるという環境の場合、ネットワーク管理サービスを使う必要はなく、単純に dhcpcd サービスを有効にするだけで足ります:

# systemctl enable dhcpcd@インターフェイス名.service
netctl を使う

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

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

プロファイルを編集して下さい (Interfaceeth0 から ip link を実行したときに確認したインターフェイス名に修正する):

# nano my_network

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

# netctl enable my_network
ノート: Running in chroot, ignoring request. というメッセージが表示されることがありますが、いまのところは無視してかまいません。
netctl-ifplugd を使う
警告: netctl enable プロファイル名 のようにしてプロファイルを有効にする方法と netctl-ifplugd を使う方法を一緒に用いることはできません。

netctlnetctl-ifplugd を使って動的に接続を管理することもできます。

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

# pacman -S ifplugd

そしてサービスを有効にしてください:

# systemctl enable netctl-ifplugd@インターフェイス名.service
ノート: 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 の中の /24255.255.255.0 ネットマスクの CIDR notation です。

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

# netctl enable my_network
systemd-networkd を使う

systemd-networkd を参照してください。

無線

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

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

# pacman -S iw wpa_supplicant
無線ネットワークの追加
wifi-menu を使う

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

# pacman -S dialog

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

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

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

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

接続するネットワークにあわせてプロファイルを編集してください (Interface, ESSID, Key を修正):

# nano my_network

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

# netctl enable my_network
既知のネットワークに自動で接続する
警告: netctl enable プロファイル名 のようにしてプロファイルを有効にする方法とこの方法を一緒に使うことはできません。

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

# pacman -S wpa_actiond

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

# systemctl enable netctl-auto@インターフェイス名.service
ノート: netctl には netctl-ifplugd もあり、netctl-auto と一緒に有線プロファイルを管理するのに使われます。

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

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

Initial ramdisk 環境の作成

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

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

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

# mkinitcpio -p linux

root パスワードの設定

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

# passwd

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

BIOS マザーボードの場合

BIOS システムでは、複数のブートローダが使えます。ブートローダの完全なリストはブートローダーにあります。あなたの都合に合わせてどれか一つを選んで下さい。よく使われるブートローダーは:

  • Syslinux は現在 Syslinux がインストールされたパーティションのファイルのみをロードするように制限されています。設定ファイルはわかりやすいものになっています。設定サンプルは Syslinux の記事にあります。
  • GRUB はより多くの機能を備えた複雑なブートローダです。設定ファイルはスクリプト言語 (sh) に似ていて、初心者が手動で設定するには難しいかもしれません。自動で設定を生成するのが推奨されます。

ここからは、GRUB と MBR の組み合わせでのインストールを説明します。grub パッケージをインストールしてから grub-install を実行してブートローダをインストールしてください:

# pacman -S grub
# grub-install --target=i386-pc --recheck /dev/sda
ノート:
  • /dev/sda はあなたが Arch をインストールしたドライブに書き換えてください。パーティション番号を加えてはいけません (sdaX を使ってはいけません)。
  • サンプルの /boot/grub/grub.cfg は grub パッケージの一部としてインストールされ、後の grub-* コマンドでは上書きされません。変更を加えるときは grub.cfg.new などのファイルではなく grub.cfg を編集してください。

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

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

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

UEFI マザーボードの場合

ノート: UEFI ファームウェアによってはインストールしたブートローダーの .efi ブータブルスタブを特定の名前で特定の場所に配置する必要があります: $esp/EFI/boot/bootx64.efi ($esp は EFI System Partition のマウントポイントに置き換えて下さい)。これをしていないと場合によっては、インストールした環境を起動できなくなることがあります。詳しくはそれぞれのブートローダーのセクションを見て下さい。

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

  • gummiboot は最小主義の UEFI ブートマネージャで、EFISTUB カーネルや他の UEFI アプリケーションのためのメニューを提供します。初心者、特に Windows 8 などの別のオペレーティングシステムとデュアルブートをしたいユーザーに推奨です。
  • GRUB は完全なブートローダーで、gummiboot で問題が起きた時に役に立ちます。

ここからは gummiboot のインストールを説明します。まず、インストール後に EFI System Partition を操作するための dosfstools パッケージと、(ブートマネージャのインストールスクリプトで使われる) .efi ブータブルスタブを作成するための efibootmgr をインストールしてください:

# pacman -S dosfstools efibootmgr
ノート:
  • UEFI でブートするには、ドライブは GPT でパーティションされている必要があり、EFI System Partition (512 MiB 以上, FAT32, gdisk タイプ EF00) が存在しなければなりません。このガイドを初めから実行しているのなら、すでに全て行われているはずです。
  • Gummiboot が自動的にアップデートされるように EFI System Partition は /boot にマウントすることを強く推奨します。

gummiboot パッケージをインストールして、gummiboot install を実行してブートローダを EFI System Partition にインストールしてください ($esp は EFI System Partiton の場所に置き換えて下さい、通常は /boot です):

# pacman -S gummiboot
# gummiboot --path=$esp install

Gummiboot はファームウェアによって自動で検出され、bootx64.efi ブータブルスタブが $esp/EFI/boot にあることを必要とします。そして .efi スタブを使ってインストールされている別のオペレーティングシステムを自動で検出します。ただし、Gummiboot の設定ファイルは手動で作成する必要があります。

まず、$esp/loader/entries/arch.conf を作成して以下を記述します、/dev/sdaXroot パーティションに置き換えて下さい (例: /dev/sda2):

# nano $esp/loader/entries/arch.conf
title          Arch Linux
linux          /vmlinuz-linux
initrd         /initramfs-linux.img
options        root=/dev/sdaX rw

次に、$esp/loader/loader.conf を作成して以下を記述します、timeout の値は自由に変更できます (秒数):

# nano $esp/loader/loader.conf
default  arch
timeout  5

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

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

chroot 環境を脱出します:

# exit
ノート: パーティションは systemd によってシャットダウン時に自動的にアンマウントされますが、安全対策として umount -R /mnt を使って手動でアンマウントすることもできます。パーティションがビジー状態の場合、fuser で原因を特定できます。

コンピュータを再起動:

# reboot
ヒント: インストールメディアを取り出してください、そうしないともう一度セットアップが起動してしまいます。マシンにログインするときはユーザー "root" と前に passwd コマンドで設定したパスワードを使います。デフォルトのパスワードは "root" です。

インストールのその先

あなたの新しい Arch Linux ベースシステムは今、あなたの目的や希望のために必要な全てを入れる準備ができた GNU/Linux になっています。ここからは一般的な推奨事項のページを見ることを推奨します。特に最初の2つのセクションは必読です。また、他のセクションには、グラフィカルユーザーインターフェイス (GUI) やサウンド、タッチパッドの設定などのチュートリアルが書かれたページヘのリンクが載っています。

あなたの興味を引くであろうアプリケーションの一覧は、アプリケーション一覧を参照。