Beginners' Guide/Installation (日本語)
Contents
インストール
シェルプロンプトが表示されていて、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