Arch Linux インストール から Xfce 快適環境を構築するまで

  • 188
    いいね
  • 10
    コメント
この記事は最終更新日から1年以上が経過しています。

前置きの前置き

Arch Linux をインストールしたので
そのときの経緯をつらつらと書き連ねてみました
わりと丁寧に書いたので、もしかしたら参考程度にはなるかもしれません
が、文章書く能力を殆ど持っていないのでかなり読みにくくなっています
参考にならない可能性の方が大です

XPからの乗り換えで、CUIでちまちま打つのは初めてという人にも分かりやすくしてみました

マシンスペックや回線の速度にもよりますが、両者十分かつ構成が決まっている場合は40分
Archは初めてだがLinuxに触ったことはあるという人は1時間
viの使い方もわからないしLinuxってなにそれのような超初心者は一日
程度を目安にするといいでしょう

前置き

Arch Linuxの特徴

  • インストール作業はCUI環境だから低スペックでも楽々
  • インストール直後は必要最小限のGNU/Linux環境のみなので、自分が好きな環境を自由に構築しやすい
  • ローリング・リリース方式をとっているためバージョンの概念がなく、一度インストールしてしまうとそれで終わり
  • パッケージマネージャが優秀
  • AURを含めるとパッケージ数は多分最多
  • wikiが充実している

こんな人にオススメ

  • Windows XPのサポートが切れるから困ってる
  • Gentooは好きだけどインストールごとにコンパイルめんどい
  • シンプルが好き
  • 最新がいいのぉ!

Archは使わない方が幸せになれる人

  • ワタシエイゴワカリマセーン
  • 鯖用のディストリビューション探しちう・・・
  • CUIなにそれ

必要なもの

  • そこそこの英語力
  • 根気強さ

環境

  • SSD: 256GB
  • Mem: 4GB
  • CPU: intel Core i7 2677M
  • BIOS
  • JIS配列キーボード

そう、大根も切れるというあのZENBOOKです

ざっと予定

  • OS: Arch Linux (x86_64)(マルチブートの予定なし)
  • ブートローダー: GRUB
  • サウンド: ALSA
  • DM: Slim
  • WM: Xfce4
  • フォント: TrueType
  • パーティションテーブル: GUID Partition Table

WMはLXDEと悩んだけどとりあえずXfceで
GnomeやKDEはなんか嫌い
タイル型?知らない子ですね…

インストールの前に

Arch Linux DownloadsからISOイメージをダウンロードして
CDなりUSBなりに書き込んで、起動ディスクを作成してください
その間ヒマなので、必ず公式サイトのInstallation Guideをよく読むこと

ちなみにArch LinuxのLive CDは何かと優秀なので、捨てずに大事にとっておくといいでしょう

途中わからないことがあればググる
hogeについてよくわからないと思ったら

# man hoge

として読んでみる
エラー吐いたらArch Linux Bugtrackerをみるということを念頭

インストール作業の途中で失敗または中断してしまっても
マウントしなおしてchrootすれば大丈夫だから慌てないでおkです

ある程度ゆとりを持ってインストール作業すると吉でしょう

Windowsとのデュアルブートを考えている場合

LinuxがインストールされたボリュームはWindowsからは扱えませんので(できないことはないですが…)
デュアルブートする場合はWindows→Linuxの順でインストールすることが推奨されています

また、Windows 8には高速スタートアップ機能がありますが
これを有効にしたままLinuxのインストール作業をおこなった場合
EFI環境でESPが破壊されることがあるので、起動できなくなるかもしれません
これを防ぐ為に必ずLinuxのインストール作業の前に高速スタートアップ機能を無効にしておきましょう
高速スタートアップ機能の無効にする手順はFast Startup - Turn On or Off in Windows 8を参考に

さらに、Windows 8がプリインストールされた新しいコンピュータではSecure Bootが使われていますが
現在 Arch Linux では Secure Boot をサポートしていません
だからと言ってBIOSからSecure Bootを切るとWindows 8が起動しなくなることがあります
要するに、Windows 8とのデュアルブートは避けたほうがいいということです

Macとのデュアルブートを考えている場合

rEFItを使うと簡単です
MacBookの項目に
パーティション分けとGrubのインストールまで詳しく載っているので参考にしてください
それ以外の部分は以下と同じ手順で大丈夫なはず
ちなみにrEFItを使えばWinとのトリプルブートもできます

インストール作業

