2014年05月04日

Arch Linuxをインストールした時に打ったコマンドのメモ

Archを入れた際にメモしたコマンドを貼っておく。



インストールディスクを作るところから。

まずUSBを入れる。

$ df -h

/dev/sdx1 534M 534M 0 100% /media/foo

USBがマウントされているデバイスを確認。

アンマウントする。

$ sudo umount /media/foo

書き込む。落としたisoファイルは/tmpの下にいるものとする。sdxは環境に合わせて書き換える。

$ sudo dd bs=4M if=/tmp/archlinux-2014.04.01-dual.iso of=/dev/sdx && sync

出来上がり。



ArchをインストールするPCにUSBを挿して立ち上げる。

キーボードのレイアウトを日本語にする。そうしないとコロンとかも場所違って面倒。

# loadkeys jp106

/rootの下にインストールに関する説明書きが入ってる。内容はWikiの方が詳しい。

# cat install.txt

有線ネットワークであれば、既にネットワークには繋がっているはず。

# wget http://www.yahoo.co.jp/ -O -

ディスクにパーティション切る。本例では256GBのSSDと1TBのHDDを利用した。

SSDにはBIOS boot領域を作り、swap領域は気分的にHDDに20GB分ほど作っておく。

とりあえずfdiskでデバイス確認。

# fdisk -l

合ってたらgdiskでパーティション切る。cgdiskでやった方が見栄えは良い。BIOS boot partitionはef02らしい。

# gdisk /dev/sda

Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-500118158, default = 2048) or {+-}size(KMGTP):
Last sector (2048-500118158, default = 16547806) or {+-}size{KMGTP}: 200M
Hex code or GUID (L to show codes, Enter = 8300): ef02

容量はもっと少ないはずだけど気にするようなサイズじゃないからいいや。同じ要領で、残りの領域も割り当てる。全部defaultのままEnterすれば、残り領域すべてを使ったヤツができる。

HDDの方も切る。swapの方は8200らしい。

# gdisk /dev/sdb

Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-1953525134, default = 2048) or {+-}size(KMGTP):
Last sector (2048-1953525134, default = 1953525134) or {+-}size{KMGTP}: +20G
Hex code or GUID (L to show codes, Enter = 8300): 8200

あとはdefaultのままEnterを叩いて残りの領域のパーティションを作る。

結果を確認。

# fdisk -l

ファイルシステム作る。

# mkfs.ext4 /dev/sda2
# mkswap /dev/sdb1

できたらmount。HDDの領域は後でmountするつもりなので、swapとSSDの領域だけ。

# swapon /dev/sdb1
# mount -t ext4 /dev/sda2 /mnt

/etc/pacman.d/mirrorlistを編集して、Japanのリストが上に来るようにしておく。viで2ddで切ってpするとかして。

じゃ、ベースシステム入れよっか。このへんはWikiの内容をなぞっているだけ。

# pacstrap /mnt base base-devel

fstab作る。

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

chrootしてmountしたのがルートディレクトリに来るようにする。

# arch-chroot /mnt

ホスト名に適当な名前を書いておく。何にしようか。

# vi /etc/hostname

タイムゾーンを東京にします。

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

/etc/locale.genからen_US.UTF-8 UTF-8とja_JP.UTF-8 UTF-8のコメントアウトを外して、locale-genコマンドを打つ。

# vi /etc/locale.gen
# locale-gen

passwdでパスワードを設定しておく。

# passwd

zshがないと生きていけないので入れておく。

# pacman -S zsh

ユーザも作っとこうか。useraddで、create-home(-m)指定。zsh指定してるところは趣味で変えてください。

# useradd -m -s /bin/zsh ユーザ名

パスワードも設定しとく。

# passwd ユーザ名

ブートローダを入れる。grubでいいか。

# pacman -S grub
# grub-install --target=i386-pc --recheck --debug /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg

exitしてchrootを解除し、マウントしたものも解除してrebootする。

# exit
# umount /mnt
# reboot

これでストレージからbootできるようになった。

立ち上がったらrootでログインして、いろいろ設定を加える。

とりあえずKey Map直す。

# loadkeys jp106

Key Mapが戻らないようにする。

# localectl set-keymap --no-convert jp106

下記コマンドで反映されてることが確認できる。

# localectl status
System Locale: n/a

VC Keymap: jp106
X11 Layout: n/a

Beep音が気になるので消しておく。

# echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf

これで次回reboot時にはbeepが鳴らなくなる。

うちの環境だとpingしたらunknown hostが出た。どうやらdhcpcd.serviceが動いていないようだ。下記のコマンドを打ったら、(disabled)と書いてあった。

# systemctl status dhcpcd.service

起こしたら繋がった。

