0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Arch Linuxの個人的インストール方法

0
Posted at

概要

Arch Linux(アーチ・リナックス)のインストール方法をまとめてみました。インストーラー(archinstallコマンド)でもセットアップできるのですが、仕組みを理解するために1つ1つまとめてみました。

セットアップの前準備

Bootable USB Flashを作成

適当なMacBookにて、Bootable USB Flashを作成します。Arch LinuxのISOファイルをArch Linux - Downloads からダウンロードします。詳細手順は 《Mac標準》 ISOイメージファイルからブータブルUSBを作成する方法 #bootableUSB - Qiita に沿いました。以下、Flash USBの内容を確認するコマンド。

diskutil list
# ストレージの内容が表示される
# 対象のストレージか確認する

ISOを書き込みます。

diskutil eraseDisk MS-DOS UNTITLED /dev/disk2
diskutil unmountDisk /dev/disk2
sudo dd if=./archlinux-2026.01.01-x86_64.iso of=/dev/disk2 bs=1m status=progress
# 結構時間がかかる
# 書き込みが終わると自動的にマウントされるようで、「マウントできません」のような警告が出現したが無視
diskutil eject /dev/disk2

Arch LinuxのOSインストール

Arch Linuxを導入するPCに、キーボードと先ほどのUSB Flashを接続します。BIOSに入り、USB Flashから起動するように設定します。Secure Bootは無効化しておきます。今回のPCのハードウェア的構成として、LANケーブルとHDMIを接続しました。GPUは刺していないのでオンボードです。

sshdを起動

Arch Linuxが起動します。OSセットアップしたいPCに接続されているキーボードを叩いてセットアップしてもよいですが、すべて打つのはつらいですよね。そのため、OSセットアップするPCのsshdを有効化し、別端末からsshしてそこからコマンドをコピー&ペーストします。Arch Linuxをインストールするマシン上で、以下のコマンドを入力し、sshdを起動します。

passwd # rootのパスワードを設定(sshするときに使用するパスワード)
systemctl start sshd
ip a
# このマシンのIPアドレスを確認
# 出力例
# 123.123.123.123 とする

別端末で、以下のコマンドを入力し、sshで接続します。

# 入力例
ssh root@123.123.123.123

以降はコマンドをペーストしながらセットアップを実施できるため便利です。

ディスクセットアップとそのマウント

Arch Linux起動後、EFIシステムパーティションを作成します。パーティションを作成するディスクを確認します。

lsblk
# ディスクサイズなどを目印に特定
# /dev/xxx を確認

パーティション分け

パーティション分けのCLIツールとしてcgdiskが用意されていますが、今回はコマンドを入力することで設定します。以下のようにコマンドを実行します。

# セットアップするディスクが/dev/sdaにつながっているとする
# ディスクの初期化(GPTテーブルの新規作成)
sgdisk --zap-all $DISK
sgdisk --clear $DISK

# 2. パーティションを作成します
# -n パネル: [番号]:[開始セクタ]:[終了セクタ] (0はデフォルト/自動)
# -t パネル: [番号]:[タイプコード]
# -c パネル: [番号]:[ラベル名]

# EFIシステムパーティション (512MB)
sgdisk -n 1:0:+512M -t 1:ef00 -c 1:"EFI" /dev/sda

# スワップパーティション (4GB)
sgdisk -n 2:0:+4G -t 2:8200 -c 2:"swap" /dev/sda

# ルートパーティション (残り全て)
sgdisk -n 3:0:0 -t 3:8304 -c 3:"root" /dev/sda

# 結果の表示
sgdisk -p /dev/sda

# カーネルにパーティション変更を通知
partprobe /dev/sda

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

引き続き、作成したパーティションごとにフォーマットを行います。

# フォーマット (mkfs)
# 1 EFI (FAT32)
mkfs.fat -F 32 /dev/sda1

# 2 Swap
mkswap /dev/sda2
swapon /dev/sda2

# 3 Root (ext4)
mkfs.ext4 -F /dev/sda3

# 確認
lsblk /dev/sda

作ったパーティションのマウント