キーボードレイアウトの設定

起動ディスクを実行し、今回はBoot Arch Linux (x86_64)を選択
次にキーボードのレイアウトを選択します
JIS配列キーボードなので

# loadkeys jp106

インターネット接続

今回は無線で

# wifi-menu

DHCP接続の方は何もしないでも勝手に接続されているはずです

# ping www.google.com

で接続が確立されたか確認してみましょう

パーティショニング

たぶんインストール作業で一番めんどくさいところだと思います

Master Boot RecordかGUID Partition Tableの選択

詳しくはPartitioningで判断しましょう
要約しますと

  • ブートローダにGRUB Legacyを使う
  • 古いBIOSを使うWindowsとのデュアルブートをする

以外ならばGPT推奨のようです
つまり殆どの人はGPTですね

パーティション構成を考える上での注意点

BIOS-GPT環境でGRUBを使う場合はBIOS boot partitionが必要です
先頭1007KiBのパーティションをこれにする必要があります
これは勝手にあけられるので、最後に振ってあげましょう

あと、(U)EFIを使う場合には殆どの場合UEFI System partition(ESP)が必要になるそうですが、BIOS使ってるのでそんなことは知りません
知りたい人はEFI System Partitionを読むと幸せになれるかもしれません
どうやらFAT32でフォーマットされた512MiBのパーティションで
GPTでは、パーティションのタイプコードをEFI System Partitionのタイプに変更すればいいようです

swapについてですが

With more than 2 GB of physical RAM, one can generally expect good performance without a swap partition.

Partitioning#swapに書いてあります

ややこしいですねw

構成の考察

  • 殆どの人はブートローダはGRUBを使用
  • 殆どの人はGPTを使用

ですので

  • BIOS-GPT環境でGRUB
  • UEFI-GPT環境でGRUB

の2種類に大抵なります
まとめますと

BIOS-GPT環境でGRUB
  • BIOS boot partition (1007KiB)
  • boot (100MB)
  • /
  • swap (メモリ2GB未満の場合)
UEFI-GPT環境でGRUB
  • UEFI System partition(ESP) (512MiB)
  • boot (100MB)
  • /
  • swap (メモリ2GB未満の場合)

ですね!

UEFI-GPT環境において、マルチブートでArch Linuxをインストールしている場合
すでにESPが存在しているかもしれません

# parted /dev/sda print

で確認することができます

補足

UEFIの場合ブートローダにGummibootを使うとそこそこ楽にインストールできるようです
詳しくはGummiboot

構成

自分はBIOS-GPT環境でGRUBですので

/dev/sda3 /BIOS boot partition: 1007KiB
/dev/sda1 /boot: 100MB
/dev/sda2 /: 残りすべて

作業

# cgdisk /dev/sda

と打ってパーティショニングしていきましょう
グラフィカルな画面で作業できるので、特に迷うことはないはずです

BIOS boot partitionの場合はtypeをef02に
EFI System Partitionの場合はef00にするのを忘れずに

補足

MBRでのパーティショニング

BIOS-MBR環境ではBIOS boot partitionは必要ではありません
また、MBRのパーティショニングの場合

# cfdisk /dev/sda

でします
こちらもグラフィカルな画面なので特に迷うことはないでしょう

MBRでの場合、bootパーティションへのbootフラッグをつけることを忘れずに

ハードディスクを綺麗に消し去りたい

レンチンして炎の中へ投げ入れましょう
嘘です
そんな時はddコマンドで葬ります

# dd if=/dev/zero of=dev/sda

データは戻って来てくれませんので、実行する時は十分に気をつけてください
かなり時間がかかるので

# dd if=/dev/zero of=dev/sda bs=hoge

である程度大きな数字入れてあげると多少短縮されます

cgdisk 実行時のエラー

could not load partitions from '/dev/sda' Aborting!

のような表示が出た場合は cgdisk ではなく gdisk でやってみてください
こちらもヘルプを読めばわかりやすく書いてあるので大丈夫だと思います

パーティションのフォーマットとマウント

ext4でフォーマット

# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/sda3

# mount /dev/sda2 /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot

EFI System Partitionの場合は

# mkfs.vfat -v -F 32 /dev/sda3

補足

swapが欲しい場合

パーティショニングの時にtype82を選択
まずはext4でフォーマット

# mkfs.ext4 /dev/sda4

次にセットアップ

# mkswap /dev/sda4
# swapon /dev/sda4

