ArchLinuxインストール手順
2025-12-07 04:20
基本的にarchwikiに従っている
事前準備
- インストールメディアはddで作成
- インストールメディアから起動
- 有線ネットワーク疎通確認
ping archlinux.jpip a
- 時刻設定確認
timedatectl status- ntpがacvtiveになっていればOK
ファイルシステム作成
- ディスク確認
lsblk -l- ディスク名を控える
nvme0n1とか
| マウントポイント | パーティション | パーティションタイプ | 容量 |
|---|---|---|---|
| /mnt/boot1 | /dev/efi_system_partition | EFI システムパーティション(ef00) |
最低 300 MiB。複数のカーネルをインストールする場合は、最低 1 GiB。 |
| [スワップ] | /dev/swap_partition | Linux swap(8200) |
512 MiB 以上 |
| /mnt | /dev/root_partition | Linux x86-64 root (/)(8304) |
デバイスの残り容量全て |
cgdisk /dev/nvme0n1- TUIで操作できる
- 必要に応じて既存のパーティションをDELETE
- efiパーティション
- \<new>
- First sector: enter
- Size in sectors:
+2G - Hex code or GUID:
ef00 - Enter new partition name:arch efi
- swapパーティション
- \<new>
- First sector: enter
- Size in sectors:
+32G - Hex code or GUID:
8200 - Enter new partition name:swap
- rootパーティション
- \<new>
- First sector: enter
- Size in sectors: enter
- Hex code or GUID:
8304 - Enter new partition name: arch root
- \<Write>
- [ ]
ls /devでnvme0n1p1,p2,p3があればOK
フォーマット
- EFI システムパーティションを作成した場合、mkfs.fat(8) を使って FAT32 に フォーマット してください。(arch wiki)
mkfs.fat -F 32 /dev/nvme0n1p1
- スワップ 用のパーティションを作成した場合は、mkswap(8) で初期化してください:
mkswap /dev/nvme0n1p2
- ext4 ファイルシステムを /dev/root_partition に作成するには、以下のコマンドを実行:
mkfs.ext4 /dev/nvme0n1p3- 一瞬固まるからビビる
マウント
- root
mount /dev/nvme0n1p3 /mnt
- efi
mount --mkdir /dev/nvme0n1p1 /mnt/boot
- swap
swapon /dev/nvme0n1p2
- [ ]
mountでnvme0n1p1とnvme0n1p3がマウントされているか確認
インストール
- ミラーの選択
/etc/pacman.d/mirrorlistを編集してServer = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$archを追記
- パッケージインストール
pacstrap -K /mnt base linux linux-firmware networkmanager helix vim zsh
システム設定
- fstabの生成
genfstab -U /mnt >> /mnt/etc/fstab
- chroot
arch-chroot /mntzsh
これ以降はpacmanが使える
- タイムゾーン
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtimehwclock --systohc
- ローカリゼーション
helix /etc/vconsole.conf(新規作成)- 必要ならば
KEYMAP=jp106
- 必要ならば
helix /etc/locale.genen_US.UTF-8 UTF-8とja_JP.UTF-8 UTF-8をアンコメント
locale-genhelix /etc/locale.conf(新規作成)LANG=en_US.UTF-8を記入
- ホストネーム設定
/etc/hostnameにお好きな名前を記入
- ブートローダー
- 無難にGRUB
pacman -S grub efibootmgr os-probergrub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB- なんかエラー吐いたらmount周りでミスっている可能性。1からやり直した方が早い。
- GRUBいじったらメイン設定ファイルの生成
grub-mkconfig -o /boot/grub/grub.cfg
- micro code
pacman -S intel-ucodegrub-mkconfig -o /boot/grub/grub.cfg
- root password
passwd- 大事
- user passwd
pacman -S sudo- 一応
/etc/shellsにzshがいるか確認 useradd -m -G wheel -s /bin/zsh <USERNAME>passwd <USERNAME>visudo%wheel ALL=(ALL:ALL) ALLのコメントアウトを解除(結構下の方にある)
再起動
exit- chroot環境から抜ける
- zshで作業していた場合、2回打つ。
arch-chroot /mnt ...が表示されたらOK
reboot
ここまでが一般的なインストール手順
ここから個人環境設定
再起動後、saltでログインするとzshの初期設定が開く。後でdotfileを入れるので、ここは0を選択。
この時点ではまだネットワークには接続できない。
ネットワーク設定
- 入れ忘れていたら
sudo pacman -S networkmanager sudo systemctl enable NetworkManagersudo systemctl start NetworkManagernmcli device statusで使用したいDEVICEのSTATEがconnectedになっていることを確認- もしなっていなければ
nmcli device connect enp...
- もしなっていなければ
ping archlinux.jpで疎通確認
AUR
- rustの用意
sudo pacman -S rustuprustup default stablerustup update
sudo pacman -S --needed base-devel gitgit clone https://aur.archlinux.org/paru.gitcd parumakepkg -si
結構時間かかる
wayland環境構築
ぶちこめー
- paru -S niri foot swaybg swaylock-effects wlogout fuzzel firefox
- xdg-desktop-portalはxdg-desktop-portal-wlrを選択
- jackを聞かれたらpipewire-jackを選択
- これで一旦niriは起動するはず
いつもの
- AURで入るやつ一括
paru -S getnf noto-fonts-cjk noto-fonts-emoji starship yazi ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick openssh lsd mako libnotify waybar swayidle fcitx5-im fcitx5-mozc greetd greetd-tuigreet alsa-utils sof-firmware- この段階まで来たら、このguideにブラウザからアクセスできているはず
sof-firmwareはLet's noteでスピーカーを認識させるために必要
- keyd
git clone https://github.com/rvaiya/keydcd keydmake && sudo make installsudo systemctl enable --now keyd
- sheldon
cargo install sheldon
- swaybg
systemctl --user add-wants niri.service mako.servicesystemctl --user add-wants niri.service waybar.servicehl ~/.config/systemd/user/swaybg.service
[Unit]
PartOf=graphical-session.target
After=graphical-session.target
Requisite=graphical-session.target
[Service]
ExecStart=/usr/bin/swaybg -m fill -i "%h/.dotfiles/wallpaper.jpg"
Restart=on-failure
- systemctl --user daemon-reload
- systemctl --user add-wants niri.service swaybg.service
- greetd
systemctl enable greetd
- dotfiles
- まずgit cloneのためにsshを入れる
ssh-keygen -t ed25519 -C "n.salt2000@gmail.com"eval "$(ssh-agent -s)"ssh-add ~/.ssh/id_ed25519- githubに追加
- 満を持して./link.sh
- だいたい入るので一旦
reboot
- まずgit cloneのためにsshを入れる
日本語入力
paru -S fcitx5-im fcitx5-mozcfcitx5-configtoolでToggle Input Methodにinsertを追加、Temporarily Toggle Input MethodのLeft Shiftを削除- これやらないとスペースバー押すたびに日英切り替わる
完了!
お疲れ様!
他にいつも使っているもの:
- Audio:
paru -S alsa-utils pipewire pipewire-pulse wireplumber - Bluetooth:
paru -S bluez bluez-utils - IDE:
geany - PDF:
zathura - Discord:
vesktop - ftp:
vsftpd - paint:
pinta - Network Tools:
paru -S wget mtr traceroute nmap whois
- cursor: (everforest-cursor-light)[https://github.com/talwat/everforest-cursors]
mkdir .local/share/icons && wget -cO- https://github.com/talwat/everforest-cursors/releases/latest/download/everforest-cursors-variants.tar.bz2 && tar xfj - -C ~/.local/share/icons
- FireWall:
nftables- systemdで有効化
あとは大体Firefoxで事足りる(teamsとか)