archLinux

自作PCにArch Linuxをインストールして環境構築する

core i7 4790K と Z97 extreme4 による自作PCにArch Linuxを入れた時の手順メモ。


インストールメディアのブート

ここではUSBメモリでインストールメディアを作成しブートする。


USBメモリにisoを焼く

https://www.archlinux.org/download/ からisoを落としておく。

hdiutil convert -format UDRW -o arch archlinux-2016.01.01-dual.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 を見て進める。


初期設定


キーボード

有線のUS配列を使っていたので何もしない。


パーティショニング

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 # Japan以外のミラーをコメントアウトする

pacstrap /mnt base

いろいろ入る


初期設定

genfstab -p /mnt >> /mnt/etc/fstab

arch-chroot /mnt
echo [host name] > /etc/hostname # 好きに選ぶ
ln -sf /usr/share/zoneinfo/Japan /etc/localtime
vi /etc/locale.gen # en_US.UTF-8の行のコメントを外す。最初からja_JPでやると豆腐になる。
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
mkinitcpio -p linux
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=arch_grub --recheck
grub-mkconfig -o /boot/grub/grub.cfg


再起動

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