core i7 4790K と Z97 extreme4 による自作PCにArch Linuxを入れた時の手順メモ。
インストールメディアのブート
ここではUSBメモリでインストールメディアを作成しブートする。
USBメモリにisoを焼く
https://www.archlinux.org/download/ からisoを落としておく。
hdiutil convert -format UDRW -o arch archlinux-2023.07.01-x86_64.iso
diskutil list # 焼きたいUSBメモリのパスを確認 (/dev/disk2 だったとする)
sudo dd if=arch.dmg of=/dev/disk2 bs=1m
ddがresource busyになる場合
先にアンマウントしておく必要がある。
df # /dev/disk2 の Mounted on を確認 (/Volumes/Arch だったとする)
diskutil umount /Volumes/Arch
sudo dd if=arch.dmg of=/dev/disk2 bs=1m
USBメモリをUEFIブートする
UEFIブートでセットアップするため、インストールメディアからUEFIブートしておく。
マシン起動時にF2を押してUEFIの設定画面に入り、USBメモリがUEFIブートされるように設定して再起動し、Boot Arch Linux (x86_64) を選択。/sys/firmware/efi が存在すればOK。
OSのインストール
https://wiki.archlinux.org/index.php/Installation_guide を見て進める。
初期設定
キーボード
loadkeys jp106
パーティショニング
https://wiki.archlinux.org/index.php/Partitioning によるとMaster Boot RecordとGUID Partition Tableの2つのやり方があり、後者のほうがモダンらしいので後者でやる。
ブートローダーにはGRUBを使うことにする。
https://wiki.archlinux.org/index.php/Beginners'_guide を参考にした。
パーティションの作成
EFI system partitionを作っておく必要がある。
lsblk | grep -v "rom\|loop\|airoot" # SSDがsda、USBメモリがsdbだった
parted /dev/sda # partedのインタラクティブシェルでSSDをいじり始める
(parted) mklabel gpt
(parted) mkpart ESP fat32 1MiB 513MiB
(parted) set 1 boot on
(parted) mkpart primary ext4 513MiB 100%
(parted) quit
ファイルシステムの初期化
lsblk /dev/sda # /dev/sda1がESP、/dev/sda2がrootパーティションであることを確認
mkfs.vfat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
パーティションのマウント
mount /dev/sda2 /mnt # /mntにrootパーティションをマウント
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot # /mnt/bootにESPをマウント
インターネット接続
設定済みの無線LANルータに有線でつないでreboot
したらping google.com
が通るようになった。
ハードウェアクロックの更新
timedatectl # 確認
timedatectl set-time "2015-08-15 16:00:30" # UTCの時計をインターネットで眺めて合わせる
インストール
パッケージのインストール
vim /etc/pacman.d/mirrorlist # 日本かUS以外のミラーをコメントアウトする
pacstrap -K /mnt base linux linux-firmware
いろいろ入る
初期設定
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Japan /etc/localtime # あるいは PST8PDT
hwclock --systohc
vi /etc/locale.gen # en_US.UTF-8とja_JP.UTF-8の行のコメントを外す。最初からja_JPだけでやると豆腐になる。
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
echo KEYMAP=jp106 > /etc/vconsole.conf
echo arch > /etc/hostname # 好きに選ぶ
passwd # rootパスワードを設定
GRUBのインストール
ブートローダーにGRUBを選んだので https://wiki.archlinux.org/index.php/GRUB を読む。
pacman -S grub efibootmgr
lsblk /dev/sda # これがArchをインストールしたドライブか確認
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchGRUB
grub-mkconfig -o /boot/grub/grub.cfg
dhcpcdをいれておく
pacman -S dhcpcd
再起動
exit
umount -R /mnt
reboot
これで素のArch Linuxがブートされるようになる。
GUI環境のセットアップ
CUIだけしか使えない状態から普通にブラウザが見れる状態まで持っていきます。
足場固め
# 再度ネットにつながるようにする
systemctl enable dhcpcd.service
systemctl start dhcpcd.service
# 非rootユーザー作成
useradd -m -g wheel k0kubun
passwd k0kubun
pacman -S sudo
visudo # 「Defaults env_keep += "HOME"」と「%wheel ALL=(ALL) ALL」を有効に
su k0kubun
デスクトップ環境
X.orgのインストール
pacman -S xorg-server xorg-server-utils xorg-xinit xterm
ドライバのインストール
lspci | grep VGA # 何をインストールすればいいのか確認
pacman -S xf86-video-intel # intelの場合
GNOMEのインストール
pacman -S gnome gnome-tweak-tool
echo "exec gnome-session" > ~/.xinitrc
startx
xset r rate 200 80 # 操作しにくいのでキーリピートを上げておく
解像度の設定
HiDPIにする時は以下のようにする。
echo "Xft.dpi: 180" > ~/.Xdefaults
yaourt 導入
非公式パッケージをいれるためにyaourtをいれる。
yaourtは開発が終了しています。(Requesting official statement from developers · Issue #382 · archlinuxfr/yaourt)
下記から開発が継続しているパッケージマージャーを使用してください。
AUR ヘルパー - ArchWiki
sudo vim /etc/pacman.conf # 以下を足す
# [archlinuxfr]
# Server = http://repo.archlinux.fr/$arch
# SigLevel = Never
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -Syy
sudo pacman -S package-query
sudo pacman -S yaourt
日本語
Input Method
ibus-skkを使うことにした。
yaourt -S ibus ibus-qt ibus-skk
ibus-setup # skkを選択
日本語フォント
sudo pacman -S base-devel # ないとビルドできない
yaourt -S ttf-ricty
あとは adobe-source-sans-pro-fonts とかもいれておく。
dotfilesの適用
この辺で普段使っている設定ファイルを適用しておく。
sudo pacman -S git vim zsh tmux
cd
mkdir -p src/github.com/k0kubun
git clone https://github.com/k0kubun/dotfiles src/github.com/k0kubun/dotfiles
ln -sf src/github.com/k0kubun/dotfiles/config/.Xdefaults .Xdefaults
ln -sf src/github.com/k0kubun/dotfiles/config/.xinitrc .xinitrc
ln -s src/github.com/k0kubun/dotfiles/config/.gtkrc-2.0 .gtkrc-2.0
ln -s src/github.com/k0kubun/dotfiles/config/.vim .vim
ln -s src/github.com/k0kubun/dotfiles/config/.vimrc .vimrc
ln -s src/github.com/k0kubun/dotfiles/config/.zsh .zsh
ln -s src/github.com/k0kubun/dotfiles/config/.zshrc .zshrc
ln -s src/github.com/k0kubun/dotfiles/config/.zshrc.Linux .zshrc.Linux
ln -s src/github.com/k0kubun/dotfiles/config/.tmux.conf .tmux.conf
ln -s src/github.com/k0kubun/dotfiles/config/.tmux.conf.arch .tmux.conf.arch
chsh
~/.vim/dict/skk/SKK-JISYO.L を辞書に指定
アプリケーションのインストール
ブラウザとターミナルとTwitterクライアントがあれば生活できるのでその2つを入れる。
Google Chrome
yaourt -S google-chrome
なんかfakerootが入ってなくて落ちるので入れたりとか、なんかのコマンドがSEGVしてるけど無視したりとか。
google-chrome-stable
を叩くと起動する。
urxvtをいれる
sudo pacman -S rxvt-unicode
urxvt
とか叩くと立ち上がる。
Nocturnを入れる
yaourt -S nocturn
nocturn
で立ち上がる。
その他メモ
忘れやすい設定など
GNOMEでのibus-skkの有効化
ibus-setupではなく、設定 > 地域と言語 > 入力ソース から選ぶ
GNOMEのHiDPI
gsettings set org.gnome.desktop.interface scaling-factor 2
GNOMEの画面端でウィンドウが拡大するのを無効にする
gsettings set org.gnome.shell.overrides edge-tiling false
GNOMEのキーボードショートカット
設定 > キーボード
- alfredっぽい奴
- システム > コマンド実行プロンプトを表示
yaourt -S wmctrl
した後 http://qiita.com/k0kubun/items/0d47bf982c6d39b1147a を追加
gnome-shell-frippery
yaourt -S gnome-tweak-tool
で 拡張機能 > Frippery move clock
gnomeのDock出しっぱなし
yaourt -S gnome-tweak-tool
で 拡張機能 > Dash to Dock。インテリジェント表示を無効にし、ドック上でスクロールしたらスペースを切り変えるを無効にする。不透明度の調整で不透明度を下げる。
tmuxのコピー/ペーストが動かない
yaourt -S xclip
と.tmux.conf.localの確認。
yaourt -S urxvt-perls
。