Arch Linuxは、最小構成のLinuxディストリビューションの一つです。必要なハード設定及び、端末といくつかのコマンドシェルが入っているだけです。
ここでは、Arch Linuxをイチからインストールし、SSH接続するまでの手順を紹介します。
##イメージのダウンロード
まずは、Arch LinuxのISOイメージをダウンロードします。最新のISOファイル名を取得するシンプルな方法募集。
###シンプル
シンプルな方法を教えてもらいました。ありがとうございます。
by @slact
repo_url="http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/iso/latest"
curl -Ls ${repo_url}/md5sums.txt | grep 'dual.iso' | read md5 filename
curl -LO ${repo_url}/${filename}
if [ "${md5}" = "$(md5sum ${filename})" ]; then
echo ok
fi
###過去バージョン
by @syui
$ export url=http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/iso/latest
$ export url=${url}/`curl -Ls $url | tr '<' '\n' | tr '>' '\n' | grep 'dual.iso' | awk 'NR==2'`
$ echo $url
$ curl -O "$url"
# ダウンロードしたものが正しいファイルかチェックする
$ if [ `curl -s "${url%/*}/md5sums.txt" | head -n 1` = `md5sum ${url##*/}` ];then echo ok;fi
# Macの場合のチェックはこうなります
if [ `curl -s "${url%/*}/md5sums.txt" | head -n 1 | cut -d ' ' -f 1` = `md5 ${url##*/} |cut -d = -f 2` ];then echo ok;fi
##イメージをLinuxでDVDやUSBに焼く方法
次に、ダウンロードしたイメージをDVDやUSBなどの媒体にインストールします。これは、コンピュータで起動時に読み込める媒体を選択することになります。もしBIOSなどの設定によって、ハードディスクに優先が割り当てられている場合、手動で起動ディスクを選択するか、もしくはBIOSメニュー等を呼び出し、優先を変更します。
私は、USBにインストールしますが、もしかしたらDVDに焼かれる方もいるかもしれません。
# 一応、URLを再利用しファイル名を取得
$ export url=${url##*/}
# 確認
$ echo $url
> archlinux-2015.06.01-dual.iso
# DVD,BDに焼くためには必要
$ sudo pacman -S dvd+rw-tools
# USBにインストールする場合(sdxにはusbディスクのものが入ります)
$ dd bs=1 if=./$url of=/dev/sdx && sync
# DVD, BDの場合(sr0は大体の場合0ですがドライブが幾つもある場合は違いますので注意です)
$ growisofs -dvd-compat -Z /dev/sr0=./$url
# ちなみに、Macの場合はこうなります
# MicroSDの書き込み、読み込み速度遅いやつ使ってるので、相当な時間がかかります
$ sudo dd bs=1 if=./$url of=/dev/disk2
##Arch Linuxでサーバーを作成する
###VirtualBoxのネットワーク接続
Windowsの方は、VMとして作成する場合が多いと思います。VirtualBoxを使用することを前提に、少しばかりVirtualBoxの設定を説明します。
VM上に作成したArch Linuxには、WANからもLANからもホストであるWindowsからでもアクセスし、操作することができます。非常に便利ですが、そのためには、VirtualBoxのネットワーク知識がなければなりません。VirtualBoxのネットワーク設定は主に3種類のものがよく使われます。
タイプ | 内容 |
---|---|
NAT | これが一番安全な接続方法です。ゲストはどこからもアクセスされません。しかし、WANへのアクセスを確立します |
ホストオンリー | 次に安全な接続方法です。ゲストはホストのみのアクセスを許可します。あとはNATと同じ |
ブリッジ接続 | この接続方式は、安全ではありませんが、便利な接続方法です。ゲストはLocal IP Addressを取得し、LAN内のコンピュータからアクセス可能となります |
ここで、少しばかり.bat
ファイルの作成例を見ていきます。例えば、Windowsのスタートアップに登録しておくことで、Windowsのデスクトップに影響を与えず、Linuxサーバーを提供できるようになるからです。--type headless
はウィンドウを表示しないということです。あと、スタートアップに登録したbat
ファイルへのショートカットは右クリック -> プロパティ -> 最小化
しておきましょう。
start "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm archlinux --type headless
IPの固定は、Arch Linuxからでも良いし、VirtualBoxで設定してもよいですが、ここでは、Arch Linuxでの固定方法を紹介します。
###Arch Linuxのインストール
$ loadkeys jp106
$ cfdisk /dev/sda
sda1 : 200M
sda2 : 残り
$ mkfs.vfat /dev/sda1
$ mkfs.ext4 /dev/sda2
$ mount /dev/sda2 /mnt
$ pacstrap /mnt base base-devel net-tools dhcpcd openssh grub
$ genfstab -p /mnt >> /mnt/etc/fstab
$ arch-chroot /mnt
$ grub-install --force --recheck /dev/sda
$ grub-mkconfig -o /boot/grub/grub.cfg
$ systemctl enable dhcpcd
$ exit
$ reboot
###SSH接続する
$ ifconfig
> 192.168.1.3
$ systemctl start sshd
$ systemctl enable sshd
これで以下のコマンドを叩くとSSH接続できると思います。なお、VirtualBoxをしようして接続する場合は、VirtualBox -> Arch Linux
の設定にて、アダプタ2よりブリッジ接続を設定しておいてください。また、場合によっては、LAN内のコンピュータから接続したいという場合があるかもしれません。その場合、WindowsでファイアウォールのPort 22の開放、及びそれが嫌ならVirtualBoxの設定にてポートフォワードをVMイメージのPort 22に設定してください。これはポート転送のことです。
$ ssh root@192.168.1.3
接続できたあとは、鍵登録や/etc/ssh/sshd_config
にてパスワードアクセスの禁止などを行いましょう。
すいません、JSONでポストしているので、変換された時、どのような書式になるのかわかりませんので、特にWindowsのパスやダブルクォートあたりに間違いがでる場合があるかもしれません。
追記:
v0.01 : 問題を修正しました。
v0.02 : Arch LinuxイメージのダウンロードとChecksumの方法を編集しました。