Arch Linuxを簡単インストール – 「楽しいさくらのクラウド」(17)
こんにちは、さくらインターネット クラウドチームの大喜多です。
皆さんはArch Linux(アーチ・リナックス)というLinuxディストリビューションをご存知でしょうか。「Keep It Simple を標榜する、軽量で柔軟性に優れたLinuxディストリビューション」として、コンピュータサイエンスを専門とする学生・研究者やカッティングエッジなエンジニアに人気の高いLinuxディストリビューションです。
Arch Linuxは、ローリング・リリースと呼ばれるリリースモデルを採用しています。他のLinuxディストリビューションで見られるような明確な「バージョン番号」や「リリース・スケジュール」は存在しません。リポジトリ上のソフトウェアパッケージは日々新しいバージョンへと更新されており、定期的にソフトウェアアップデートを行うことで、システムを常に最新の状態に保つことができるようになっています。
※インストール用のイメージファイルは定期的に更新されており、さくらのクラウドのパブリックISOイメージもこれに合わせて更新しておりますが、これは基本的にシステムパッケージ群のその時点での最新スナップショットが定期的に更新されているもので、「バージョンアップ」という概念とは異なります。
・シンプル
・軽量
・常に最新を保てる
・優秀なパッケージマネージャ
・wikiが充実している
が特徴のLinuxディストリビューションです。
さくらのクラウドでArch Linuxを簡単インストール
2016年10月の時点では、さくらのクラウドにおいてArch Linuxはパブリックアーカイブとしては提供されておらず、パブリックISOイメージを利用してインストールすることになります。
これまではインストール時とインストール後にそれぞれIPアドレスを手動で設定する必要がありましたが、共有セグメントにてDHCPに対応したことで、インストール時のIPアドレス手動設定が不要になり、最低限の設定をした後はsshdをインストールし起動しておくことで、使い慣れたSSHクライアントで接続し、セットアップができるようになりました。
サーバ作成・Arch LinuxのISOイメージ起動・SSH接続
それでは、さくらのクラウドに仮想サーバを作成し、Arch Linuxをインストールしてみましょう。
コントロールパネルの左メニュー「サーバ」をクリックし、右上の「追加」をクリックします。
・ISOイメージからインストールを行う際は、ディスクソースの項目で「ブランク」を選択します。
・パブリックISOイメージとしてArch Linuxが用意されていますので、こちらを選択します。
共有セグメントのDHCP機能を利用してインストールを行いますので、「インターネットに接続」を選択します。
必要事項の入力が完了したら、右下の「作成」をクリックします。
サーバの作成が完了した後、左メニューの「サーバ」をクリックし、サーバ一覧を表示させます。
今回作ったサーバの行をダブルクリックして詳細画面を表示させます。
「コンソール」タブをクリックすると、Arch LinuxのISOイメージ起動画面が表示されています。
ここで「リモートスクリーンに接続」し、「Boot Arch Linux (x86_64)」が選択された状態でEnterキーを押下します。
archisoのコンソール画面に遷移しますので、ここで以下のコマンドでIPアドレスを確認してみましょう。
ip a
以下スクリーンショットのように、ens3インタフェースにグローバルIPアドレスが表示されていることが確認できるはずです。
また、SSH接続する前にコンソールで以下のコマンドを実行します。
# rootパスワードを設定 passwd # sshdを起動 systemctl start sshd
SSHクライアントでグローバルIPアドレス宛に接続を試み、以下のように接続に成功すれば準備は完了です。
使い慣れたSSHクライアントからインストールができるので便利です。(以下スクリーンショットではTera Termを使用しています)
Arch Linuxのインストール
それでは実際にArch Linuxをセットアップしていきましょう。
初期設定ではUSキーボードになっていますので、日本語キーボードを使用されている方は以下コマンドを入力します。
loadkeys jp106
文字化け対策としてフォントを変えておきます。
setfont Lat2-Terminus16
ディスク上にパーティションを作成していきます。
fdisk /dev/vda
今回は20GBの仮想ディスク上に以下のパーティション構成で作成してみました。
SWAP:2GiB root:残り全部 |
まず最初にSWAPパーティションを作成します。
Welcome to fdisk (util-linux 2.28.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x32555bee. Command (m for help): o Created a new DOS disklabel with disk identifier 0x95656ef1. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (1-4, default 1): First sector (2048-41943039, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +2G Created a new partition 1 of type 'Linux' and of size 2 GiB.
続いてrootパーティションとして使用するパーティションを作成します。
First sectorおよびLast sectorでEnterキーを押下し、デフォルト値を採用すると、ディスクの残り全ての領域を使用してパーティションが作成されます。
Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (2-4, default 2): First sector (4196352-41943039, default 4196352): Last sector, +sectors or +size{K,M,G,T,P} (4196352-41943039, default 41943039): Created a new partition 2 of type 'Linux' and of size 18 GiB.
作成したパーティションの内容を確認します。
Command (m for help): p Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x95656ef1 Device Boot Start End Sectors Size Id Type /dev/vda1 2048 4196351 4194304 2G 83 Linux /dev/vda2 4196352 41943039 37746688 18G 83 Linux
wコマンドで設定した内容を書き込んで、fdiskを終了します。
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
rootパーティション用に、/dev/vda2をext4フォーマットします。
mkfs.ext4 /dev/vda2
/dev/vda1をswapパーティションとして有効化します。
mkswap /dev/vda1 swapon /dev/vda1
rootパーティションをマウントします。
mount /dev/vda2 /mnt/
インストール前に、日本のミラーサーバを使用するよう設定します。
vi /etc/pacman.d/mirrorlist
MirrorListの一番上に以下の行を追記します。
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch |
最低限のシステムをインストールします。
pacstrap -i /mnt base base-devel
パーティションを手動でマウントしたので、再起動時にマウントされるようfstabを作成します。
genfstab -U -p /mnt >> /mnt/etc/fstab
Arch Linuxのシステム設定
最低限のインストール作業が完了しましたので、ここから仮想ディスク上のArch Linuxに対してシステム設定を行っていきます。
インストールしたArch Linuxに入ります。
arch-chroot /mnt /bin/bash
Localeの設定を行います。
locale-gen echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8
インストールしたシステム用にキーボードレイアウトとフォントを設定します。
loadkeys jp106 setfont Lat2-Terminus16
再起動後もキーマップ設定を持続させるために、vconsole.conf を作成します。
vi /etc/vconsole.conf
以下の内容を記載し、保存します。
KEYMAP=jp106 FONT=Lat2-Terminus16 |
タイムゾーンの設定を行います。
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ハードウェアクロックはUTCが推奨されています。
hwclock -w -u
ホスト名を設定します。
echo arch01 > /etc/hostname
DHCPの自動起動設定を行います。再起動後もDHCPによってIPアドレスを取得するようになります。
systemctl enable dhcpcd.service
rootユーザのパスワードを設定します。
passwd
通常使用する一般ユーザーを作成しておきます。
useradd -m -g users -G wheel -s /bin/bash sacloud passwd sacloud
ブートローダーとしてGRUBをインストールします。
pacman -S os-prober pacman -S grub grub-install --target=i386-pc --recheck /dev/vda grub-mkconfig -o /boot/grub/grub.cfg
先ほどのインストールではOpenSSHがインストールされていないので、インストールし、自動起動設定を有効にしておきます。
pacman -S openssh systemctl enable sshd
パーティションをアンマウントし、システムを再起動します。
exit umount -R /mnt reboot
以上でArch Linuxのインストールは完了です。
注記:
さくらのクラウドでは、DHCP設定のままサーバを運用することはできません(あくまでもインストール作業を便利にするための機能です)。
インストール完了後は、GUIをインストールしGUIのネットワーク管理ツールで固定IPの設定を行うか、CLI上でsystemd-networkdによる固定IPの設定を行ってください。