Docker 経由で Arch Linux をインストールする
このドキュメントは、公式の Docker Hub からの Arch Linux コンテナイメージを使用して Arch Linux をインストールするためのガイドです。代替手段によるインストールについては、Category:Arch の入手とインストールを参照してください。
インストールする前に、FAQ を参照することをお勧めします。このドキュメントで使用されている規則については、ヘルプ:読み方 を参照してください。特に、コード例には手動で置き換える必要があるプレースホルダー(イタリック体
でフォーマットされています)が含まれている場合があります。
より詳細な指示については、それぞれの ArchWiki の記事や、このガイドからリンクされている各プログラムの man ページ を参照してください。対話的なヘルプについては、IRC チャンネル や フォーラム も利用可能です。
Arch Linux は、最低 512 MiB の RAM を持つ x86_64 互換マシンで動作するはずですが、インストール用のライブシステムを起動するにはさらに多くのメモリが必要です [1]。基本的なインストールは、ディスクスペース 2 GiB 未満で済むはずです。インストールプロセスはリモートリポジトリからパッケージを取得する必要があるため、このガイドでは動作するインターネット接続が利用可能であると仮定しています。さらに、ホスト上で動作する Docker のセットアップが必要です。技術的には、qemu がサポートする任意のホストを使用して Arch をインストールすることは確かに可能ですが、このガイドではその手法については取り扱いません。
目次
事前準備
このガイドは、ホストシステムが通常期待される事項に関して既に事前設定されていることを前提としています。例えば、時間は正確に設定されている、インターネット接続は正常に動作している、必要な場合には EFI モードが正確に設定されている、などです。
インストールメディアを準備する
インストールには、Arch Linux がインストールされる対象ディレクトリが必要です。書き込み可能な任意のディレクトリを使用できますが、対象ディレクトリにはルートディスクとして機能するパーティションやボリュームがマウントされている可能性が高いです。
フルディスクパーティション
フルディスクが対象として使用される場合、フォーマットする必要があるかもしれません。詳細は インストールガイド#パーティションを参照してください。そこでの同じパーティショニングの指示と順序がここでも適用できます。同じ制限と要件も適用されます。
同様に、新しいディスクもフォーマットする必要があります。インストールガイド#パーティションのフォーマットからの指示もこれに使用できます。
ボリューム
btrfs や zfs などのファイルシステムを使用する場合、ファイルシステムのボリュームが使用できるオプションです。使用するファイルシステムによって、それらを作成するための独自のコマンドリストが使用されます。このガイドでは、btrfs を例として使用します。
まず、Arch Linux 用のルートボリュームが作成されます。このコマンドは、現在の作業ディレクトリが btrfs のルートボリューム(subvolid=5)であると仮定していますが、どこでも使用できます。異なる場所が使用される場合は、後で fstab などを定義する際にこれを考慮してください。また、Arch Linux 固有のボリュームがマウントされた(ルート)ボリューム上に作成されるため、下位のスタックが(フル)ディスク暗号化を使用している可能性があることに注意してください。
# btrfs subvolume create "arch_root"
ファイルシステムをマウントする
以下のセクションは、Arch Linux が /tmp/target にインストールされる場所を前提としています。したがって、そのパーティションはそこにマウントされる必要があります。btrfs サブボリュームの名前が arch_root で、autodefrag と LZO 圧縮 が有効になっている場合、その設定は次のようになります:
# mkdir -p /tmp/target # mount /dev/disk /tmp/target -o subvol=arch_root,compress=lzo,autodefrag
この作業にも インストールガイド#ファイルシステムのマウントからの指示が使用できます。
インストール
コンテナの起動
残りのインストール作業は、ADC(Arch Docker Container)と略される Docker コンテナ内で行います。
# docker run \ --env PS1="ADC(\#)[\d \T:\w]\\$ " \ --interactive \ --privileged \ --rm \ --tty \ --volume "/tmp/target:/target" \ "index.docker.io/library/archlinux:latest" /bin/sh
ミラーを選択
インストールされるパッケージは、/etc/pacman.d/mirrorlist
で定義されている ミラーサーバー からダウンロードされます。Docker コンテナ内で最初に reflector をインストールします。これは、最も最近同期された HTTPS ミラー 70 件を選び、ダウンロード速度でソートしてミラーリストを更新します。[2]
まず、Docker コンテナ内でそれを使用することができるように reflector をインストールします。
# reflector [--country <country>] \ --latest 5 \ --protocol http,https \ --save "/etc/pacman.d/mirrorlist" \ --sort rate
ミラーがリスト内で上位にあるほど、パッケージのダウンロード時に優先されます。ファイルが満足のいくものであるかどうか確認してください。そうでない場合は、ファイルを適宜編集し、地理的に最も近いミラーをリストの先頭に移動させます。ただし、他の基準も考慮に入れるべきです。
このファイルは、後で pacstrap によって新しいシステムにコピーされるので、正確に設定する価値があります。
必要なパッケージをインストールする
インストールを開始するには、まず arch-install-scripts パッケージを Docker イメージにインストールする必要があります。これが完了したら、公式のインストールガイドの インストールガイド#必須パッケージのインストールセクションから開始できます。
インストールガイド#リブート のセクションで Reboot ステップを実行する前に、このガイドに戻って #リブート の以下で続けてください。
Reboot
Exit the docker container by typing exit
or pressing Ctrl+d
.
Optionally manually unmount all the partitions with umount -R "/target"
: this allows noticing any "busy" partitions, and finding the cause with fuser(1).
With a correctly setup boot loader, a reboot should now be possible into the freshly installed Arch Linux.
Post-installation
See General recommendations for system management directions and post-installation tutorials (like setting up a graphical user interface, sound or a touchpad).
For a list of applications that may be of interest, see List of applications.