「ビギナーズガイド」の版間の差分
549行目: | 549行目: | ||
}} |
}} |
||
− | + | == fstab の生成 == |
|
− | 以下のコマンドで [[ |
+ | 以下のコマンドで [[fstab]] ファイルを生成します。いくつか有利な点がある UUID が使われます ([[fstab#ファイルシステムの識別]] を参照)。UUID ではなくラベルを使いたいときは、{{ic|-U}} オプションを {{ic|-L}} に置き換えましょう。 |
# genfstab -U -p /mnt >> /mnt/etc/fstab |
# genfstab -U -p /mnt >> /mnt/etc/fstab |
||
# nano /mnt/etc/fstab |
# nano /mnt/etc/fstab |
||
− | {{Warning|生成したあとは必ず {{ic|fstab}} をチェックしましょう。''genfstab'' や後のインストール作業中にエラーが起こっても、もう一度 ''genfstab'' を |
+ | {{Warning|生成したあとは必ず {{ic|fstab}} の中身をチェックしましょう。''genfstab'' や後のインストール作業中にエラーが起こっても、もう一度 ''genfstab'' を実行するのはやめてください。その場合は手動で {{ic|fstab}} ファイルを編集して下さい。}} |
+ | 最後のフィールドには起動時にチェックするパーティションの順番を設定します: ({{ic|btrfs}} 以外では) root パーティションに {{ic|1}} を使って下さい、最初にチェックされます。起動時にチェックしたい他のパーティションには {{ic|2}} を使って下さい、{{ic|0}} はチェックされません ([[fstab#フィールドの定義]] を参照)。[[btrfs]] のパーティションには全て {{ic|0}} を使う必要があります。スワップパーティションも {{ic|0}} に設定してください。 |
||
− | 考察事項: |
||
+ | == Chroot とベースシステムの設定 == |
||
− | * 最後のフィールドには起動時にチェックするパーティションの順番を設定します: ({{ic|btrfs}} 以外では) root パーティションに {{ic|1}} を使って下さい、最初にチェックされます; 起動時にチェックしたい他のパーティションには {{ic|2}} を使って下さい、{{ic|0}} はチェックされません ([[fstab#フィールドの定義|fstab#フィールドの定義]]を参照)。 |
||
− | * [[btrfs|btrfs]] のパーティションには全て {{ic|0}} を使う必要があります。通常、''swap'' パーティションも {{ic|0}} を設定するはずです。 |
||
− | |||
− | === Chroot とベースシステムの設定 === |
||
次に、[[Change Root|chroot]] を使って新しくインストールされたシステムに入ります: |
次に、[[Change Root|chroot]] を使って新しくインストールされたシステムに入ります: |
||
569行目: | 566行目: | ||
# arch-chroot /mnt /bin/bash |
# arch-chroot /mnt /bin/bash |
||
− | {{Note|sh シェルに chroot する場合は {{ic|/bin/bash}} を取って下さい。}} |
||
この段階では、Arch Linux ベースシステムの重要な設定ファイルを作ります。ファイルが存在していないときや、デフォルト設定を使いたくないときは、その都度ファイルを作成したり編集してください。 |
この段階では、Arch Linux ベースシステムの重要な設定ファイルを作ります。ファイルが存在していないときや、デフォルト設定を使いたくないときは、その都度ファイルを作成したり編集してください。 |
||
− | 正確に、手順をよく踏まえてから設定してください。システムを正しく設定する |
+ | 正確に、手順をよく踏まえてから設定してください。システムを正しく設定するのにとても重要なステップです。 |
+ | {{Warning|ISO で使用しているツールは自動的にインストールされるわけではありません。例えば、インストールの一環としてネットワークに接続するために ''wifi-menu'' を使っている場合、インストールを完了した後も ''wifi-menu'' を使うためには、{{Pkg|dialog}} をインストールしておく必要があります。以下のセクションではそういったケースについて説明をしているので、後で困った事態にならないようにちゃんと指示に従って下さい。}} |
||
− | ==== Locale ==== |
||
+ | === ロケール === |
||
− | Locale を設定することによって、{{Pkg|glibc}} やその他の locale を使うプログラムやライブラリで、テキストのレンダリング、正しい通貨単位の表示、時間と月日のフォーマット、アルファベットの特有表現、地域特有の単位の表示などができるようになります。 |
||
+ | ロケールを設定することによって、{{Pkg|glibc}} やその他のロケールを使うプログラムやライブラリで、テキストのレンダリング、正しい通貨単位の表示、時間と月日のフォーマット、アルファベットの特有表現、地域特有の単位の表示などができるようになります。 |
||
− | 2つのファイルを編集する必要があります: {{ic|locale.gen}} と {{ic|locale.conf}}。 |
||
+ | 2つのファイルを編集する必要があります: 使用可能なロケールを記述する {{ic|locale.gen}} と実際に使用するロケールを定義する {{ic|locale.conf}}。 |
||
− | * {{ic|locale.gen}} ファイルはデフォルトでは空です(全てコメントアウトされています)ので必要な行の前の {{ic|#}} を削除してください。English (US) の行だけでなく、あなたが選んだ {{ic|UTF-8}} エンコードの分だけ削除してください: |
||
+ | |||
+ | {{ic|locale.gen}} ファイルはデフォルトでは全てコメントアウト ({{ic|#}} で無効化) されています。{{ic|en_US.UTF-8 UTF-8}} の行と、必要なロケールをアンコメント (行の前の {{ic|#}} を削除) してください。選択肢がいくつかある場合 {{ic|UTF-8}} を推奨します。 |
||
{{hc|# nano /etc/locale.gen| |
{{hc|# nano /etc/locale.gen| |
||
+ | ... |
||
+ | #en_SG ISO-8859-1 |
||
en_US.UTF-8 UTF-8 |
en_US.UTF-8 UTF-8 |
||
+ | #en_US ISO-8859-1 |
||
− | ja_JP.UTF-8 UTF-8}} |
||
+ | ... |
||
+ | #ja_JP.EUC-JP EUC-JP |
||
+ | ja_JP.UTF-8 UTF-8 |
||
+ | #ka_GE.UTF-8 UTF-8 |
||
+ | ... |
||
+ | }} |
||
+ | |||
+ | ロケールは有効にする前に、''生成''する必要があります: |
||
# locale-gen |
# locale-gen |
||
+ | {{ic|locale.conf}} ファイルはデフォルトで存在しません。ファイルを作成して、他の全ての変数のデフォルト値として扱われる {{ic|LANG}} のみ設定してください。{{ic|LANG}} 変数に指定するロケールは {{ic|/etc/locale.gen}} でアンコメントされている必要があります: |
||
− | locale-gen は {{Pkg|glibc}} のアップグレード毎に実行され、{{ic|/etc/locale.gen}} で示された locale を生成します。 |
||
+ | # echo LANG=''en_US.UTF-8'' > /etc/locale.conf |
||
− | * {{ic|locale.conf}} ファイルはデフォルトで存在しません。他の全ての変数のデフォルト値として扱われる {{ic|LANG}} のみ設定すれば十分で、次のコマンドでロケールを設定できます。{{ic|LANG}} 変数に指定するロケールは {{ic|/etc/locale.gen}} でアンコメントされている必要があります。 |
||
+ | ロケールを export してください: |
||
− | # echo LANG=en_US.UTF-8 > /etc/locale.conf |
||
− | # export LANG=en_US.UTF-8 |
||
+ | # export LANG=''en_US.UTF-8'' |
||
− | {{Warning|コンソールでは日本語は文字化けします。GUI 環境を設定してから以下で {{ic|locale.conf}} を設定するといいでしょう。 |
||
− | # echo <nowiki>LANG=ja_JP.UTF-8 > /etc/locale.conf</nowiki> |
||
− | # export <nowiki>LANG=ja_JP.UTF-8</nowiki> |
||
− | また、日本語を表示するために X をインストールした後に[[フォント#日本語|日本語のフォント]]をインストールしましょう。}} |
||
+ | {{Tip| |
||
− | 他の {{ic|LC_*}} 変数を使いたいときは、まず {{ic|locale}} を実行してオプションを確認し、{{ic|locale.conf}} に追加してください。{{ic|LC_ALL}} 変数を使うことは推奨されません。詳しくは [[Locale#システム全体のロケールを設定する|ロケール#システム全体のロケールを設定する]] を参照してください。 |
||
+ | * この段階でロケールを日本語に設定してしまうと、日本語を表示するためのフォントなどの環境が整っていないため、コンソールの出力が文字化けして判読できなくなってしまいます。GUI 環境を設定してから、以下を実行することで言語を日本語に設定できます: |
||
+ | # echo LANG<nowiki>=</nowiki>''ja_JP.UTF-8'' > /etc/locale.conf |
||
+ | # export LANG<nowiki>=</nowiki>''ja_JP.UTF-8'' |
||
+ | * システム全体のロケールを {{ic|en_US.UTF-8}} に設定してシステムログを英語で保存するとトラブルシューティングが楽になります。この設定は[[ロケール#ユーザーごとにロケールを設定]]で書かれているようにしてユーザー個別で上書きできます。 |
||
+ | * 他の {{ic|LC_*}} 変数を使いたいときは、まず {{ic|locale}} を実行してオプションを確認してから、{{ic|locale.conf}} に追加してください。{{ic|LC_ALL}} 変数を使うことは推奨されません。詳しくは[[ロケール]]を参照してください。 |
||
+ | }} |
||
− | + | === コンソールフォントとキーマップ === |
|
− | + | [[#言語の選択|言語の選択]]でデフォルトのキーマップとフォントを変更していた場合、再起動後もキーマップ設定が適用されるように、{{ic|/etc/vconsole.conf}} を編集 (ファイルがなかったら作成) してください: |
|
− | |||
− | # loadkeys ''jp106'' |
||
− | # setfont Lat2-Terminus16 |
||
− | |||
− | 再起動後もキーマップ設定を持続させるために、{{ic|vconsole.conf}} を編集 (ファイルがなかったら作成してください): |
||
{{hc|# nano /etc/vconsole.conf|2= |
{{hc|# nano /etc/vconsole.conf|2= |
||
KEYMAP=jp106 |
KEYMAP=jp106 |
||
− | FONT= |
+ | FONT=lat9w-16 |
}} |
}} |
||
− | |||
− | * {{ic|KEYMAP}} – この設定は TTY でのみ有効で、グラフィカルウィンドウマネージャや Xorg では使われません。 |
||
− | |||
− | * {{ic|FONT}} – 利用可能なコンソールフォントは {{ic|/usr/share/kbd/consolefonts/}} にあります。デフォルト(空)でも問題ありませんが、いくつかの言語の文字が四角になったり他の文字になったりするかもしれません。{{ic|Lat2-Terminus16}} に変えることが推奨されます。{{ic|/usr/share/kbd/consolefonts/README.Lat2-Terminus16}} によれば、"約100個の言語セット"をサポートしています。 |
||
− | |||
− | * (オプション) {{ic|FONT_MAP}} – 起動時にロードするコンソールマップを定義します。{{ic|man setfont}} を読んで下さい。削除したり、空のままでも問題ありません。 |
||
詳しくは[[Fonts#コンソールフォント|コンソールフォント]]や {{ic|man vconsole.conf}} を参照。 |
詳しくは[[Fonts#コンソールフォント|コンソールフォント]]や {{ic|man vconsole.conf}} を参照。 |
||
+ | {{Warning|{{ic|KEYMAP}} を最初に ''loadkeys'' で設定した値と異なる値に設定してから、[[#root パスワードの設定|root パスワードを設定]]してしまうと、新しいシステムにログインするときにキーマップが変わっていてログインできなくなる可能性があります。}} |
||
− | ==== タイムゾーン ==== |
||
+ | 以上の設定は仮想端末においてのみ適用されます。[[Xorg]] ではまた異なる設定をする必要があります。詳しくは[[フォント#コンソールフォント]]を見て下さい。 |
||
− | 利用可能なタイムゾーンとサブゾーンは {{ic|/usr/share/zoneinfo/<Zone>/<SubZone>}} ディレクトリで見つかります。 |
||
+ | === タイムゾーン === |
||
− | <Zone> 一覧を見るために、 {{ic|/usr/share/zoneinfo/}} ディレクトリをチェックしてください: |
||
+ | 利用可能なタイムゾーンとサブゾーンは {{ic|/usr/share/zoneinfo/''Zone''/''SubZone''}} ディレクトリで見つかります。{{ic|ls}} コマンドでゾーンの一覧を表示できます。{{ic|/etc/localtime}} から適切なゾーンファイル {{ic|/usr/share/zoneinfo/''Zone''/''SubZone''}} へのシンボリックリンクを作って下さい: |
||
− | # ls /usr/share/zoneinfo/ |
||
+ | # ln -s /usr/share/zoneinfo/''Zone''/''SubZone'' /etc/localtime |
||
− | 同じように、<SubZone> にあるディレクトリの一覧を見ることができます: |
||
+ | {{Tip|[http://tldp.org/LDP/abs/html/tabexpansion.html タブ補完] を使うことでも利用できるゾーンとサブゾーンを表示できます。}} |
||
− | # ls /usr/share/zoneinfo/Asia |
||
− | |||
− | {{ic|/etc/localtime}} からゾーンファイル {{ic|/usr/share/zoneinfo/<Zone>/<SubZone>}} へのシンボリックリンクを作るにはこのコマンドを使います: |
||
− | |||
− | # ln -s /usr/share/zoneinfo/<Zone>/<SubZone> /etc/localtime |
||
例: |
例: |
||
644行目: | 639行目: | ||
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime |
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime |
||
− | + | {{ic|ln: failed to create symbolic link '/etc/localtime': File exists}} と表示される場合は、{{ic|ls -l /etc/localtime}} で既存のファイルを確認してから、''ln'' コマンドに {{ic|-f}} オプションを追加して上書きしてください。 |
|
− | + | === ハードウェアクロック === |
|
− | ハードウェアクロックモードを OS |
+ | ハードウェアクロックモードを全ての OS で同じになるように設定します。さもないと、ハードウェアクロックが上書きされ時刻がずれてしまう可能性があります。''hwclock'' コマンドは {{ic|/etc/adjtime}} ファイルを生成します。[[Wikipedia:ja:協定世界時|UTC]] に設定するには、次を実行: |
+ | # hwclock --systohc --utc |
||
− | 次のコマンドのうちのどれかで {{ic|/etc/adjtime}} を自動生成できます: |
||
+ | {{Note|ハードウェアクロックに [[Wikipedia:ja:協定世界時|UTC]] を使ったからといって、ソフトウェアが時刻を UTC で表示するわけではありません。}} |
||
− | * UTC (推奨) |
||
+ | {{Warning|Windows はデフォルトで ''localtime'' を使っています。Arch で ''localtime'' を使用すると既知の問題や容易に修復できないバグを引き起こす可能性があります。しかしながら、''localtime'' のサポートを終了する計画はありません。''localtime'' を使用する場合は、root で {{ic|hwclock --systohc --localtime}} を実行してください。Windows 7 以降を使用する場合、Arch を ''localtime'' に設定するのではなく、Windows に UTC を使わせて、Windows の時刻同期を無効にすることが推奨されています。詳しくは[[時刻#Windows で UTC を使う]]を見て下さい。}} |
||
− | : {{Note|ハードウェアクロックに [[Wikipedia:ja:協定世界時|UTC]] を使ったからといって、ソフトウェアが時刻を UTC で表示するわけではありません。}} |
||
+ | === カーネルモジュール === |
||
− | : {{bc|# hwclock --systohc --utc}} |
||
+ | 必要なカーネルモジュールは基本的に ''udev'' によって自動ロードされるため、手動でモジュールをロードする必要があるのは稀です。詳しくは[[カーネルモジュール]]を見て下さい。 |
||
− | インターネットを使って "UTC" 時刻を同期する方法は [[Network Time Protocol daemon|NTPd]] を見て下さい。 |
||
+ | === ホスト名 === |
||
− | * localtime (非推奨; Windows でのデフォルト) |
||
+ | お好きな名前を[[Wikipedia:ja:ホスト名|ホスト名]]に設定してください: |
||
− | : {{Warning|''localtime''を使うと既知の、容易に修復できないバグを引き起こす可能性があります。しかしながら、''localtime'' のサポートを終了する計画はありません。}} |
||
− | |||
− | : {{bc|# hwclock --systohc --localtime}} |
||
− | |||
− | ==== カーネルモジュール ==== |
||
− | |||
− | {{Tip|これはただの例です、このように設定する必要はありません。全ての必要なモジュールは udev により自動でロードされます、あなたが付け加えなくてはならない状況はほとんどありません。足りないモジュールだけを加えて下さい。}} |
||
− | |||
− | 起動中にカーネルモジュールをロードするには、{{ic|/etc/modules-load.d/}} に、プラグラムに基づいた名前の {{ic|*.conf}} ファイルを設置します。 |
||
− | |||
− | {{hc|# nano /etc/modules-load.d/virtio-net.conf| |
||
− | # Load 'virtio-net.ko' at boot. |
||
− | |||
− | virtio-net}} |
||
− | |||
− | ひとつの {{ic|*.conf}} で複数のモジュールをロードする際には、モジュールの名前を新しい行で分割できます。好例は [[VirtualBox#Arch Linux をゲストにする |VirtualBox Guest Additions]] です。 |
||
− | |||
− | 空の行や、 {{ic|#}} 又は {{ic|;}} で始まっている行は無視されます。 |
||
− | |||
− | ==== ホストネーム ==== |
||
− | |||
− | お好きな名前を[[Wikipedia:ja:ホスト名|ホスト名]]に設定してください (例えば ''arch''): |
||
# echo ''myhostname'' > /etc/hostname |
# echo ''myhostname'' > /etc/hostname |
||
689行目: | 663行目: | ||
同じホスト名を {{ic|/etc/hosts}} に追加します: |
同じホスト名を {{ic|/etc/hosts}} に追加します: |
||
+ | #<ip-address> <hostname.domain.org> <hostname> |
||
− | {{hc|# nano /etc/hosts| |
||
+ | 127.0.0.1 localhost.localdomain localhost ''myhostname'' |
||
− | # |
||
+ | ::1 localhost.localdomain localhost ''myhostname'' |
||
− | # /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 |
||
− | }} |
||
− | |||
− | === ネットワークの設定 === |
||
− | |||
− | ネットワークの設定をもう一度行います。今回は新しいインストールされた環境のために行います。[[#インターネット接続の確立|以前に説明した]]のと方法はほとんど同じですが、設定を永続させて、起動時に自動的に行うようにします。 |
||
まず最初に、{{ic|ip link}} で接続を設定するネットワークインターフェイスの名前を確認してください。 |
まず最初に、{{ic|ip link}} で接続を設定するネットワークインターフェイスの名前を確認してください。 |
||
+ | {{Note| |
||
− | {{Note|ネットワーク設定のより詳しい情報は、[[Network Configuration|ネットワーク設定]]や[[Wireless Setup|ワイヤレス設定]]を参照してください。}} |
||
+ | * ネットワーク設定の詳しい情報は、[[ネットワーク設定]]や[[ワイヤレス設定]]を参照してください。 |
||
+ | * インターフェースについて古い命名規則 ({{ic|eth''X''}} や {{ic|wlan''X''}}) を使って欲しい時は {{ic|/etc/udev/rules.d/80-net-setup-link.rules}} に空のファイルを作成してください。これによって {{ic|/usr/lib/udev/rules.d}} 下の同じ名前のファイルがマスクされます (空のファイルを使う代わりに、{{ic|/dev/null}} へのシンボリックリンクを使うことでも命名規則を戻せます: {{ic|# ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules}})。 |
||
+ | }} |
||
+ | === 有線 === |
||
− | {{Warning|インストールの最中には、インターフェースの名前に伝統的な eth* や wlan* が使われていたとしても、udev はこの命名規則を使いません。従って、新しいシステムに起動した時、新しいインターフェースの名前が割り当てられていることに注意してください。全てのネットワークインターフェースを一覧するには {{ic|ip link}} を実行します。}} |
||
− | {{Note|インターフェースの古い命名規則 (eth* や wlan*) を使いたいときは {{ic|/etc/udev/rules.d/80-net-setup-link.rules}} に空のファイルを作成してください。これによって {{ic|/usr/lib/udev/rules.d}} 下の同じ名前のファイルがマスクされます (空のファイルを使う代わりに、{{ic|/dev/null}} へのシンボリックリンクを使うことでも命名規則を戻せます: {{ic|# ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules}})。}} |
||
− | ==== |
+ | ==== 動的 IP ==== |
− | |||
− | ===== ダイナミック IP ===== |
||
; dhcpcd を使う |
; dhcpcd を使う |
||
− | + | 固定された有線ネットワーク接続が1つだけあるという環境の場合、ネットワーク管理サービスを使う必要はなく、単純に {{ic|dhcpcd}} サービスを有効にするだけで足ります: |
|
− | |||
− | # systemctl enable dhcpcd.service |
||
− | + | # systemctl enable dhcpcd@''インターフェイス名''.service |
|
; netctl を使う |
; netctl を使う |
||
728行目: | 692行目: | ||
{{ic|/etc/netctl/examples}} からサンプルプロファイルを {{ic|/etc/netctl/}} にコピーしてください: |
{{ic|/etc/netctl/examples}} からサンプルプロファイルを {{ic|/etc/netctl/}} にコピーしてください: |
||
− | # cd /etc/netctl |
+ | # cd /etc/netctl |
− | # cp examples/ethernet-dhcp |
+ | # cp examples/ethernet-dhcp my_networkk |
− | プロファイルを編集して下さい ({{ic|Interface}} を {{ic|eth0}} から {{ic|ip link}} を実行し |
+ | プロファイルを編集して下さい ({{ic|Interface}} を {{ic|eth0}} から {{ic|ip link}} を実行したときに確認したインターフェイス名に修正する): |
# nano my_network |
# nano my_network |
||
739行目: | 703行目: | ||
# netctl enable my_network |
# netctl enable my_network |
||
− | {{Note|{{ic|Running in chroot, ignoring request.}} というメッセージが表示され |
+ | {{Note|{{ic|Running in chroot, ignoring request.}} というメッセージが表示されることがありますが、いまのところは無視してかまいません。}} |
; netctl-ifplugd を使う |
; netctl-ifplugd を使う |
||
− | {{Warning|{{ic|netctl enable |
+ | {{Warning|{{ic|netctl enable ''プロファイル名''}} のようにしてプロファイルを有効にする方法と netctl-ifplugd を使う方法を一緒に用いることはできません。}} |
− | + | {{Pkg|netctl}} の {{ic|netctl-ifplugd}} を使って動的に接続を管理することもできます。 |
|
− | {{Pkg|ifplugd}} をインストールしてください、{{ic|netctl-ifplugd}} を使うために必要なパッケージです: |
+ | まず {{Pkg|ifplugd}} をインストールしてください、{{ic|netctl-ifplugd}} を使うために必要なパッケージです: |
# pacman -S ifplugd |
# pacman -S ifplugd |
||
− | そして |
+ | そしてサービスを有効にしてください: |
− | # systemctl enable netctl-ifplugd@ |
+ | # systemctl enable netctl-ifplugd@''インターフェイス名''.service |
− | {{Note|[[ |
+ | {{Note|[[netctl]] には {{ic|netctl-auto}} もあり、{{ic|netctl-ifplugd}} と一緒に無線プロファイルを管理するのに使うことができます。}} |
− | + | ==== 固定 IP ==== |
|
; netctl を使う |
; netctl を使う |
2015年1月31日 (土) 17:49時点における版
この文章では 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 のディスク容量が必要です。使える容量が少ない場合、この数値をかなり切り詰めることが可能ですが、どうやるかは調べる必要があります。
最新のインストールメディアを準備する
最新の Arch の公式インストールメディアはダウンロードページから入手できます。ひとつの ISO で32ビットと64ビット両方のアーキテクチャをサポートしています。出来るだけ一番新しい ISO を使って下さい。
USB と光学ドライブ
光学ディスクドライブ#焼き込み (CD/DVD) や USB インストールメディア (USB) を見て下さい。
ネットワーク経由でのインストール
PXE の記事を参照してください。
既存の Linux 環境からインストール
既存の Linux からインストールを見て下さい。VNC や SSH を使って Arch をリモートでインストールするときに特に便利です。SSH からインストールも参照。
仮想マシンへのインストール
現在使用しているオペレーティングシステムを残したまま、仮想マシン上でインストール手順を実行することで、ストレージのパーティションを行う必要なく Arch Linux に慣れることができます。また、ブラウザでこのビギナーズガイドを開いたままインストールが可能です。独立した Arch Linux システムを使用できるということは、テストを行いたいという一部のユーザーにとって有益なことでしょう。
仮想化ソフトウェアの例としては、VirtualBox, VMware, QEMU, Xen, Parallels があります。
仮想マシンを準備するための正確な手順は、ソフトウェアによって異なりますが、一般的に次の手順に従います:
- オペレーティングシステムのホストにて、仮想ディスクイメージを作成します。
- 仮想マシンの設定を最適化します。
- 仮想 CD ドライブでダウンロードした ISO イメージを起動します。
- インストールメディアの起動に進みます。
次の記事が役に立つかもしれません:
- VirtualBox のゲスト OS として Arch Linux をインストール
- Arch Linux as VirtualBox guest on a physical drive
- VMware のゲストとして 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")。
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 のデュアルブートを見て下さい。
標準で、キーボードのレイアウトは us
に設定されています。もし、US キーボード以外のレイアウトを使用している場合は、
# loadkeys layout
で変更できます。layout の部分は jp106
、fr
、uk
、be-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
インターネット接続の確立
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
これでネットワークに接続されるはずです。されない場合は、ネットワーク設定のページを見て下さい。
無線
netctl の wifi-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 を使わない方法や、詳しい説明が載っているワイヤレス設定を見て下さい。
インターフェースを立ち上げます:
# 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
と示されます。x
は a
から始まる小文字のアルファベットで、一番目のデバイスは sda
、二番目のデバイスは sdb
と割り当てられます。既存のパーティションは sdxY
と示され、Y
は 1
から始まる数字です。一番目のパーティションは 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 をインストールする場合、既存のパーティションテーブルを使用します。デバイスがパーティショニングされてなかったり、現在のパーティションテーブルを変更する必要があるときは、まず使用されているパーティションテーブルを確認しなくてはなりません。
パーティションテーブルには2種類あります:
既存のパーティションテーブルは、次のコマンドを実行することで確認できます:
# parted /dev/sdx print
パーティショニングツール
デバイスをパーティショニングするには、使用されるパーティションテーブルにあわせて適切なツールを選ぶ必要があります。Arch のインストールメディアには複数のパーティショニングツールが入っています:
インタラクティブモードの parted を使用する
以下で示す例では BIOS/MBR と UEFI/GPT の両方で用いることができる parted を使っています。parted はインタラクティブモードで起動して、指定したデバイスに全てのパーティショニングコマンドを自動的に適用することで、不必要な繰り返しを避けます。
デバイスの操作を開始するには、次を実行:
# parted /dev/sdx
コマンドラインプロンプトがハッシュ (#
) から (parted)
に変わります。
利用できるコマンドのリストを表示するには、次を入力:
(parted) help
パーティションの操作が完了した場合は、次のコマンドで parted を終了します:
(parted) quit
終了後、コマンドラインプロンプトは #
に戻ります。
新しいパーティションテーブルの作成
パーティションテーブルのタイプを変更したい場合や、デバイスがまだパーティションされていない場合、パーティションテーブルの(再)作成が必要です。デバイスのパーティションテーブルの再作成はパーティションスキームを最初からやり直したい場合にも有用です。
パーティションテーブルを(再)作成するデバイスを次のコマンドで開いてください:
# parted /dev/sdx
そして BIOS 環境の場合、MBR/msdos パーティションテーブルを新しく作成するために、次のコマンドを実行します:
(parted) mklabel msdos
UEFI 環境で GPT パーティションテーブルを新しく作成するには、次のコマンドを使います:
(parted) mklabel gpt
パーティションスキーム
ディスクをいくつのパーティションに分けるか決めて、それぞれのパーティションにシステム上のディレクトリを割り振ることができます。パーティションからディレクトリへのマッピング (しばしば 'マウントポイント' と呼ばれます) がパーティションスキームになります。パーティションスキームは以下の要件を満たさなければなりません:
- 少なくとも
/
(root) ディレクトリのパーティションは必ず作成する必要があります。 - マザーボードのファームウェアインターフェイスや、選択したパーティションテーブルのタイプによって、また、時には選択したブートローダーにあわせて、以下のパーティションを追加で作成する必要が出てきます:
- BIOS/MBR: 追加のパーティションは必要ありません。
- BIOS/GPT:
- Syslinux を使用する場合: 追加のパーティションは必要ありません。
- GRUB を使用する場合: タイプが
EF02
で容量が 1MiB または 2MiB の BIOS Boot Partition。
- UEFI/GPT: EFI System Partition。
- UEFI/MBR: EFI System Partition。
以下の例では、新しい、連続するパーティションスキームを1つのデバイスに適用します。任意の /boot
や /home
ディレクトリのパーティションも作成しています。それぞれのディレクトリの目的については Arch ファイルシステム階層を見て下さい。/boot
や /home
などのディレクトリのパーティションを別に作成しない場合、/
パーティションに含まれることになります。また、スワップ領域用のパーティションについても説明します。
parted のインタラクティブセッションをまだ開いてない場合は、パーティションするデバイスを指定して起動してください:
# parted /dev/sdx
次のコマンドを使用してパーティションを作成します:
(parted) mkpart part-type fs-type start end
part-type
はprimary
,extended
,logical
のうちどれか一つから選びます。MBR パーティションテーブルでのみ意味があります。fs-type
は マニュアル に記載されているサポートがあるファイルシステムの中から選びます。パーティションはファイルシステム作成でフォーマットします。start
はデバイスの先頭からのパーティションの開始位置です。単位 をつけた数値で指定し、例えば1M
なら 1MiB が開始位置になります。end
はデバイスの先頭からのパーティションの終末位置です (start
から計算するわけではありません)。start
と同じ構文を使うことができ、例えば100%
と指定するとデバイスの終端を意味します (残り領域全てを使う)。
/boot
ディレクトリを含むパーティションが起動できるようにフラグを立てるには次のコマンドを使います:
(parted) set partition boot on
partition
はフラグを立てるパーティションの番号に置き換えて下さい (print
コマンドの出力を参照しましょう)。
UEFI/GPT の例
どんなふうにパーティショニングするにせよ、特別な EFI System Partition が必要になります。
新しく 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
スワップの有効化
スワップパーティションを作成した場合は、以下のコマンドで有効化する必要があります:
# 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
/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+6
でServer
行をコピー。PageUp
キーで上にスクロール。Ctrl+U
でリストの一番上にペースト。Ctrl+X
で終了、保存するか聞かれたら、Y
を押しEnter
で上書き保存。
他のミラーを消去 (Ctrl+K
を使う) してミラーをひとつだけに絞ることもできますが、そのミラーがオフラインになったときのことを考え、ミラーを複数使用するほうが良いでしょう。
ベースシステムのインストール
pacstrap スクリプトを使ってベースシステムをインストールします。インストールするパッケージを選択せず、base の全てのパッケージをインストールするときは、-i
スイッチを省いて下さい。AUR や ABS でパッケージをビルドするときのために、base-devel グループも必要になります。
# pacstrap -i /mnt base base-devel
他のパッケージは後で pacman を使ってインストールできます。
fstab の生成
以下のコマンドで fstab ファイルを生成します。いくつか有利な点がある UUID が使われます (fstab#ファイルシステムの識別 を参照)。UUID ではなくラベルを使いたいときは、-U
オプションを -L
に置き換えましょう。
# genfstab -U -p /mnt >> /mnt/etc/fstab # nano /mnt/etc/fstab
最後のフィールドには起動時にチェックするパーティションの順番を設定します: (btrfs
以外では) root パーティションに 1
を使って下さい、最初にチェックされます。起動時にチェックしたい他のパーティションには 2
を使って下さい、0
はチェックされません (fstab#フィールドの定義 を参照)。btrfs のパーティションには全て 0
を使う必要があります。スワップパーティションも 0
に設定してください。
Chroot とベースシステムの設定
次に、chroot を使って新しくインストールされたシステムに入ります:
# arch-chroot /mnt /bin/bash
この段階では、Arch Linux ベースシステムの重要な設定ファイルを作ります。ファイルが存在していないときや、デフォルト設定を使いたくないときは、その都度ファイルを作成したり編集してください。
正確に、手順をよく踏まえてから設定してください。システムを正しく設定するのにとても重要なステップです。
ロケール
ロケールを設定することによって、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
コンソールフォントとキーマップ
言語の選択でデフォルトのキーマップとフォントを変更していた場合、再起動後もキーマップ設定が適用されるように、/etc/vconsole.conf
を編集 (ファイルがなかったら作成) してください:
# nano /etc/vconsole.conf
KEYMAP=jp106 FONT=lat9w-16
詳しくはコンソールフォントや man vconsole.conf
を参照。
以上の設定は仮想端末においてのみ適用されます。Xorg ではまた異なる設定をする必要があります。詳しくはフォント#コンソールフォントを見て下さい。
タイムゾーン
利用可能なタイムゾーンとサブゾーンは /usr/share/zoneinfo/Zone/SubZone
ディレクトリで見つかります。ls
コマンドでゾーンの一覧を表示できます。/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
ln: failed to create symbolic link '/etc/localtime': File exists
と表示される場合は、ls -l /etc/localtime
で既存のファイルを確認してから、ln コマンドに -f
オプションを追加して上書きしてください。
ハードウェアクロック
ハードウェアクロックモードを全ての OS で同じになるように設定します。さもないと、ハードウェアクロックが上書きされ時刻がずれてしまう可能性があります。hwclock コマンドは /etc/adjtime
ファイルを生成します。UTC に設定するには、次を実行:
# hwclock --systohc --utc
カーネルモジュール
必要なカーネルモジュールは基本的に udev によって自動ロードされるため、手動でモジュールをロードする必要があるのは稀です。詳しくはカーネルモジュールを見て下さい。
ホスト名
お好きな名前をホスト名に設定してください:
# echo myhostname > /etc/hostname
同じホスト名を /etc/hosts
に追加します:
#<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 localhost.localdomain localhost myhostname ::1 localhost.localdomain localhost myhostname
ネットワークの設定
ネットワークの設定をもう一度行います。今回は新しくインストールされる環境のネットワーク設定です。上で説明したのと方法はほとんど同じですが、今回の設定では、設定が消えないように、ブート時に自動的に起動するように設定します。
まず最初に、ip link
で接続を設定するネットワークインターフェイスの名前を確認してください。
有線
動的 IP
- dhcpcd を使う
固定された有線ネットワーク接続が1つだけあるという環境の場合、ネットワーク管理サービスを使う必要はなく、単純に dhcpcd
サービスを有効にするだけで足ります:
# systemctl enable dhcpcd@インターフェイス名.service
- netctl を使う
/etc/netctl/examples
からサンプルプロファイルを /etc/netctl/
にコピーしてください:
# cd /etc/netctl # cp examples/ethernet-dhcp my_networkk
プロファイルを編集して下さい (Interface
を eth0
から ip link
を実行したときに確認したインターフェイス名に修正する):
# nano my_network
my_network
プロファイルを有効にしてください:
# netctl enable my_network
- netctl-ifplugd を使う
netctl の netctl-ifplugd
を使って動的に接続を管理することもできます。
まず ifplugd をインストールしてください、netctl-ifplugd
を使うために必要なパッケージです:
# pacman -S ifplugd
そしてサービスを有効にしてください:
# systemctl enable netctl-ifplugd@インターフェイス名.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 を起動を見て下さい。
付録
あなたの興味を引くであろうアプリケーションの一覧は、アプリケーション一覧を参照。
タッチパッドやフォントレンダリングの設定のようなインストール後のチュートリアルは一般的な推奨事項を参照。