以上です
マウントする必要はありません

ベースシステムのインストール

インストールの前にミラーサーバーを設定します

# nano /etc/pacman.d/mirrorlist

日本のサーバーの部分を上に持っていきます

## Score: 1.5, Japan
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
## Score: 1.9, Japan
Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch

どうもtsukubaのサーバは調子が悪いことが多いので、jaistのを上にした方が吉
ではインストールしていきます

# pacstrap /mnt base base-devel

若干時間がかかりまので
お茶でも飲んでおきましょう

システムの設定

fstabを生成

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

chroot

# arch-chroot /mnt

ロケールの生成と設定

生成

# nano /etc/locale.gen

として

en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8

のコメントアウトを外します

# locale-gen

設定

# echo LANG=en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8
# nano /etc/vconsole.conf

以下を記述します

KEYMAP=jp106

タイムゾーンとハードウェアクロックの設定

# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc --utc

ホストネームの設定

# echo "Your Host Name" > /etc/hostname

パスワードの設定

# passwd

ブートローダーのインストールと設定

マルチブートする人は、自動で他のシステムを検索してくれるようにos-probaerをインストールしておきましょう

# pacman -S os-prober

今回はGRUBを使います

BIOSの場合

# pacman -S grub
# grub-install --recheck /dev/sda

UIEFの場合

GRUBとその他必要なものをインストール

# pacman -S grub dosfstools efibootmgr

ESPのあるパーティションを確認

# parted /dev/sda print

そのパーティションを /boot/efiにマウントします

# mkdir /mnt/boot/efi
# mount /dev/hoge /mnt/boot/efi

GRUBをインストール

# grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub --recheck --debug

GRUBのインストールが終わったら最後にメイン設定ファイルの生成

# grub-mkconfig -o /boot/grub/grub.cfg

次回作業のときに手間がかからないように

このままだとnetctlが使えないため、次回起動時なにかと手間です

# pacman -S wireless_tools wpa_supplicant wpa_actiond dialog

自動接続の設定もしておきます

# systemctl enable netctl-auto@wlp2s0

ついでにDHCP接続の方も

# systemctl enable dhcpcd.service

アンマウントとリブート

# exit
# umount -R /mnt
# reboot

これで再起動されればひとまずインストールは成功です

インストール後の基本設定

rootでログイン後、しこしこ設定していきます
Wi-Fiのつなぎ直しを忘れずに
DHCP接続の人は特に何もせずともつながっているはず

# wifi-menu

ユーザーの追加とその設定

このままrootでいろいろするのもこわいので、ユーザーを追加します

# useradd -m -g wheel user
# passwd user

usr部分は適宜好きなものに変えてください
次に

# visudo

して、以下のコメントアウトを外す

Defaults env_keep += "HOME"
%wheel ALL=(ALL) ALL

シェルの変更

なにかと優秀なzshに変更します
インストール直後はbashになっているはずです

zshをインストール

# pacman -S zsh

シェルを変更

# chsh

して

/bin/zsh

と入力します
これで変更完了

GUI環境の設定

Xの導入

これがないとデスクトップ用途では話になりませんね

# pacman -S xorg-server xorg-server-utils xorg-xinit xorg-xclock xterm

ドライバのインストール

が、その前にどれをインストールすればいいのかを確認

# lspci | grep VGA

自分はintelだったので、それをインストール

# pacman -S xf86-video-intel

詳しくはXorgの表をみて、自分の環境にあったものを入れてください

VMwareやVirtualBoxの場合は必要ないです

DMの導入

SLiMを使います
ついでにArch Linuxの壁紙も設定

# pacman -S slim archlinux-themes-slim slim-themes
# nano /etc/slim.conf

以下のように編集とコメントアウトを外します

login_cmd exec /bin/zsh -l ~/.xinitrc %session
daemon yes
current_theme archlinux-simplyblack

最後に

# systemctl enable slim.service

これで次回起動時に自動でグラフィカルなログイン画面が表示されます

WMの導入

軽いけど高性能。それがXfceです
もっと軽いのが良ければLXDEとかOpenbox、高機能がよければGnomeとかKDE
タイル型が良ければawesomeなどと、好きなのを入れてください

今回はXfceで、パネルプラグイン・通知・システムツール等々もサクッと入れたいので
Xfceの追加パッケージまで入れちゃいます
Xfce公式

# pacman -S xfce4 xfce4-goodies gamin

