ArchLinuxはシンプルなOSで非常に魅力的な魅力を持っている。
A simple, lightweight distribution
You've reached the website for Arch Linux, a lightweight and flexible Linux® distribution that tries to Keep It Simple.
和訳
シンプル、軽量なディストリビューション
Arch Linux のウェブサイトにようこそ。Keep It Simple を標榜する、軽量で柔軟性に優れた Linux® ディストリビューションです。
メリット
- シンプルなので壊れにくい(
ト○タの自動車みたいな図太さ) - ローリング・リリースで最新のソフトウェアを扱うことができる
- 自由(自由が大事ってそれ一番言われてるから by RMS )
1. ISO焼き
-
ArchのISOを落とす
-
USBメモリかDVD/BDに焼く
Windows
- Rufusを使うのが一般的
Linux
sudo dd bs=4M if=archlinux.iso of=/dev/sdX conv=fsync oflag=direct status=progress
dd
- ドライブを焼くために使うコマンド. ドライブのベンチマークにも使えるらしい.bs=4M
- 一回の書き込み処理でどれくらいの量を書き込むか. これをつけないとバカ遅くなる.if=
- isoファイルを指定. ディレクトリで指定することもできる.- /home/user/Download/archlinux.iso
of=
- 書き込み先のドライブ. 必ずlsblk
コマンドで確認すること.
2. 起動からのパーティション割
-
インストールディスクをPCに突っ込んで起動
- ノートPCは爆音でスーパーマ○オのコイン獲得音が鳴るので注意
-
lsblk
コマンドでインストール先のディスクを確認 -
ping
コマンドでネットワークの疎通確認(有線LANで接続したほうがやりやすい. wifiも使えるが設定あり: https://wiki.archlinux.jp/index.php/Iwd) -
cgdisk /dev/DRIVE_NAME
でパーティション分割
- UEFI+GPTでNVMeSSDにインストールする場合(最近のPCはコレ)
パーティション | 割当サイズ | 役割 |
---|---|---|
/dev/nvme0n1p1 | 1GB | ブートローダとかカーネルイメージの格納 |
/dev/nvme0n1p2 | メモリ量の倍 | スワップ領域 |
/dev/nvme0n1p3 | 残りすべて | root |
- ファイルシステム作成
mkfs.fat -F 32 /dev/nvme0n1p1 # FAT32でフォーマット
mkfs.ext4 /dev/nvme0n1p3 # Linuxを日常で使うならext4でOK
mkswap /dev/nvme0n1p2 # swap領域に指定
- ファイルシステムのマウント
- いま起動しているarchlinuxがドライブを認識&中身にアクセスできるようにマウントさせる
mount /dev/nvme0n1p3 /mnt # インストール先のrootを起動しているarchlinuxのrootにマウント
mount --mkdir /dev/nvme0n1p1 /mnt/boot # インストール先のドライブにbootディレクトリを作って起動しているarchlinuxのbootにマウント
swapon /dev/nvme0n1p2 # swap領域として設定
3. インストール
- ミラーの指定とかめんどいのでサクッとやっちゃう(
最小環境なら大した時間差じゃねぇし)
pacstrap /mnt base base-devel linux linux-firmware linux-headers nano grub efibootmgr networkmanager
pacstrap
- 指定したディレクトリにソフトウェアをインストールするだけのコマンドbase
- linuxカーネルを扱うために必要なソフトウェア群. 所謂ユーザーランド. ほとんどGNU Coreutilsbase-devel
- プログラミングに必要な基本のソフトウェア. 一見不必要だけど入れておいて損はない.linux
- ArchLinux公式のLinuxカーネル. x86_64に最適化されてて無駄なパッチはあたっていないので基本はこれでOKlinux-firmware
- ファームウェア. 特にwifi&bluetoothモジュールはコレがないと動かない場合が多い.linux-headers
- linuxカーネルのヘッダファイル. 一見不必要だけど入れておいて損はない.nano
- GNU Nano テキストエディタ. 初心者にやさしい.grub
- ブートローダー. 一番無難.efibootmgr
- UEFIマザーのPCなら必須.networkmanager
- ネットワークに接続するためのやつ. DHCP機能付き. デスクトップ環境とシームレスに接続できる.
4. 色々と設定する
- fstabの生成
- Linuxが起動時にrootドライブやスワップ領域を認識できるように, PCのHDDやSSDのUUID等が記録されたファイルを生成する
genfstab -U /mnt >> /mnt/etc/fstab
- chroot環境に入る
- 先程インストールした環境に入って作業する
arch-chroot /mnt
- タイムゾーンの設定
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
- OSがどの地域の日付時間を使うのかを設定する
- ハードウェアクロック(PCの時計)の書き込み
hwclock --systohc
- windowsを含むマルチブートの場合, ちょっとした工夫が必要(片方の時間が狂う狂う狂う狂う)
- ロケールの設定
/etc/locale.gen
をエディタで開いて
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
の行をコメントアウトするか追記する
- ロケール生成
locale-gen
システムの扱う言語を設定する(この時点では英語と日本語が使えるように候補を決めてる)
echo LANG=ja_JP.UTF-8 > /etc/locale.conf
echo KEYMAP=jp106 > /etc/vconsole.conf
echo KEYMAP=jp106 > /etc/vconsole.conf
は日本語キーボード使用時に役立つ
- ホスト名の決定
ここから先はまたこんど書く gitignoreに記載済み