##はじめに
ArchLinux
とは、最初から快適に使えるOSではなく、最小限の構成から独自に必要な物を判断し、インストール、カスタマイズして作り上げていくタイプのOSです。
したがって、インストールや環境設定は大変ですが、それなりに意味はあります。
どのような意味があるのかというと、パソコンがどのようなパッケージを元にどのような構成で動いているのかが分かってくるというところが大きいかと思います。
また、機能面にしても、不要なパッケージが入っていないため、Windows
やMac
、Ubuntu
などとは違って、これらを特定し、アンインストールする必要がありません。軽いし快適です。
ArchLinux
を使っていて、システムのカスタマイズに不満が出てきた場合は、Gentoo
を使ってみるのも良いかと思います。
今回は、仮想マシンとしてArchLinux
をインストールし、ウィンドウマネージャーを起動してみるまでを解説したいとおもいます。
解説環境は、 Mac
を使用します。OSや個人環境によって適時読み替えて下さい。
##ArchLinuxのインストール
###Download
まずは、当該Linuxディストリビューションのトレントファイルを検索してみましょう。人気のあるLinuxディストリビューションは、トレントを使ったほうがダウンロードは高速です。
*ダウンロードと同時に、アップロードが行われるのでダウンロードするファイルには注意が必要です。
function torrent-search(){w3m "http://torrentz.eu/search?f=$1"}
source ~/.zshrc
torrent-search archlinux
目当てのトレントファイルが見つかったら、それをダウンロードします。そして、トレントクライアントアプリを使って、ファイルをダウンロードします。ここでは、rtorrent
というものを使用します。
sudo port install rtorrent
rtorrent hoge.torrent
メニュー画面のおおよその操作方法は以下のとおりです。
キー | 効果 |
---|---|
C-s | ダウンロードを開始する |
C-d | ダウンロードを停止する |
C-q | 終了 |
しかし、ArchLinux
が人気のLinuxディストリビューションとはあまり思えないため、ここでは、直接ダウンロードすることにします。
w3m -N http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/iso/2013.05.01/ https://www.archlinux.org/download/
###VirtualBox
VirtualBox上に仮想マシンを作成します。マシンに直接インストールする場合は、この手順を飛ばして下さい。
1 以下のシェルスクリプトをパスの通った場所に置いて、実行権限を与えます。そして、シェルを再起動すれば、当該シェルスクリプトをパス無しで参照できます。
(1) シェルスクリプトの作成
cd && vim vm-cli
#!/bin/zsh
# vm-cli <name> <memory> <size> <iso>
# 使用例 : $ vm-cli archlinux 2048 8000 ~/Downloads/archbang-03.03.2013-i686.iso
# http://www.kkaneko.com/rinkou/virtualbox/virtualboxusage.html
# 実行時に指定された引数の数、つまり変数 $# の値が 4 でなければエラー終了。
if [ $# -ne 4 ]; then
echo "指定された引数は$#個です。" 1>&2
echo "実行するには4個の引数が必要です。" 1>&2
exit 1
fi
# 仮想マシン定義ファイルの生成
VBoxManage createvm --name "${1}" -register
# 登録済みの仮想マシンのプロパティの設定
VBoxManage modifyvm ${1} --memory ${2} --acpi on --hwvirtex on --hwvirtexexcl on --nestedpaging on --largepages on --vtxvpid on --accelerate3d on --accelerate2dvideo on --nic1 bridged --bridgeadapter1 eth0 --usb on --usbehci off
# 仮想ハードディスクイメージファイルの生成
VBoxManage createhd --filename ~/VirtualBox\ VMs/${1}/${1}.vdi --size ${3}
# 仮想マシンのSATAストレージコントローラの作成
VBoxManage storagectl ${1} --name ${1}sata1 --add sata --bootable on
# 仮想ハードディスクと仮想DVDドライブの割り当て
VBoxManage storageattach ${1} --storagectl ${1}sata1 --port 1 --type hdd --medium ~/VirtualBox\ VMs/${1}/${1}.vdi
VBoxManage storageattach ${1} --storagectl ${1}sata1 --port 2 --type dvddrive --medium ${4}
# 作成した仮想マシンの起動
VBoxManage startvm ${1}
exit 0
(2) パスの確認
echo $PATH
(3) 実行権限の付与
chmod +x vm-cli
(4) シェルスクリプトをパスの通った場所にコピー
sudo cp ~/vm-cli /usr/local/bin/
(5) シェルの再起動
exec $SHELL
2 では、以下のコマンドを使って、仮想マシンを作成します。ダウンロードしておいたイメージファイルを参照します。なお、ネットワーク設定においては、マシンによって複雑になることが予想されるため、GUIで行なって下さい(自動で設定されるとおもいます)。
vm-cli archlinux 1000 20000 ~/Downloads/archlinux-2013.05.01-dual.iso
###ArchLinuxのインストール手順
1 私は、MacBookAir
のキーボードは、日本語配列を使用しています。よって、まずは、日本語キー配列を使用できるようにします。
loadkeys jp106
2 次に、パーティションを作成します。ここでは、New
より2つの領域を作成し、それぞれ10GBくらいを目安に設定します。
cfdisk /dev/sda
sda1
は、 bootを設定しておきましょう。
サイズを指定できたら、 Write
で yesとし、 Quit
で終了します。
3 次に、作成した領域を所定のフォーマット形式でフォーマットします。
mkfs.ext4 /dev/sda1 && mkfs.ext4 /dev/sda2
4 そして、フォーマットした領域をマウントし、必要なフォルダを作成していきます。
mount /dev/sda1 /mnt && mkdir -p /mnt/home && mount /dev/sda2 /mnt/home
5 コマンド$ vi /etc/pacman.d/mirrorlist
を実行します。
パッケージ管理のサーバーリストを編集し、日本のサーバーアドレスをリスト上位に持ってきます。jp
で検索をかければよいかと思います。
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
6 次に、必要になるであろうツールを一括インストールしていきます。必要ないと判断した場合は、 pacman -Rs <tool>
としてアンインストールしてください。
# ベースシステムのインストール
pacstrap /mnt base base-devel
# ブートローダーのインストール
pacstrap /mnt grub-bios
7 /etc/fstab
の生成を行います。
genfstab -p -U /mnt >> /mnt/etc/fstab
8 /mnt
をルートディレクトリとして作業します。
arch-chroot /mnt
以下、 arch-chroot
での作業になります。
# タイムゾーンの設定
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# initial ramdisk
mkinitcpio -p linux
# ホストネームの設定(hogeには任意のネームを入れる)
echo hoge > /etc/hostname
# 日本語キー配列に対応
echo KEYMAP="jp106" > /etc/vconsole.conf
# 変なところを日本語にされても嬉しくないので
echo LANG=en_US.UTF-8 > /etc/locale.conf
vi /etc/locale.gen
以下の文字列を含む行をコメントアウトします。
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
# ロケールを生成
locale-gen
# ネットワーク簡単設定ツールのインストール
pacman -S ifplugd
# ブートローダーをブートセクタに書き込む。書き込み先は適時変更
grub-install --target=i386-pc --boot-directory=/boot --recheck --debug /dev/sda
# GRUB設定ファイルにOS起動設定を書き込む
grub-mkconfig -o /boot/grub/grub.cfg
# rootのパスワードを設定
passwd
# arch-chrootを抜ける
exit
9 最後に、アンマウントとシャットダウンを行います。
# アンマウント
umount /mnt/home && umount /mnt
# シャットダウン、rebootでもよい(ただし、VirtualBoxの場合は、ISOをアンマウントしなければならないので、シャットダウンが望ましい)
poweroff
VirtualBox
を使用した場合は、以下のコマンドでISOファイルをアンマウントし、仮想マシンを起動します。*仮想マシンの定義がarchlinux
の場合ですので注意が必要です。
VBoxManage storageattach archlinux --storagectl archlinuxsata1 --port 2 --type dvddrive --medium emptydrive
VBoxManage startvm archlinux
これで、ArchLinux
が立ち上がったらインストールは完了です。
##ArchLinuxの初期設定
では、ArchLinuxの最低限の設定を行なっていきます。
1 まず、ネットに繋がらないのでは、話しにならないので、ネットに繋がるように設定します。ココら辺の設定は、マシンによっても環境によっても異なってくる部分ですので、適時読み替えて下さい。
ip link
systemctl start dhcpcd@enp0s3
systemctl enable dhcpcd@enp0s3
ping -c 3 google.com
2 次に、 sudo
の設定を行なっていきます。
pacman -S sudo
visudo
以下の文字列を含んだ行をコメントアウトします。
Defaults env_keep += "HOME"
$wheel ALL=(ALL) ALL
3 次に、 VirtualBox
専用の設定です。不要な設定は個別に取り除いて下さい。
pacman -S virtualbox-guest-utils
modprobe -a vboxguest vboxsf vboxvideo
echo -e 'vboxguest\nvboxsf\nvboxvideo\nvboxdrv\nvboxnetadp\nvboxnetflt' > /etc/modules-load.d/virtualbox.conf
4 最後に、ユーザーを作成します。 hoge
の部分は、ユーザーネームになります。
useradd -m -g users -G wheel,storage,power -s /bin/zsh hoge
passwd hoge
5 おまけとして、個人的によく使うツールもインストールしておきます。これらがないと、作業効率が格段に落ちてしまいます。
pacman -Syu vim zsh tmux bash-completion net-tools
##GUI環境の構築
ArchLinux
でログインマネージャーやウィンドウマネージャーを導入する方法を紹介します。
ここでは、ログインマネージャーは、 SLiM
、ウィンドウマネージャーは、 Awesome
を採用することにします。
出来る限り最低限の構成を解説していきます。ArchLinux
のGUI環境を便利にするためには、後で色々と追加していって下さい。
###Xのインストール
pacman -S xorg-server xorg-xinit
###SLiM本体とテーマをインストール
pacman -S slim archlinux-themes-slim slim-themes
###Awesomeのインストール
pacman -S awesome
###.xinitrcの設定
cp /etc/skel/.xinitrc ~/
echo -e "VBoxClient-all &" >> ~/.xinitrc
echo "exec awesome" >> ~/.xinitrc
###startx
ここまでの手順でX
が起動するか確認してみます。ちなみに、Ctrl
+ Alt
+ F2
でターミナルに戻ります。
startx
起動していなかったら、ログを見て問題を解決します。
vi /var/log/Xorg.0.log
###SLiMの設定
vim /etc/slim.conf
特定の文字列を以下のようにコメントアウトまたは、変更します。
# zsh特有の設定
# https://wiki.archlinux.org/index.php/SLiM_(%E6%97%A5%E6%9C%AC%E8%AA%9E)
login_cmd exec /bin/zsh -l ~/.xinitrc %session
# numlockxいらず
# http://pc-usr.seesaa.net/article/213154213.html
numlock on
# デフォルトユーザーを設定(hogeの部分にユーザーネームを入れます)
default_user hoge
# オートログイン
auto_login yes
# デーモンとして実行
daemon yes
# テーマの変更
# http://chaitealatte-lightice.blogspot.jp/2012/08/arch-linux_28.html
current_theme archlinux-simplyblack
###最終確認
systemctl enable slim.service
reboot
再起動すれば、指定したユーザーでウィンドウマネージャーが起動した状態でログインしていると思います。これは、Awesome
ですので、一旦ログアウトします。
すると、ログインマネージャーSLiM
が表示されるとおもいます。
表示されないという場合は、/etc/rc.conf
に設定を書いてみて下さい。
DAEMONS=(slim)
MODULES=(vboxguest vboxsf vboxvideo)
お疲れ様でした。あまりに文章が長いと途中で切れてしまうため、続きは次回になります。具体的には、 yaourt
やAwesome
について紹介していく予定です。よろしくお願いします。