以下のコマンドで、先ほどパーティション分け・フォーマットしたパーティションをそれぞれマウントします。

# root
mount /dev/sda3 /mnt
# uefi
mount --mkdir /dev/sda1 /mnt/boot
# swap
swapon /dev/sda2

# マウント設定を出力しておきます
genfstab -U /mnt >> /mnt/etc/fstab

# 以降、マウントしたパーティションで、システム設定を行います
arch-chroot /mnt

システム設定

pacmanセットアップ

# pacmanのミラー設定
# 早いミラーを設定しておきます
cat /etc/pacman.d/mirrorlist
cat <(curl -s "https://archlinux.org/mirrorlist/?country=JP" | sed -e 's/^#Server/Server/') - > /etc/pacman.d/mirrorlist

# Arch Linuxを動かすための最小限のパッケージ群をセットアップ
pacstrap /mnt base linux linux-firmware

ネットワーク設定

以下のコマンドでネットワークアダプタの名前(enp2s0のようなもの)を確認します。

ip link

このPCはサーバとして使いたいので、IPはDHCPではなく固定します。

# 設定例
cat <<EOS >/etc/systemd/network/20-wired.network
[Match]
Name=enp2s0

[Network]
Address=192.168.1.123/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=8.8.4.4
EOS

# systemd-networkd を起動
systemctl enable --now systemd-networkd
# DNS解決のために systemd-resolved を起動
systemctl enable --now systemd-resolved

# これをやらないと名前解決ができなくなる?
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

ロケール設定

時刻と地域を設定します。
ここで、テキストファイルの確認・編集のためlessとvimはインストールしておきます。

pacman -Syu --noconfirm
pacman -Sy --noconfirm less vim
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

# ハードウェアクロックを同期します
hwclock --systohc

echo LANG=ja_JP.UTF-8 > /etc/locale.conf
echo KEYMAP=jp106 > /etc/vconsole.conf
cp -p /etc/locale.gen ~/locale.backup.gen
patch /etc/locale.gen <<EOS
--- /home/arch/locale.2026-01-27.gen    2026-01-21 01:00:46.000000000 +0900
+++ /etc/locale.gen     2026-01-27 18:01:55.226933839 +0900
@@ -297 +297 @@
-#ja_JP.UTF-8 UTF-8  
+ja_JP.UTF-8 UTF-8
EOS

# ロケールを生成
locale-gen
# ロケールを一覧
locale -a
# ロケールをシステムへ適用
localectl set-locale ja_JP.utf8
# ロケール確認
localectl

NTP時刻合わせの設定をします。

timedatectl set-ntp true

# 時間確認
timedatectl
#                Local time: 木 2026-01-15 10:35:00 JST
#            Universal time: 木 2026-01-15 01:35:00 UTC
#                  RTC time: 木 2026-01-15 01:35:00
#                 Time zone: Asia/Tokyo (JST, +0900)
# System clock synchronized: yes
#               NTP service: active
#           RTC in local TZ: no

ブートローダとその他

# ホスト名を設定します
# 設定例
echo archlinux > /etc/hostname

ブートローダをインストールします。

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

一般ユーザ作成

一般ユーザを作成し、sudoできるようにします。まずはrootパスワードを設定します。

# rootパスワードを設定します
passwd
# archというユーザを作成します
useradd -m -g users -G wheel -s /bin/bash arch
# archのパスワード設定
passwd arch

sudoを導入します。

pacman -S --noconfirm sudo

# sudoできるよう設定を変更します。
# まずはバックアップ
cp -p /etc/sudoers ~/sudoers.backup

# sudoersファイルを編集するには以下のコマンドが必要です
visudo

# 変更内容は
diff -U 0 ~/sudoers.backup /etc/sudoers
# --- /root/sudoers.backup        2025-12-14 23:13:14.000000000 +0900
# +++ /etc/sudoers        2026-01-23 15:33:00.778390525 +0900
# @@ -125 +125 @@
# -# %wheel ALL=(ALL:ALL) ALL
# +%wheel ALL=(ALL:ALL) ALL

再起動

最後に再起動して完了です。

reboot

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?