Arch Linuxのインストールを簡単にまとめているサイトが無かったので、とりあえずインストールメディアから再起動したら、GUIが立ち上がって使える状態になる、手順をまとめてみました。
ベースはArchWikiのインストールガイドですが、省ける手順は省き、まとめられる手順はまとめました。
必要なモノ
- Arch Linuxをインストールするもの (物理マシン・仮想マシン どちらでも可)
- 空のストレージ
- DHCPでIPが降ってくる有線LAN (物理マシンの場合)
- 自分でどうこうできるならどんな環境でも良い
- ただし、無線LANよりインストールが早く終わるのでオススメ
- 何が起きてもめげない精神
まず最初に
とりあえずArch LinuxのインストールisoをUSBやCDに焼いて、EFI で起動しましょう。もしくは、VMを好きなスペックで作り、ブートモードをEFIにして立ち上げましょう。
今からインストールするなら、EFIブートでインストールしたほうが、イケてます。
インストール手順
インストールメディアが起動して、zshが立ち上がり、rootでプロンプトに入れたら、作業開始です。
キー配列が起動時点ではUSになっているので、日本語にするには
loadkeys jp106
と入力しましょう
起動した段階でDHCPで勝手にネットに繋がっていると思いますが、とりあえずの確認でどこかにpingを打ってみましょう。わたしはいつもwww.google.co.jpに飛ばしています。
インターネッツに疎通ができることを確認したら、インストールを始めて行きます。
1. パーティショニング
まず最初にインストールをするためのスペース作りをします。
既存のパーティション情報は邪魔なので、
dd if=/dev/zero of=/dev/sda count=1 bs=1MiB
とやってパーティション情報を消してしまうことをオススメします。
パーティショニングツールはcgdiskがオススメです。
cgdisk /dev/sda
起動時にSelect label typeを訊かれるので、gptを選択します。
ここで一つポイントなのは、Arch Wikiでは/bootとESP(EFIシステムパーティション)は一緒にしてしまって構わないと書かれていますが、他のLinuxや、万が一にもないと思いますが、もしWindowsをマルチブートしたいとなどと思ってしまった時に、非常に厄介なことになるので、ESPは別パーティションにした方が幸せになれます。
それ以外は、パーティショニングは個人の好きなようにして良いと思います。私はすべて一つにまとめてしまうので、ESPと/(ルート)の二つしか切りません。
cgdiskの使い方は調べて下さい。partedなどのCLIツールよりは難しくないです。
私は以下のように切ります。
| デバイス | サイズ | タイプ |
|---|---|---|
| /dev/sda1 | 100MiB | EFI System |
| /dev/sda2 | 15.9GiB(残りすべて) | Linux filesystem |
2. フォーマットとマウント
先ほど作ったパーティションをフォーマットして、マウントします。
ESPパーティションは無条件でFAT32でフォーマットします。
mkfs.vfat -F32 /dev/sda1
rootパーティションはお好みのファイルシステムでフォーマットしましょう。
筆者のオススメはext4です
mkfs.ext4 /dev/sda2
フォーマットが終わったらマウントします。
ルートになるパーティションからマウントしていきます
mount /dev/sda2 /mnt # ルートパーティションのマウント
mkdir -p /mnt/boot/efi # ESPのマウントポイントを作成
mount /dev/sda1 /mnt/boot/efi # ESPをマウント
3. システムのインストール
システムをpacstrapで展開していきます。これが一番時間がかかる作業です。(と言っても10分もあれば終わる)
/etc/pacman.d/mirrorlistをvimなどのテキストエディタで開き、jaistのミラーを一番上に持ってきます。
ここでポイントなのは、ArchWikiではここの段階ではbaseとbase-develしか指定していませんが、ここで他のソフトも一緒に指定してインストールすることができます。(よく読めば書いてある)
私はここでGUIデスクトップ環境で必要になるモノをすべてインストールしてしまいます。
因みに私は、ディスプレイマネージャーはlightdm、デスクトップ環境はcinnamonを好んで使っていますが、ここは個人の好きなモノにして下さい。(この記事ではlightdmとcinnamonで進めていきます)
まとめて入れるモノ一覧
- 基本システム系
- base
- base-devel
- linux
- linux-firmware
- grub
- intel-ucode (Intel製CPUを使った物理マシンにインストールする場合)
- dosfstools
- efibootmgr
- エディタ
- vim
- シェル補完
- bash-completion
- ネットワーク管理
- networkmanager
- Xorg
- xorg-server
- ディスプレイマネージャー
- lightdm
- lightdm-gtk-greeter
- lightdm-gtk-greeter-settings
- デスクトップ環境 GUI関係
- cinnamon
- cinnamon-translations
- terminator
- adobe-source-han-sans-jp-fonts
- adobe-source-han-serif-jp-fonts
- その他
- git
これらをまとめて、インストールしていきます。
pacstrap /mnt base base-devel linux linux-firmware grub intel-ucode dosfstools efibootmgr vim bash-completion networkmanager xorg-server lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings cinnamon cinnamon-translations terminator adobe-source-han-sans-jp-fonts adobe-source-han-serif-jp-fonts git
4. システムの設定
fstabの生成
genfstabコマンドを実行して、fstabを生成します。UUIDを使うのが確実なので、-Uオプションを付けて実行しましょう。
genfstab -U /mnt >> /mnt/etc/fstab
新しいシステムにchroot
arch-chroot /mnt
新しくインストールしたシステムにchrootをした状態になりました。
地域の設定
タイムゾーンとロケールの設定をしていきます。
タイムゾーン
/usr/share/zoneinfoにタイムゾーンの設定ファイルのサンプルが転がってるのでそのまま使います。
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
/etc/adjtimeを生成する必要があるので、次のコマンドを実行します。
hwclock --systohc --utc
ロケールの設定
システム全体のロケールを設定していきます。/etc/locale.genを編集します。vim等で開いて、ja_JP.UTF-8 UTF-8をアンコメントした後に、locale-genを実行します。
vim /etc/locale.gen # ja_JP.UTF-8 UTF-8をアンコメント
locale-gen
言語などの設定をするために、/etc/locale.confを、キーマップを設定するために/etc/vconsole.confを作成します。
echo LANG=ja_JP.UTF-8 > /etc/locale.conf
echo KEYMAP=jp106 > /etc/vconsole.conf
ホスト名の設定
システムにホスト名を設定します。/etc/hostsと/etc/hostnameを編集していきます。
ホスト名は好きなモノにしましょう。(筆者は担当アイドル名にしたりします)
echo hostname > /etc/hostname
/etc/hostsの中身(多分 空なので全部書きましょう)
127.0.0.1 localhost
::1 localhost
127.0.1.1 hostname
サービスの有効化
NetworkManagerとlightdmを有効化して、起動時に自動的に立ち上がるようにします。
systemctl enable NetworkManager
systemctl enable lightdm
ユーザの追加・パスワード設定
新システムに一般ユーザの追加と、パスワードを設定していきます。
ついでにsudoersの設定もしていきます。
まず最初にrootユーザーのパスワードを設定していきます。
passwd
対話型でパスワードを設定していきます。
次に一般ユーザの追加をしていきます。sudoを使えるようにするために、wheelグループへの追加も同時にします。
useradd -m -G wheel username
次にパスワードを設定していきます。
passwd username
最後にsudoersにwheelを追加します。
visudo
として
# %wheel ALL=(ALL) ALL
の頭の#を削除して保存してください。
イニシャル RAM ディスクの生成
イニシャルRAMディスクの生成をします。
以下のコマンドを実行します。
mkinitcpio -p linux
ブートローダーの設定
最後に、ブートローダーをセットアップしていきます。
ブートローダとしてGRUBを使います。(systemd-bootより楽)
以下のコマンドを実行していきます。
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Arch Linux GRUB" --recheck --debug
grub-mkconfig -o /boot/grub/grub.cfg
これで終了
最後にexitでchroot環境を終了した後、rebootコマンドを叩きましょう。
恐らくArchLinuxが起動してきます。
それでは良いArchライフを
謝辞
WAKAME_temp氏に「GPTを使うときのパーティショニングはcfdiskよりもcgdiskを使っておいたほうが幸せになれる確率が高いと思いますよ」とコメントをいただきまして、該当箇所を修正いたしました。
コメントありがとうございます。