🕌

久々にArchLinuxのインストール

2023/05/02に公開

久々にArchLinuxをインストールした話です。特に新しいことはありません。
過去ログを参考に挑戦してみたら上手くいったので、記事化しました。
インストールする度に更新する予定。

BootMenuに入る

USBからArchLinuxを起動するためにF12を連打してBootMenuに入る。
PCによってBootMenuに入れるキーは異なります。

  1. USBを選択する。
  2. Arch Linux install medium (x86_64, UEFI)を選択

ネットワークに繋げる

私は無線で設定をしているので、まずは無線LANにつなげます。
iwdがデフォルトで入っているので、iwctlを使って設定を行います。

root@archiso ~ # iwctl
// ネットワークデバイスを調べます
[iwd] # device list

// アクセスポイントを検索します。
[iwd] # station wlan0 get-networks

// ネットワークデバイスとしてwlan0が見つかったので、wlan0でアクセスポイントにつなげます。
// また、パスフレーズを聞かれると思うので、入力します。
[iwd] # station wlan0 connect <Network name>

// 完了したらiwctlから抜けます
[iwd] # exit

// ping コマンドを使ってネットとの疎通を確認します。
root@archiso ~ # ping archlinux.org

アプリをインストールするために、ネットワークの環境を整える。

Timezoneの設定

root@archiso ~ # timedatectl set-ntp true
root@archiso ~ # tzselect
root@archiso ~ # timedatectl set-timezone Asia/Tokyo```

パーティションの設定

私の環境はGPTのUEFIです。
パーティションを分けたいドライブを特定し、partedを使ってパーティションを分けます。

root@archiso ~ # parted -l
root@archiso ~ # parted /dev/nvme0n1
(parted) mklabel gpt
(parted) mkpart "EFI system partition" fat32 1MiB 261MiB
(parted) set 1 esp on
(parted) mkpart "root partition" ext4 261MiB 100%
(parted) quit

ファイルフォーマットの設定

root@archiso ~ # mkfs.fat -F32 /dev/nvme0n1p1
root@archiso ~ # mkfs.ext4 /dev/nvme0n1p2

パーティションをマウントする

root@archiso ~ # mount /dev/nvme0n1p2 /mnt
root@archiso ~ # mkdir /mnt/efi
root@archiso ~ # mount /dev/nvme0n1p1 /mnt/efi

基本的なソフトウェアをインストール

root@archiso ~ # pacstrap /mnt base linux linux-firmware neovim iwd

base,linux,linux-firmwareは必須ですが、nvimiwdは好みです。私はエディタにneovimを使うため入れています。また、iwdなどのネットワーク系は入れ忘れると面倒なのでここでインストールしてしまいます。

Fstabを生成する

root@archiso ~ # genfstab -U /mnt >> /mnt/etc/fstab

rootを変更する

root@archiso ~ # arch-chroot /mnt

システムクロックの設定

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

ロケールの設定

/etc/locale.genをエディタで開き、en_US.UTF-8 UTF-8と他に必要な言語をアンコメントします。
日本語の場合は、ja_JP.UTF-8 UTF-8だったはずです。

nvim /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf

ホスト名の設定

ホスト名はなんでも良いです。一番悩む場所です。

echo "laptop" > /etc/hostname

パスワードの設定

passwd

ブートマネージャーの設定

Grubを使います。

pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=grub

// /etc/default/grub の "GRUB_DISABLE_OS_PROBER=false" をアンコメントします
nvim /etc/default/grub
grub-mkconfig -o /boot/grub/grub.cfg

再起動

rootから抜けて、全てをアンマウントし、再起動します。

exit
root@archiso ~ # umount -R /mnt
root@archiso ~ # reboot

うまくArchLinuxが起動し、ログインできればインストール成功です。

残りの作業

再起動した時点ではネットワークに繋がっていないので、インストールしてあるiwdを使ってネットワークに繋がるようにします。

systemctl --now enable iwd
iwctl

ここらへんで、自分はつまづいた記憶があり、過去の記録には次の二つを行うと上手くいったと書いてありました。

  1. systemd-resolved.serviceを有効にする。
systemctl --now enable systemd-resolved.service
  1. 下記のような内容の/etc/iwd/main.conf というファイルを作成する。
[General]
EnableNetworkConfiguration=true

↑APモードで繋げる際に必要?(よくわからなかった)

ユーザーの作成

rootユーザで作成するのは良くないので、sudoを実行できるユーザを作成しましょう。(まだ、sudoは入っていないことに注意)

useradd -m -G wheel -s /bin/bash archer
passwd archer

sudo

以前はsudoの代替と言われているdoasを使っていました。ただ、stowコマンドを実行したときに、doasでは上手くいかないことがあったのでsudoに戻しました。

pacman -S sudo

visudoでsudoの設定をします。ただし、neovimを利用しているので環境変数のEDITORにneovimを設定しておく必要があります。

export EDITOR='/usr/bin/nvim'
visudo

wheelグループのユーザにsudoを実行できる権限を与えるため、次の行をコメントアウトします。

%wheel      ALL=(ALL:ALL) ALL

個人的な設定

今までがどんな環境でも共通する内容でした。これからは個人的な環境設定の備忘録です。

コマンドのインストール

私が新しいもの好きなので、catlsなどの代替となるコマンドをインストールしています。

pacman -S bat exa httpie bottom openssh

無くてはならないgit

pacman -S git github-cli

デスクトップ環境

pacman -S xorg-server xf86-video-intel xorg-init
pacman -S ly i3
pacman -S feh acpi rofi pulseaudio
pacman -S alacritty tmux xorg-xmodmap fish starship stow which

PC起動時にlyが動くようにサービスを有効化します。
lyが動けば自動的にi3が開くはずです。

systemctl enable ly.service

dotfiles

dotfileはgithubとstowコマンドを使って管理しています。

git clone https://github.com/k41531/dotfiles.git

クローンしてきたファイルの中に、アプリごとのdotfileのフォルダーがあるのでstowコマンドをそれぞれに対して実行します(スクリプト化したい

stow -v bash
stow -v fish
stow -v alacritty
...など

AURパッケージを使うために

pacman -S --needed base-devel

以下は、以前openboxを使っていた時の名残です。

見た目のカスタマイズ

addy-dclxvi氏がおしゃれなテーマをたくさん作っているので、お借りします。

git clone https://github.com/addy-dclxvi/gtk-theme-collections
git clone https://github.com/addy-dclxvi/openbox-theme-collections
git clone https://github.com/addy-dclxvi/tint2-theme-collections

gtkのテーマを設定画面から選べるようにシンボリックリンクを作る。

ln -sf openbox-theme-collections/Vermello ~/.themes/Vermello

AURにあるlxdmのテーマを使ってカスタマイズする。

git clone https://aur.archlinux.org/lxdm-themes.git
cd lxdm-themes
makepkg -sir

gtkのテーマを選べるようにコピーする。

cp gtk-theme-collections/Fantome /usr/share/themes/ -r

/etc/lxdm/lxdm.confファイルのテーマを設定する行を使用したいテーマの名前に書き換える。

基本的なフォルダを作る

Pictures, Videos, Documentsなど

pacman -S xdg-user-dirs
xdg-user-dirs-update

おしまい

Discussion