# systemctl start dhcpd.service
# systemctl enable dhcpd.service

静的にアドレスを降る場合は、ip linkでIDを調べて(うちはenp2s0だった)、route addとかするとか。下記は192.168.1.11あたりを振った例。

# ip link set enp2s0 up
# ip addr add 192.168.1.11/24 dev enp2s0
# ip route add default via 192.168.1.1

sudoを入れる。

# pacman -S sudo

# vi /etc/sudoers

root ALL=(ALL) ALL のあたりに ユーザ名 ALL=(ALL) ALL を加えておく。

vimも入れとく。

# pacman -S vim

sshも入れとく。

# pacman -S openssh

/etc/ssh/sshd_config を適当に改変してなんとなくセキュリティ的に良い感じにしておく。

さて、そろそろGUIを入れよう。まずはXがないと始まらない。

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

mesa 3Dも入れたほうがいいってWikiのBeginners' Guideに書いてあったから入れる。よく知らないけど。

# pacman -S mesa

ビデオカードのドライバ入れる。下記を参考にしながら自分のドライバに合った子を探す。

https://wiki.archlinux.org/index.php/Xorg_(%E6%97%A5%E6%9C%AC%E8%AA%9E)#.E3.83.89.E3.83.A9.E3.82.A4.E3.83.90.E3.83.BC.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB

うちはIntelなんでこれになるっぽい。

# pacman -S xf86-video-intel

これでstartxしたらxtermがないって怒られたので入れとく。

# pacman -S xterm

これでCtrl+Alt+F5して作成したユーザでログインしてstartxすると、素敵なGUIが表示される。

このままだと素敵過ぎるので、Xfceを入れてもう少しいろいろ入った感のあるGUIにする。

# pacman -S xfce4 xfce4-goodies

mousepadとかいらないんだけど、1個1個指定するのも面倒なので全部入れてしまおう。

Xの時と同じようにCtrl+Alt+F5してユーザでログインして下記のコマンドを叩く。

$ startxfce4

これでなんかそれっぽいものが立ち上がる。ログアウトでCUIに戻れる。

次に起動時に自動でGUIが起動するようにする。気分的にzshでやってみよう。

とりあえずログイン時に~/.zshrcがないとか言われてるので作る。

$ touch .zshrc

次に.zprofileにXDG_VTNRが5だったらxfce4立ち上げてと記述しておく。これで5でログインするとGUIが立ち上がる。

$ vi .zprofile

if [[ -z $DISPLAY && $XDG_VTNR -eq 5 ]] then;
exec startxfce4
fi

ディスプレイマネージャとかいらないのでこれでいいや。速いし。

Xを立ち上げて動かすと、GUI上の動作はkeymapが101のままであることに気づく。とりあえず下記でこのターミナル分はjpになる。

$ setxkbmap -layout jp,us

localectlで設定すると永続化するらしい。

$ sudo localectl set-x11-keymap jp,us

これでログアウトして再度ログインすると、keymapがjpになってる。

日本語フォントも入れとこう。お好みのものを適当に。

$ sudo pacman -S otf-ipafont ttf-dejavu ttf-ubuntu-font-family ttf-droid ttf-hanazono

mozcは必須。ibusはアレなのでfcitxで。

$ sudo pacman -S fcitx-im fcitx-mozc fcitx-configtool

設定を書く。ついでに言語の設定も書いておこう。うちはzshで立ち上げてるので、.zprofileの立ち上げる前のところに書いておく。

$ vi ~/.zprofile

export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

あとは設定からMozcを選んで再起動すれば使えるようになる。

日本語が使えるようになったら、Firefoxでも入れて、これで概ね、普段使いのパソコンに近づいてきた。

$ sudo pacman -S firefox

yaourtも使えるようにしておく。CentOSのremiみたいなものというと少し違うけどまあそういう感じのもの。

$ sudo vi /etc/pacman.conf

下記の設定を足す。

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

$ sudo pacman --sync --refresh yaourt

せっかくなのでyaourtでフォントを足そう。

$ sudo yaourt -S ttf-ricty otf-takao

そういえば音を鳴らす準備をしてなかった。

$ sudo pacman -S alsa-utils

alsamixerでミュートになってるのを解除する。

$ alsamixer

うちだとHDMIとオンボードの2つが存在していてHDMIの方が優先されていたので、オンボードの方を優先にする。

$ aplay -l

これで出てきたcard ? の数字をメモする。

vi ~/.asoundrc

pcm.!default {
type hw
card ?
}

ctl.!default {
type hw
card ?
}

?のとこをメモした数字に置き換える。

音楽再生はVLCあたりで。

$ sudo pacman -S vlc

これで音楽が聴けた。