私は大学時代の卒業研究ではLinuxを使って研究をしていました。 当時を懐かしみたい気持ちもあって、Linuxの開発環境を作ってみようと思います。 当時の研究室の同期が「つよつよエンジニアはArch Linuxだよ」って言ってたのでディストリビューションはArch Linuxにしようと思います。
Arch Linuxとは
公式サイトには以下のようにあります。
シンプルで軽量なディストリビューション
Arch Linuxの Web サイトにアクセスしました。Arch Linuxは、シンプルさを追求した軽量で柔軟な Linux® ディストリビューションです。
Arch Linuxはシンプルさと軽量さが売りになっているようです。 ユーザーはシステムを必要に応じて任意にカスタマイズすることが出来ます。 そのため、Arch Linuxは軽量であり、いわゆる低スペックマシンでも動作することが可能になっています。
また、カーネルはLinuxベースなのでLinuxのエコシステムを利用することが出来ます。
したがってお金のない大学生などでも中古で動くマシンを手に入れさえすれば使えるようになる、貧乏人の味方でもあるのです。
セットアップ準備
まず、インストールメディアを準備します。
以下のページのJapanの項目からISOファイルをダウンロードします。*1
その後、任意のメディア作成ツールを使って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