久々にArchLinuxのインストール
久々にArchLinuxをインストールした話です。特に新しいことはありません。
過去ログを参考に挑戦してみたら上手くいったので、記事化しました。
インストールする度に更新する予定。
BootMenuに入る
USBからArchLinuxを起動するためにF12を連打してBootMenuに入る。
PCによってBootMenuに入れるキーは異なります。
- USBを選択する。
- 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
は必須ですが、nvim
とiwd
は好みです。私はエディタに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
ここらへんで、自分はつまづいた記憶があり、過去の記録には次の二つを行うと上手くいったと書いてありました。
-
systemd-resolved.service
を有効にする。
systemctl --now enable systemd-resolved.service
- 下記のような内容の
/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
個人的な設定
今までがどんな環境でも共通する内容でした。これからは個人的な環境設定の備忘録です。
コマンドのインストール
私が新しいもの好きなので、cat
やls
などの代替となるコマンドをインストールしています。
pacman -S bat exa httpie bottom openssh
無くてはならないgit
pacman -S git github-cli
デスクトップ環境
pacman -S xorg-server xf86-video-intel
pacman -S lightdm i3
pacman -S feh acpi rofi pulseaudio
pacman -S alacritty tmux xorg-xmodmap fish starship stow which
PC起動時にlightdmが動くようにサービスを有効化します。
lightdmが動けば自動的にi3が開くはずです。
systemctl enable lightdm.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