自動で起動するように設定していきます
Start X at Login

# cp /etc/skel/.xinitrc ~/
# nano ~/.xinitrc

以下のコメントアウトを外す

exec startxfce4

これでひとまずrootのGUI環境は整いました

細々とした設定

Yaourtの導入とついでにいろいろ

これフランス語でヨーグルトらしいです
Yet AnOther User Repository Toolの略だそう
なかなか洒落てますよね

まずはリポジトリを追加します
ついでにこの後設定する日本語入力のも追加しておきます
あと32bitのも使えるようにも…

# nano /etc/pacman.conf

以下を追加

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

[pnsft-pur]
SigLevel = Optional TrustAll
Server = http://downloads.sourceforge.net/project/pnsft-aur/pur/$arch

以下のコメントアウトを外す

[multilib]
Include = /etc/pacman.d/mirrorlist

# pacman --sync --refresh yaourt
# pacman -Syu

日本語入力環境とフォントの設定

どうもiBusが評判がいいようなので、iBusを使います

# pacman -S mozc ibus-mozc emacs-mozc

このままだとフォントが汚いので

# yaourt -S ttf-ricty

個人ユーザーにて

そろそろrootを抜けて、個人ユーザーで設定していきます

# exit

個人ユーザーでログインします

はじめに

シェルの変更とWMの設定の一部をもう一度

$ chsh
/bin/zsh
$ cp /etc/skel/.xinitrc ~/
$ nano ~/.xinitrc

以下のコメントアウトを外す

exec startxfce4

WMを起動させましょう

# startx

Xfceのネズミさんが出たら成功です
でなければ知りません

おい、マウスとかキーボードが効かないぞ!って人
$ sudo pacman -S xorg-drivers

とすると動くかもしれません

日本語入力まわりの続き

キーボード

Settings ManagerのKeyboardからLayoutを選択
Japaneseを追加して、

TypeMatrix EZ-Reach 2030 USB (106:JP mode)

を選択するとうまくいくはずです

iBusの設定

ターミナルを起動し

$ ibus-setup

と入力
Input Methodで

Japanese - Mozc

を追加
AdvancedのKeyboard Layoutにて

Use system keyboard layout

このままでは自動でスタートしてくれないので
もう一度ターミナルを起動して

$ nano ~/.xinitrc

以下をexec~よりも前に記入

# ibus
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -drx

Bluetooth関連の設定

紐付きのマウスは嫌いなんですよ
動かすたびに若干の抵抗があって嫌いなんです

$ sudo pacman -S bluez bluez-utils

なんとなくutilsまでダウンロードしておきました

$ sudo systemctl enable bluetooth
$ sudo systemctl start bluetooth

Bluetoothデバイスへの接続ですが、これのためのGUI環境を整えてやるのも勿体無いので
CUI環境でサクッと設定します

$ bluetoothctl 

[NEW] Controller 00:12:34:56:78:90 pi [default]

みたいなのが出ます
ここでのMACアドレスは00:12:34:56:78:90として説明していくので
任意のものに置き換えてやってください

[bluetooth]# agent KeyboardOnly
[bluetooth]# default-agent 
[bluetooth]# power on
[bluetooth]# scan on
[bluetooth]# pair 00:12:34:56:78:90
[bluetooth]# trust 00:12:34:56:78:90
[bluetooth]# connect 00:12:34:56:78:90
[bluetooth]# quit

接続の設定は終わりです
毎回毎回power onするのはめんどくさいので、次回起動時から自動で接続するよう設定します

$ sudo nano /etc/udev/rules.d/10-local.rules

以下を記入

# Set bluetooth power up
ACTION=="add", KERNEL=="hci0", RUN+="/usr/bin/hciconfig hci0 up"

外部メディアやディスクの自動マウント設定

これもいちいち面倒です
gvfsをインストールしましょう

$ sudo pacman -S gvfs

ファイルマネージャThunarにおいて右クリックで圧縮・解凍

コマンドあまり覚えていないので便利
xfce4-goodiesをインストールしていればthunar-archive-pluginは入っているはずですが
このままだと使い物になりません
file-rollerをいれましょう

$ sudo pacman -S file-roller

これでひとまず完了です
再起動して確認してみましょう

その後

.zshrcをいじったり
ここで好きなのを探してインストールしたり

pacman (パッケージマネージャ)の簡単な使い方はpacman(8) Manual Page にのってます