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)
これから、これらのセットアップを書く予定です。
匿名
画面が真っ暗、でもカーソルは出てる状況。
探して、ここにたどり着きました。
パスワード入力で、復活!
修理に出す寸前でした。ホントにありがとう!