ビギナーズガイド
この文章では Arch Install Scripts を使って Arch Linux をインストールする方法を解説します。インストールする前に、FAQ を一読することをおすすめします。
コミュニティによって管理されている Arch wiki は有用な資料であり、問題が発生したらまず wiki を読んでみましょう。wiki で答えが見つからないときは、IRC チャンネル (irc://irc.freenode.net/#archlinux) やフォーラムを使って下さい。また、Arch Way に従って、知らないコマンドの man
ページを見るようにしましょう。man コマンド
で見ることができます。
目次
インストールの準備
動作環境
Arch Linux は i686 互換の、最低 64MB の RAM を積んだマシンで動作します。また、基本的なインストールに必要な base グループに含まれる全てのパッケージをインストールするには約 800MB のディスク容量が必要です。使える容量が少ない場合、この数値をかなり切り詰めることが可能ですが、どうやるかは調べる必要があります。
最新のインストールメディアを準備する
最新の Arch の公式インストールメディアはダウンロードページから入手できます。ひとつの ISO で32ビットと64ビット両方のアーキテクチャをサポートしています。出来るだけ一番新しい ISO を使って下さい。
- インストールイメージには署名がされており、使用する前に署名を検証するのが推奨されています: ダウンロードページ (もしくは記載されているミラーのどれか) から .sig ファイルを .iso ファイルと同じディレクトリにダウンロードしてください。Arch Linux では root で
pacman-key -v iso-file.sig
を、他の環境では gpg2 を使ってgpg2 --verify iso-file.sig
を実行することで検証できます。ファイルのチェックサムの md5 や sha1 も提供されています。
- ISO イメージを好みのソフトウェアで CD や DVD に書き込む。Arch で行う方法は、光学ディスクドライブ#焼き込み に記述しています。
- ISO イメージを USB メモリに書き込む。USB インストールメディアを参照してください
ネットワーク経由でのインストール
ディスクまたは USB メモリにブートメディアを書き込む代わりに、ISO イメージをネットワーク経由でブートする方法です。あなたが既にサーバーを設定している場合、うまく動きます。PXE の記事を参照し、Arch Linux インストーラの起動へ進みましょう。
既存の Linux 環境からインストール
既に動かしている Linux 環境からインストールすることも可能です。既存の Linux からインストールを見て下さい。
仮想マシンへのインストール
現在のオペレーティングシステムを残し、ストレージのパーティショニングなしで Arch Linux とそのインストール手順に慣れるために、仮想マシン上にインストールするのは良い方法です。ブラウザでこの Beginners' Guide を開いたままインストールが出来るようになります。テストとして独立した Arch Linux システムを使用できるということは一部のユーザーにとって有利なことでしょう。
仮想化ソフトウェアの例としては、VirtualBox, VMware, QEMU, Xen, Parallels があります。
仮想マシンを準備するための正確な手順は、ソフトウェアによって異なりますが、一般的に次の手順に従います。
- オペレーティングシステムのホストにて、仮想ディスクイメージを作成します。
- 仮想マシンの設定を最適化します。
- 仮想 CD ドライブでダウンロードした ISO イメージを起動します。
- Arch Linux インストーラの起動に進みます。
次の記事が役に立つかもしれません。
- VirtualBox のゲスト OS として Arch Linux をインストール
- Arch Linux as VirtualBox guest on a physical drive
- VMware のゲストとして Arch Linux をインストール
- 既存のインストール環境を仮想マシンから移動
Arch Linux インストーラの起動
最初に、あなたのコンピュータの BIOS セットアップで起動順序を変更する必要があるかもしれません。それには、POST (Power On Self-Test) の間にキー (多くの場合 Delete
、F1
、F2
、F11
や F12
) を押します。これで BIOS の設定画面が表示されるので、ここでシステムが起動するデバイスを探す順番を設定できます。"Save & Exit" (もしくはそれに準ずるもの) を選択すればコンピュータは通常通り起動するはずです。
Arch のメニューが表示されたら、インストールを行うライブ環境を開始するために "Boot Arch Linux" をメニューから選択し、 Enter
キーを押します (UEFI ブートディスクから起動された場合は、オプションは次のように表示されます: "Arch Linux archiso x86_64 UEFI")。
ライブ環境のシェルは Zsh です; grml config の一部の機能、高度なタブ補完機能などを提供します。
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 として自動的にログインされている状態です。テキストファイルを編集する時は、コンソールエディタの nano を例として使います。使い方をよく知らない場合は、nano#nano の使用方法 を見て下さい。Windows とのデュアルブートをする(もしくはそうすることを計画している)場合、Windows と Arch のデュアルブートを見て下さい。
言語の選択
標準で、キーボードのレイアウトは us
に設定されています。もし、US キーボード以外のレイアウトを使用している場合は、
# loadkeys layout
で変更できます。layout の部分は jp106
、fr
、uk
、be-latin1
などとします。ここから一般的なリストを見ることができます。利用可能なキーマップを表示するには localectl list-keymaps
コマンドを使って下さい。
フォントも変える必要があるかもしれません。ほとんどの言語はアルファベットの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
インターネット接続の確立
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 アドレス
- CIDR ブロックのサブネットマスク。例えば
255.255.255.0
ネットマスクの CIDR ブロックは/24
です。 - ゲートウェイの 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
これでネットワーク接続は有効になるはずです。ならない場合、ネットワーク設定を確認してください。
無線
インストール中にワイヤレス接続(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" から始まるインターフェースは違います。
次に、netctl の wifi-menu
を使いネットワークに接続します。wlp3s0
はあなたのインターフェイスの名前に置き換えて下さい:
# wifi-menu wlp3s0
これでネットワークは有効になるはずです。接続されないときは、ワイヤレス設定のページを確認してください。
インターフェースを立ち上げます:
# 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>
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
環境変数を設定しなくてはなりません。
詳しい情報はプロクシ設定を見て下さい。
ドライブの準備
パーティションテーブルのタイプの選択
GUID Partition Table (GPT) と Master Boot Record (MBR) のどちらかを選ぶ必要があります。GPT のほうが新しく、新しくインストールする場合に推奨されます。パーティショニング#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 にも含まれています。ドライブを利用するにはまずパーティションし、再起動前にファイルシステムでフォーマットしなくてはなりません。
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 では必要ありません。 - システムのディスク暗号化をする必要がある場合、パーティションスキームに反映しなくてはなりません。システムをインストールした後に暗号化したフォルダ・コンテナや home ディレクトリを追加するのが簡単です。
- ext4 以外のファイルシステム (F2fs など) を root ファイルシステムに使うつもりならば、まず GRUB がファイルシステムをサポートしているか確認する必要があります。もしサポートされていない場合 GRUB と互換のあるパーティション (ext4 など) を作成して、それを
/boot
に使わなくてはなりません。
スワップパーティションやスワップファイルを設定したいのならスワップを参照してください。スワップはインストール後いつでも作成でき、スワップファイルはスワップパーティションよりリサイズが簡単です。ただし Btrfs ではスワップファイルは使うことができません。
すでにパーティションを作成済みならば、ファイルシステムの作成に進んで下さい。
そうでなければ、次のサンプルを読んでください。
サンプル
Arch Linux インストールメディアは次のパーティショニングツールを含んでいます: fdisk
, gdisk
, cfdisk
, cgdisk
, parted
。
この例ではシステムに 15 GB の root パーティションと 残りスペース全ての home パーティションを作ります。MBR か GPT どちらかを選んで下さい。
パーティショニングの設定は人それぞれのもので、この例は具体的な説明のためだけにあります。パーティショニングを見て下さい。
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 パーティションを作成する
fdisk を起動してください:
# fdisk /dev/sda
パーティションテーブルを作成:
Command (m for help):
o
と入力してEnter
を押す
まず最初のパーティションを作成:
Command (m for help):
n
と入力してEnter
を押す- Partition type:
Select (default p):
Enter
を押す Partition number (1-4, default 1):
Enter
を押すFirst sector (2048-209715199, default 2048):
Enter
を押すLast sector, +sectors or +size{K,M,G,T,P} (2048-209715199....., default 209715199):
+15G
と入力してEnter
を押す
次に二番目のパーティションを作成:
Command (m for help):
n
と入力してEnter
を押す- Partition type:
Select (default p):
Enter
を押す Partition number (1-4, default 2):
Enter
を押すFirst sector (31459328-209715199, default 31459328):
Enter
を押す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 ファイルシステムでパーティションをフォーマットするには:
# mkfs.ext4 /dev/sda1 # mkfs.ext4 /dev/sda2
swap (コード 82) 用のパーティションを作った時は忘れずにフォーマットして有効にして下さい:
# mkswap /dev/sdaX # swapon /dev/sdaX
UEFI では、EFI System Partition (例えば /dev/sdXY) をフォーマットする必要があります:
# mkfs.fat -F32 /dev/sdXY
パーティションのマウント
パーティションにはそれぞれ番号がふられます。たとえば、sda1
は最初のドライブの最初のパーティションを指定し、一方 sda
は全てのドライブを指定します。
現在のパーティションレイアウトを表示:
# lsblk -f
まず、 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 YYYY-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
を使う) してミラーをひとつだけに絞ることができます。しかし、一般的には、そのミラーがオフラインになったときのことを考え、ミラーを複数使った方が良いと思われます。
ベースシステムのインストール
pacstrap スクリプトを使ってベースシステムをインストールします。base と base-devel の全てのパッケージをインストールするつもりなら、-i
スイッチは省いて下さい。
# pacstrap -i /mnt base base-devel
- 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
考察事項:
- 最後のフィールドには起動時にチェックするパーティションの順番を設定します: (
btrfs
以外では) root パーティションに1
を使って下さい、最初にチェックされます; 起動時にチェックしたい他のパーティションには2
を使って下さい、0
はチェックされません (fstab#フィールドの定義を参照)。 - btrfs のパーティションには全て
0
を使う必要があります。通常、swap パーティションも0
を設定するはずです。
Chroot とベースシステムの設定
次に、chroot を使って新しくインストールされたシステムに入ります:
# arch-chroot /mnt /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
他の LC_*
変数を使いたいときは、まず locale
を実行してオプションを確認し、locale.conf
に追加してください。LC_ALL
変数を使うことは推奨されません。詳しくは ロケール#システム全体のロケールを設定する を参照してください。
コンソールフォントとキーマップ
インストールの最初にキーマップをセットした場合、今ロードしてください、なぜなら環境が変わったからです。例えば:
# 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 (推奨)
# hwclock --systohc --utc
インターネットを使って "UTC" 時刻を同期する方法は NTPd を見て下さい。
- localtime (非推奨; Windows でのデフォルト)
# hwclock --systohc --localtime
カーネルモジュール
起動中にカーネルモジュールをロードするには、/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
同じホスト名を /etc/hosts
に追加します:
# nano /etc/hosts
# # /etc/hosts: static lookup table for host names # #<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 localhost.localdomain localhost myhostname ::1 localhost.localdomain localhost myhostname # End of file
ネットワークの設定
ネットワークの設定をもう一度行います。今回は新しいインストールされた環境のために行います。以前に説明したのと方法はほとんど同じですが、設定を永続させて、起動時に自動的に行うようにします。
まず最初に、ip link
で接続を設定するネットワークインターフェイスの名前を確認してください。
有線
ダイナミック IP
- dhcpcd を使う
もし固定された有線ネットワーク接続が1つだけあるのなら、ネットワーク管理サービスを使う必要はなく、単純に dhcpcd
サービスを有効にするだけです:
# systemctl enable dhcpcd.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
- netctl-ifplugd を使う
もしくは netctl の netctl-ifplugd
を使って動的な接続を管理することもできます:
ifplugd をインストールしてください、netctl-ifplugd
を使うために必要なパッケージです:
# pacman -S ifplugd
そしてインターフェースを有効にしてください:
# systemctl enable netctl-ifplugd@<interface>.service
固定 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 を参照してください。
無線
ネットワークに接続するために iw と wpa_supplicant をインストールしてください:
# pacman -S iw wpa_supplicant
無線ネットワークの追加
- wifi-menu を使う
wifi-menu
に必要な dialog をインストールしてください:
# pacman -S dialog
このインストールと再起動が終わった後 wifi-menu <interface>
(<interface>
はあなたの無線インターフェースに置き換えてください) でネットワークに接続することができます。
# wifi-menu <interface>
- 手動の 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
既知のネットワークに自動で接続する
netctl-auto
に必要な wpa_actiond をインストールしてください:
# pacman -S wpa_actiond
netctl-auto
サービスを有効にすれば、既知のネットワークに接続しローミングや切断を管理します:
# systemctl enable netctl-auto@interface_name.service
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 両方のアプリケーションを動かせるようになります):
[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 環境の作成
root が USB ドライブにあったり、RAID や LVM を使っていたり、/usr
が分割されたパーティション上にある場合は、ここで正しい hooks を設定しなくてはなりません。
必要に応じて /etc/mkinitcpio.conf
を編集し、initramfs イメージを再形成します:
# mkinitcpio -p linux
root パスワードの設定
root パスワードを設定します:
# passwd
ブートローダのインストールと設定
Intel の CPU を使用している場合、ブートローダーにマイクロコードのアップデートの設定をすると良いでしょう (AMD では自動でアップデートされます)。
BIOS マザーボード
BIOS システムでは、複数のブートローダが使えます。ブートローダの完全なリストはブートローダーにあります。あなたの都合に合わせてどれか一つを選んで下さい。ここでは、2つのブートローダを例として取り上げます:
- Syslinux は現在 Syslinux がインストールされたパーティションのファイルのみをロードするように制限されています。設定ファイルはわかりやすいものになっています。設定サンプルは Syslinux の記事にあります。
- GRUB はより多くの機能を備えた複雑なブートローダです。設定ファイルはスクリプト言語 (sh) に似ていて、初心者が手動で設定するには難しいかもしれません。自動で設定を生成するのが推奨されます。
Syslinux
前にハードディスクで GUID パーティションテーブル (GPT) を使うことを選択した場合は、syslinux のインストールを完了するために gptfdisk パッケージをインストールする必要があります:
# pacman -S gptfdisk
syslinux パッケージをインストールし、syslinux-install_update
スクリプトを使って自動的にファイルをインストールし (-i
)、ブートフラグを設定して (-a
)、MBR ブートコードをインストールすることで (-m
)、パーティションを有効化します:
# pacman -S syslinux # syslinux-install_update -iam
syslinux.cfg
に正しい root パーティションを設定してください。この手順は重要です。間違ったパーティションを指定すると、Arch Linux は起動できなくなります。/dev/sda3
をあなたの root パーティションにしてください (もしドライブをこの例のようにパーティションしているなら、あなたの root パーティションは /dev/sda1
です)。
# nano /boot/syslinux/syslinux.cfg
... LABEL arch ... APPEND root=/dev/sda3 rw ... LABEL archfallback ... APPEND root=/dev/sda3 rw ...
パーティション番号ではなく UUID を追加する場合は APPEND root=UUID=partition_uuid rw
です。
Syslinux の設定についての詳しい情報は Syslinux を見て下さい。
GRUB
grub パッケージをインストールしてから grub-install
を実行してブートローダをインストールしてください:
# pacman -S grub # grub-install --target=i386-pc --recheck /dev/sda
次に grub.cfg
を作ります。手動で作る方が細かい設定ができますが、初心者は自動で生成するのが推奨されています:
# grub-mkconfig -o /boot/grub/grub.cfg
GRUB の使用・設定の詳しい情報は、GRUB2 を参照。
UEFI マザーボード
UEFI システムでも、複数のブートローダが使えます。利用できるブートローダの完全なリストは UEFI ブートローダーにあります。あなたの都合にあわせて選んで下さい。ここでは、2つのブートローダを例として提示します:
- gummiboot は最小主義の UEFI ブートマネージャで、EFISTUB カーネルや他の UEFI アプリケーションのためのメニューを提供します。初心者、特に Windows 8 などの別のオペレーティングシステムとデュアルブートをしたいユーザーに推奨です。
- GRUB は完全なブートローダーで、gummiboot で問題が起きた時に役に立ちます。
どちらの方法も選ぶ場合も、インストール後に EFI System Partition を操作するための dosfstools パッケージと、(ブートマネージャのインストールスクリプトで使われる) .efi
ブータブルスタブを作成するための efibootmgr を最初にインストールします:
# pacman -S dosfstools efibootmgr
Gummiboot
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/sdaX
は root パーティションに置き換えて下さい (例: /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 を見て下さい。
GRUB
grub をインストールして grub インストールスクリプトを実行します ($esp
は EFI System Partiton の場所に置き換えて下さい、通常は /boot
):
# pacman -S grub # grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=arch_grub --recheck
grubx64.efi
ブータブルスタブが $esp/EFI/arch_grub
に配置されます。ファームウェアがスタブを検出するかどうかわからなかったり、複数のブートローダーを使わない場合、上記の通り、スタブをデフォルトの場所からコピーして UEFI ファームウェアによって確かに起動できるように名前を変更します:
# mkdir $esp/EFI/boot # cp $esp/EFI/arch_grub/grubx64.efi $esp/EFI/boot/bootx64.efi
次に、grub.cfg
を作成します。手動で作る方が細かい設定ができますが、初心者は自動で生成するのが推奨されています:
# grub-mkconfig -o /boot/grub/grub.cfg
GRUB の使用・設定の詳しい情報は、GRUB を参照。
パーティションのアンマウントと再起動
chroot 環境を脱出します:
# exit
コンピュータを再起動:
# reboot
インストールのその先
あなたの新しい Arch Linux ベースシステムは今、あなたの目的や希望のために必要な全てを入れる準備ができた GNU/Linux になっています。殆どの人は、サウンドとグラフィックをそなえたデスクトップ環境に興味があるでしょう: ガイドのこのパートでは、これらの追加的要素を使うための、簡単な概要を記述します。
ユーザー管理
ユーザー管理で記述されているようにして必要なユーザーアカウントを追加してください。通常の利用に root アカウントを使ったり、サーバーの SSH から root が見えるのは得策とは言えません。root アカウントは管理業務だけに使われるべきです。Linux 初心者ならば、あなたの新しいシステムに入っているコアユーティリティを知っておくと役に立つかもしれません。
例えば bash をログインシェルに指定して archie
という名前のユーザーを追加:
# useradd -m -g users -G wheel -s /bin/bash archie
パッケージ管理
Pacman が Arch Linux のパッケージマネージャ (package manager) です。pacman や FAQ#パッケージ管理 を見て、インストール・アップデート・パッケージ管理について学んで下さい。
Arch Linux x86_64 をインストールした場合、32ビットのアプリケーションを使うために [multilib] リポジトリを有効にできます。
それぞれのリポジトリの役割については Official Repositories を見て下さい。
サービス管理
Arch Linux はシステムとサービスの管理に systemd を init として使っています。あなたの Arch Linux をメンテナンスするのに、systemd について基本的なことを知っておくべきです。systemd を使うときには systemctl
コマンドを使います。 systemd#systemctl の基本的な使い方 を読んで下さい。
サウンド
ALSA は箱から出してすぐ使える状態になっています。アンミュートするだけです。alsa-utils をインストール (alsamixer
が入っています) してこの記事を読んで下さい。
最初にカーネルに含まれている ALSA を試すことをおすすめします。もし、ALSA が動かないときは OSS を代わりに使うことができます。より上級者向けのオーディオを求めるならば、Sound system を見て様々な記事の概要を一読しましょう。
グラフィカルユーザーインターフェース
X のインストール
X Window System (X11 または X) はネットワークとディスプレイのプロトコルであり、ビットマップディスプレイでのウィンドウ環境を提供します。グラフィカルユーザーインターフェース(GUI)を構成するための標準のツールキットとプロトコルが備わっています。
ベースの xorg パッケージのインストール:
# pacman -S xorg-server xorg-server-utils xorg-xinit
3D サポートのための mesa をインストール:
# pacman -S mesa
ビデオドライバのインストール
あなたのマシンにどのビデオ・チップセットが載っているのかわからないときは:
$ lspci | grep VGA
オープンソース・ビデオドライバ全ての一覧を見るために、パッケージ・データベースを検索:
$ pacman -Ss xf86-video | less
vesa
は一般的な mode-setting ドライバです。ほとんどの GPU で動きますが、2D 又は 3D アクセラレーションは全くありません。より良いドライバが見つからなかったり、ロードできなかった場合、Xorg は vesa ドライバに戻ります。インストールするには:
# pacman -S xf86-video-vesa
GPU が持っているビデオアクセラレーション機能を働かせるには、正しいビデオドライバが必要です。よく使われるビデオドライバーの表がある Xorg#ドライバーのインストール を見て下さい。
インプットドライバのインストール
Udev が問題なくハードウェアを認識することができるはずです。evdev
ドライバ (xf86-input-evdev) は近代的なホットプラグ・インプットドライバであり、ほぼ全てのデバイスに対応しているので、ほとんどの場合インプットドライバのインストールは不要です。evdev
は xorg-server パッケージの依存として既にインストールされているはずです。
ラップトップユーザー(やタッチスクリーンを持っている人)はタッチパッドやタッチスクリーンを動かすのに xf86-input-synaptics パッケージが必要です:
# pacman -S xf86-input-synaptics
タッチパッドに関するチューニングやトラブルシューティングの解説は、Touchpad Synaptics を参照してください。
X の設定
Xorg が自動検出するので、xorg.conf
の設定なしでも動作します。手動で X サーバーを設定したいならば、wiki の Xorg のページを読みましょう。
ここで標準の US キーボードを使っていないときは、キーボードレイアウトを設定することができます。
/etc/X11/xorg.conf.d/10-keyboard.conf
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbLayout" "jp" EndSection
X のテスト
デフォルト環境のインストール:
# pacman -S xorg-twm xorg-xclock xterm
Xorg を非 root ユーザを作る前にインストールしたときは、.xinitrc
ファイルのテンプレートが home ディレクトリに作られるので、削除するかコメントアウトする必要があります。単純に削除すると、 X は上でインストールしたデフォルト環境で動作します。
$ rm ~/.xinitrc
(テスト) Xorg セッションを起動させましょう:
$ startx
複数の移動可能なウィンドウが現われ、マウスも動くはずです。X のインストールの成功に満足したら、exit
コマンドをプロンプトに入力して X を終了できます。
$ exit
スクリーンが真っ暗になった場合、異なるバーチャルコンソールにスイッチした (例えば Ctrl+Alt+F2
)、もしくはやみくもに root でログインした可能性があります。同じ事は "root" と入力して (その後 Enter
を押す)、root パスワードを入力すればできます(同じく、入力後に Enter
)。
X サーバーをキルしたくなった時は:
# pkill X
これで終了しないときは、しかたがないので再起動しましょう:
# reboot
トラブルシューティング
問題が発生した時は、Xorg.0.log
のエラーを見ましょう。エラー(error)をあらわす (EE)
で始まる行や、他の問題を示すウォーニング(warning)を意味する (WW)
の行を見て下さい。
$ grep EE /var/log/Xorg.0.log
Xorg の記事を見た後もトラブルが治らず、Arch Linux フォーラムや IRC チャンネルで助けを求めるときは、wgetpaste をインストールして使うようにしましょう:
# pacman -S wgetpaste $ wgetpaste ~/.xinitrc $ wgetpaste /etc/X11/xorg.conf $ wgetpaste /var/log/Xorg.0.log
フォント
初めから入っている、スケールしないビットマップフォントだけでは飽きたらず、TrueType フォントのセットをインストールしたくなったかもしれません。DejaVu はハイクオリティな一般用途向けのフォントセットで、Unicode をほぼカバーしています:
# pacman -S ttf-dejavu
フォントレンダリングの設定やフォントのインストールについてはフォント設定やフォントを参照してください。
グラフィカルインターフェースの選択とインストール
X Window System はグラフィカルユーザーインターフェース (GUI) を作るための標準フレームワークを提供しています。
- ウィンドウマネージャ (Window Manager,WM) は X Window System と連携してアプリケーション・ウィンドウの配置と外観をコントロールします。
- デスクトップ環境 (Desktop Environment,DE) は X と連携して動作し、機能的で動的な GUI の完全な供給を行います。DE は典型的にウィンドウマネージャ、アイコン、アップレット、ウィンドウ、ツールバー、フォルダー、壁紙、アプリケーション・スイート、ドラッグ・ドロップなどの機能などを持っています。
xorg-xinit
の startx
を使って X を起動するのに代わる方法があります。ディスプレイマネージャを使う方法はディスプレイマネージャを見て下さい。既存の仮想端末をディスプレイマネージャとして機能させるにはログイン時に X を起動を見て下さい。
付録
あなたの興味を引くであろうアプリケーションの一覧は、アプリケーション一覧を参照。
タッチパッドやフォントレンダリングの設定のようなインストール後のチュートリアルは一般的な推奨事項を参照。