人権真骨頂

とくがたかいことでゆうめい

ArchLinux をインストールする with Btrfs

インストール以前

Arch Linux Downloadsから最新版のISOをダウンロードしてくる。そしてUSBメモリをさして焼けばいいのだけれど、自分は毎回以下のようにやっている。

$ lsblk #USBメモリを確認
$ dd bs=4M if=archlinux.iso of=/dev/sdX #lsblkで確認したデバイスに焼く

毎回のように dd の進捗を確認する方法を検索してしまうのでメモ。

$ sudo sh -c 'while true; do killall -USR1 dd; sleep 2; done'

こうすると2秒おきに進捗が見れるらしい。べんり。 CentOS ddコマンド実行中に進捗情報を確認する方法

BSD系だと使えないので注意。

ArchLinuxのインストール

ネットワークに接続する

ネットワークに接続しないとなにも始まらないので接続。有線でも無線でも良い。 無線の場合は

# wifi-menu

で接続。

# ping 8.8.8.8

接続確認。

ssh 接続する

そのまま設定を手打ちするのは面倒くさいので, sshで接続して設定をする。

ホスト側

# sytemctl start sshd
# systmctl status sshd
# ip a

IPアドレスを確認しておく。

# passwd

そして、rootパスワードを設定しておきます。

クライアント側

$ ssh root@IP_ADDR

ssh接続確認できたら、次に進む。

パーティション

一番面倒くさい。

# cgdisk /dev/sda

こんなかんじにした。

NAME             MAJ:MIN  RM  SIZE    RO  TYPE
 sda
 │─sda1            8:1     0    512M   0   part
 ├─sda2            8:2     0      1G   0   part
 └─sda3            8:3     0  117.8G   0   part

フォーマット

# mkfs.vfat -F32 /dev/sda1
# mkswap /dev/sda2
# mkfs.btrfs /dev/sda3

マウント

# mount -o noatime,discard,ssd,autodefrag,compress=lzo,space_cache /dev/sda3 /mnt
# mkdir -p /mnt/boot/efi
# mount /dev/sda1 /mnt/boot/efi

pacstrap

パーティションが終わったらあとは楽ちん。 pacstrap を使って必要なソフト群をインストールする。その前にミラーリストの順序を変更しておくと良い。

# vi /etc/pacman.d/mirrorlist # Japanを上に持ってくる
# pacstrap /mnt base base-devel grub efibootmgr dosfstools btrfs-progs lzo dialog wpa_supplicant openssh git vim zsh

そこそこ時間がかかるので待つ。

設定

fstab

# genfstab -p /mnt >> /mnt/etc/fstab
# vim /mnt/etc/fstab #/dev/sda の形式ではなくて,UUID=の形式に置き換える

諸設定

# arch-chroot /mnt `which zsh`
# passwd
# echo HOSTNAME > /etc/hostname
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# echo 'LANG=en_US.UTF-8' > /etc/locale.conf
# vim /etc/locale.gen # en_US.UTF-8 のコメントアウトを解除する
# locale-gen
# vim /etc/mkinitcpio.conf # HOOKSのfsck のあとにbtrfsを追加する
# mkinitcpio -p linux
# mkdir /boot/efi/EFI
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Grub --recheck --debug
# grub-mkconfig -o /boot/grub/grub.cfg
# exit
# umount /mnt/{boot/efi,}
# reboot

ここまででArchLinuxのインストールは完了です。次は基本的な設定をしていきます

また先ほどの要領でssh接続して進める。

pacman & yaourt

/etc/pacman.conf を設定してmultilibを有効にしておく。

そしてこれも末尾に追記しておく。

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

追記し終わったら、更新して yaourt を有効にしておく。

# pacman --sync --refresh yaourt

ユーザー作成

# useradd -m -G wheel -s /bin/zsh upamune
# passwd upamune
# visudo # %wheel ALL=(ALL) ALL のコメントアウトを解除する

ユーザー作成したのでこれからはrootユーザーではなく作成したユーザーで作業していく。

GUI構築

Xfce + SLiM です。

SLiM 導入

$ yaourt -Sy xorg-server xorg-server-utils xorg-server-xephyr xorg-utils xterm xf86-video-intel slim archlinux-themes-slim slim-themes
$ vim /etc/slim.conf # login_cmd, daemon の行のコメントアウトを解除して、 themeも変更
$ systemctl enable slim.service

Xfce 導入

$ yaourt -S xfce4 xfce4-goodies gamin
$ vim ~/.xinitrc # exec startxfce4 と書けば良い

インストール後

プログラミング言語

$ yaourt -S clang go scala

ツール

$ yaourt -S chromium dropbox gimp guake mikutter mercurial tig xsel tlp tp-smapi tpacpi-bat tmux the_silver_searcher unzip wpa_actiond

wpa_actiond をインストールすることで netctl-auto が入るので、ネットワークに自動接続するように設定する。

$ systemctl enable netctl-auto@[INTERFACE].service

さらに tlp を有効にするためにも設定しておく。

systemctl enable tlp.service

開発環境

$ yaourt -S ctags typesafe-activator intellij-idea-ultimate-edition

フォント

$ yaourt -S ttf-koruri ttf-ricty otf-ipaexfont ttf-symbola

日本語入力

$ yaourt -S fcitx-qt5 fcitx-im fcitx-configtool fcitx-mozc

インストール後にFcitx Configuration からMozcを追加する必要がある。

テーマ

$ yaourt numix-themes-git numix-icon-theme-git