動かざることバグの如し

近づきたいよ 君の理想に

OpenVZのオレオレテンプレートを作成

今回はDebianの自作テンプレートを作ってみる。ちなみに公式Wikiにも書いてある

用意

ここから公式テンプレートをダウンロードする。今回はdebian-7.0-i386-minimal.tar.xzをダウンロードした

ダウンロード後起動してSSHにて以下実行

sources.listの編集

/etc/apt/sources.listを以下に変更

deb http://cdn.debian.or.jp/debian wheezy main
deb http://cdn.debian.or.jp/debian wheezy-updates main
deb http://security.debian.org/ wheezy/updates main

そのあとにapt-get update apt-get upgrade

パッケージインストール

apt-get install -y sudo vim curl git patch bash-completion ca-certificates python-software-properties

ユーザーの追加

adduser thr3a
adduser thr3a sudo
adduser thr3a adm

aptの高速化とdebファイルを残さないようにする

echo 'force-unsafe-io' | sudo tee /etc/dpkg/dpkg.cfg.d/02apt-speedup > /dev/null
echo 'DPkg::Post-Invoke {"/bin/rm -f /var/cache/apt/archives/*.deb || true";};' | sudo tee /etc/apt/apt.conf.d/no-cache > /dev/null

タイムゾーンの変更

dpkg-reconfigure tzdata

ゴミ削除

> /var/log/messages; > /var/log/auth.log; > /var/log/kern.log; > /var/log/bootstrap.log; > /var/log/dpkg.log; > /var/log/syslog; > /var/log/daemon.log; > /var/log/apt/term.log; rm -f /var/log/*.0 /var/log/*.1 /var/log/*.gz

debキャッシュ削除

rm -rf /var/cache/apt/archives/*
apt-get purge clean

以上がSSHからやる作業 以降はOpenVZホスト側の作業

コンテナの停止

IDが777の場合 適宜読み替える

vzctl set 777 --ipdel all --save
rm -f /var/lib/vz/private/777/etc/hostname
vzctl stop 777

生成

cat << EOF > /tmp/excludes
.bash_history
lost+found
/dev/*
/mnt/*
/tmp/*
/proc/*
/sys/*
/usr/src/*
EOF
cd /var/lib/vz/private/777
tar --numeric-owner -zcf /var/lib/vz/template/cache/debian-7.0-amd64-minimal-MOD.tar.gz . -X /tmp/excludes

LAMP構成の場合

以下実行

add-apt-repository ppa:ondrej/php5
apt-get install -y apache2 libapache2-mod-php5 php5 php5-curl php5-gd php-pear mysql-server php5-mysql