Tiny Core Linuxでサーバ運用(2) - インストール

  • 投稿日:
  • 更新日:2015/03/08
  • by
  • カテゴリ:

Tiny Core Linuxのインストール

Tiny Core Linuxのバージョン4で大きく変わったのが、パッケージングです。 バージョン3まではTiny Core Linuxのコアファイルの構成は、bzImage(カーネルを格納)およびtinycore.gz(ファイルシステムを格納)でした。 このtinycore.gzの中にはXなどのシステムも含まれていて、Micro Coreとは異なる構成になっていました。

バージョン4では、vmlinuz(カーネルを格納)、core.gz(ファイルシステムを格納)となりましたが、このcore.gzはMicro Core / Tiny Core共通のようです。 Xなどのファイルはtczパッケージとして別途tce/optionalに格納されています。 これにより、モジュラー化が進み、Micro CoreとTiny Coreを区別せずに利用することも可能になっています。

また、さまざまなアプリケーションが最初から入ったCore Plusというディストリビューションも用意されました。

私の目的はなるべくコンパクトにサーバを構築することなので(でもXくらいはほしい)、普通にTiny Coreを使います。

環境構築

今回もVirtualBox上に環境を構築しました。 必要に応じてネイティブ環境に移行することも難しくありません。

最初にディスクを用意するのですが、とりあえずルートディレクトリに1GB、ホーム用に4GBを用意してみました。

HDDにインストール

isoイメージで起動したあと、tc-installというパッケージを使い、ディスクにインストールします。

% tce-load -wil tc-install
% tc-install

ここでは記録のためにコマンドラインの記述を書いていますが、AppBrowserで対話的にインストール してもかまいません。 tce-loadのオプションの-wilは、download + loadで、再起動時には読み込みません。 ちなみに、-wiとすると、再起動時に自動的に読み込む設定になります。

このツールは対話的なので、ルートディレクトリをフォーマットし、インストールを行います。 詳しくはこちらにも書いてあります。 インストールしたら、リブートして動作を確認します。

Virtual Box用パッケージのインストール

VirtualBoxで使うので、そのためのパッケージもインストールします。

% tce-load -wi virtualbox-ose-additions

ホーム用ディスクのフォーマット

次に、ホームディレクトリ用のディスク領域をフォーマットします。 今回はVirtualBox上で別のディスクを使いました。

% tce-load -wil cfdisk
% sudo su
% cfdisk /dev/sdb
(新しいディスクは私の場合sdb。ここで領域を編集)
% mkfs.ext4 /dev/sdb1
% rebuildfstab
% mount /mnt/sdb1

以前使っていたディスクからホーム領域をコピーします。

LVMを使っている場合のディスク移行

私の場合、ディスクイメージはvdiではなくvmdkファイルで、これ自体は問題ないのですが、FedoraでLVMを使っていたため、LVMパッケージを入れる必要があります。

% tce-load -wil lvm2
(ここでpvscan, vgscan, lvscanコマンドなどを使い、ボリュームを確認します)
% vgchange -ay ボリュームグループ名(vgscanで確認したもの)
% mkdir /mnt/oldhome
% mount /dev/ボリュームグループ名/ボリューム名 /mnt/oldhome
(ボリューム名はlvscanで確認しておきます)

ホームディレクトリのコピー

これで論理ボリュームにアクセスできるので、ホームディレクトリをコピーします。

% cd /mnt/oldhome
% tar cf - home | (cd /mnt/sdb1; tar xvpf -)

ユーザ作成

必要なユーザを作成します。

% adduser (ユーザ名)

ホームディレクトリを確認し、ユーザとグループのIDが同じになるよう、/etc/passwdと/etc/groupを編集します。

リブート時に消したいくないファイルの設定

ホームが消えないようにする

私のホームディレクトリは大きいので、起動・終了時に/mnt/sda1/tce/mydata.tgzにいちいちバックアップしたくありません。 また、これだと、サーバが突然ダウンしたときなどにデータを失う危険性もあります。 そのため、ホームディレクトリは直接sdb1を使うようにします。 これには、/mnt/sda1/tce/boot/extlinux/extlinux.confを編集します。

DEFAULT core
LABEL core
KERNEL /tce/boot/vmlinux
APPEND initrd=/tce/boot/core.gz quiet home=sdb1

最後の行の"home=sdb1"が、ホームディレクトリにsdb1を使うための指定です。

バックアップ設定

ここまで来たら、/opt/.filetool.lstを編集して、/etcの必要なファイルがバックアップされるようにします。

opt
etc/passwd
etc/passwd-
etc/shadow
etc/shadow-
etc/group
etc/group-
etc/gshadow
etc/gshadow-

最後に、設定をバックアップしておきます。 これで第一段階(?)終了。

% filetool.sh -b

動かすサービス

私のサーバで動作している主なサービスは以下のようなものです。

  • メール(SMTP, IMAP)
  • Web
  • ブログ(MovableType)
  • Webのログ解析(Awstats)

これから、これらのセットアップを書く予定です。

戻る 1 2 3 4 5 6 次へ

こちらもよく読まれています