Arch Linuxセットアップマニュアル

私は大学時代の卒業研究ではLinuxを使って研究をしていました。 当時を懐かしみたい気持ちもあって、Linuxの開発環境を作ってみようと思います。 当時の研究室の同期が「つよつよエンジニアはArch Linuxだよ」って言ってたのでディストリビューションはArch Linuxにしようと思います。

Arch Linuxとは

公式サイトには以下のようにあります。

シンプルで軽量なディストリビューション

Arch Linuxの Web サイトにアクセスしました。Arch Linuxは、シンプルさを追求した軽量で柔軟な Linux® ディストリビューションです。

Arch Linuxはシンプルさと軽量さが売りになっているようです。 ユーザーはシステムを必要に応じて任意にカスタマイズすることが出来ます。 そのため、Arch Linuxは軽量であり、いわゆる低スペックマシンでも動作することが可能になっています。

また、カーネルLinuxベースなのでLinuxのエコシステムを利用することが出来ます。

したがってお金のない大学生などでも中古で動くマシンを手に入れさえすれば使えるようになる、貧乏人の味方でもあるのです。

セットアップ準備

まず、インストールメディアを準備します。

以下のページのJapanの項目からISOファイルをダウンロードします。*1

Arch Linux - Downloads

その後、任意のメディア作成ツールを使ってUSBメモリなどに焼きます。

セットアップ手順

基本的には公式のインストールガイドに従います。 ただし、公式は最低限の手順しかないので、日本語化など、追加で行いたいものを付け加えて説明します。

起動

UEFIを立ち上げ、起動ディスクをインストールメディアにして立ち上げます。

ブートローダーが立ち上がったら「Arch Linux install medium (x86_64, UEFI)」を選択してインストールメディアを起動します。

キーボード設定

日本語配列の人は以下のコマンドを実行して、キーボード配列を設定します。

英語配列の人は実行不要です。

loadkeys jp106

ネットワーク接続確認

以下のコマンドを実行して、ネットワークに繋がっていることをここで確認しておきます。

ping archlinux.jp

システムクロックの更新

以下のコマンドを実行して、システムクロックの設定をします。

timedatectl set-ntp true
timedatectl set-timezone Asia/Tokyo
timedatectl status

NTPで時間を同期するように変更し、タイムゾーンをAsia/Tokyoに合わせておきます。

パーティション作成

パーティションを分割します。

UEFIの場合、以下のレイアウトが推奨されています。

マウントポイント パーティション パーティションタイプ 推奨容量
/mnt/boot /dev/efi_system_partition EFI System Partition 最低300MiB
swap /dev/swap_partition Linux swap 512MiB以上
/mnt /dev/root_partition Linux filesystem 残り容量全て

boot領域はインストールするカーネルの量によりますので、事前に入れるカーネルの総容量を計算しておくといいと思います。 本手順では300MiBあればインストール可能です。

swap領域は以下の参考をサイトに決めるといいと思います。

第15章 swap 領域 Red Hat Enterprise Linux 7 | Red Hat Customer Portal

上記を元に分割を実施します。

まず、以下のコマンドでパーティション状況を見ます。

lsblk

いっちゃんでかいディスクが分割対象です。多分 /dev/sda とかだと思います。

そしたら、以下のコマンドで分割ツールを起動します。

cgdisk /dev/sda

TUIのツールになっているので画面に沿って、上記の表のように分割していきます。

分割すると最終的に以下のような状態になりました。

パーティションのフォーマット

以下のコマンドを実行して、パーティションをフォーマットします。

mkfs.fat -F 32 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sda2

EFIシステムパーティションFAT32でのフォーマットが必要なようです。

ファイルシステムパーティションLinuxでメジャーなext4を指定します。

パーティションのマウント

以下のコマンドを実行して、パーティションをマウントします。

mount /dev/sda2 /mnt
mount --mkdir /dev/sda1 /mnt/boot
swapon /dev/sda3

インストール

以下のコマンドを実行して、必要なカーネルなどをインストールします。

pacstrap /mnt base base-devel linux linux-firmware sudo nano

ミラーを変更した方がダウンロードが早くなるようですが、今回は気にせずそのまま実行します。

なお、インストールしたものは以下のとおりです。

パッケージ 内容
base Arch Linuxの基本パッケージ
base-devel 開発で必要になるパッケージ群
linux 通常のLinuxカーネル
linux-firmware 無線LANやグラフィックボードなどのLinuxファームウェアパッケージ群
sudo 管理者権限実行で必要なツール
nano エディター

fstabの生成

以下のコマンドを実行して、fstabを生成します。

genfstab -U /mnt >> /mnt/etc/fstab

chrootの実行

以下のコマンドを実行して、chrootします。

arch-chroot /mnt

タイムゾーンの設定

以下のコマンドを実行して、タイムゾーンを指定します。

ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

その後、以下のコマンドを実行して、 /etc/adjtime を生成します。

hwclock --systohc

ローカリゼーションの設定

以下のコマンドを実行します。

sudo locale-gen

テキストエディタにて管理者権限で /etc/locale.gen を開き、以下の項目のコメントアウトを外します。

もう一度最初のコマンドを実行します。

sudo locale-gen

テキストエディタにて管理者権限で /etc/locale.conf を開き、以下を追記します。

LANG=ja_JP.UTF-8

ネットワークの設定

以下のコマンドを実行して、ホスト名を指定します。

echo neko3cs-archlinux > /etc/hostname

今回は neko3cs-archlinux としています。

これがコンピューター名となります。

また、 /etc/hosts/ を開き、以下を追記します。

127.0.1.1    neko3cs-archlinux.localdomain    neko3cs-archlinux

次に以下のコマンドを実行して、 dhcpd をインストールします。

pacman -S dhcpcd

ip -l でネットワークインターフェース名を確認します。

今回は ens33 だったので以下のコマンドを実行し、dhcpd を有効化します。

systemctl enable dhcpd@ens33

ブートローダーの設定

今回は GRUB を使用します。

以下のコマンドを実行して、GRUBをインストールします。

pacman -S grub

その後、以下のコマンドを実行して、GRUBをブート領域にインストールしていきます。

pacman -S efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg

rootユーザーのパスワード設定

以下のコマンドを実行して、rootユーザーのパスワードを指定します。

passwd

ユーザー作成

以下のコマンドを実行して、普段使用するユーザーを作成します。

useradd -m -g users -G wheel -s /bin/bash neko3cs
passwd neko3cs

その後、 /etc/sudoers を開き、以下の部分をアンコメントします。

## uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL:ALL) ALL

ここで一度再起動します。

yayのインストール

以下のコマンドを実行し、yayをインストールします。

sudo pacman -S git go
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Arch Linuxのデフォルトパッケージマネージャーは pacman ですが、 pacman では不十分な場合 AUR からパッケージを取得します。

yay は AUR のパッケージマネージャーです。

デスクトップ環境のインストール

今回は Xfce と LightDM を使用します。

以下のコマンドを実行して、デスクトップ環境をインストールします。

sudo pacman -S lightdm lightdm-gtk-greeter xfce4
sudo systemctl enable lightdm.service
startxfce4

ファイアウォールのインストール

以下のコマンドを実行して、ファイアウォールをインストールします。

sudo pacman -S ufw gufw

日本語化

日本語に対応したフォントをインストールします。

sudo pacman -S otf-ipafont noto-fonts-cjk

日本語入力に対応したIMEをインストールします。

sudo pacman -S fcitx5-im fcitx5-mozc

参考文献

*1:私は jaist.ac.jp から取得しました