labunix's blog

labunixのラボUnix

Wheezy上にchroot環境のWheezyを構築

■Wheezy上にchroot環境のWheezyを構築
 もう何度もやってますが、便利なので。。。
 例えば、Lenny/squeeze/Wheezy/sid/jessie、CentOS4/5/6、SL5/6。。。

 Squeeze上のsid chrootにjessieのchroot環境を構築、Squeezeへ移動
 http://d.hatena.ne.jp/labunix/20130507

 squeeze上にwheezyのchroot環境を構築。
 http://d.hatena.ne.jp/labunix/20130311

$ sudo apt-get install -y debootstrap schroot
$ sudo mkdir /var/local/wheezy
$ sudo env LANG=C debootstrap wheezy /var/local/wheezy http://ftp.debian.or.jp/debian

$ diff -s /var/local/wheezy/etc/resolv.conf /etc/resolv.conf
ファイル/var/local/wheezy/etc/resolv.confと/etc/resolv.confは同一

■procのマウント設定。
 バックアップは取りましょう。

$ sudo cp /etc/fstab /etc/fstab.bak
$ echo -e "`cat /etc/fatb`\nproc    /var/local/wheezy/proc   proc    defaults 0      0" | \
  sudo tee /etc/fstab.2 > /dev/null
$ sudo cp /etc/fstab.2 /etc/fstab

$ sudo mount -a
$ mount | grep ^proc
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
proc on /var/local/wheezy/proc type proc (rw,relatime)

■初回アップデート

$ sudo chroot /var/local/wheezy/ apt-get update
$ sudo chroot /var/local/wheezy/ apt-get upgrade
$ sudo chroot /var/local/wheezy/ apt-get install -y vim less locales
$ sudo chroot /var/local/wheezy/ dpkg-reconfigure locales
$ locale
LANG=ja_JP.UTF-8
LANGUAGE=
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

■ユーザの作成
 debianの場合は、useraddよりもadduserの方が楽。

$ sudo chroot /var/local/wheezy/ adduser labunix
$ sudo chroot /var/local/wheezy/ getent passwd | grep ^labunix
labunix:x:1000:1000:labunix,,,:/home/labunix:/bin/bash

$ echo "[wheezy]
description=Debian Wheezy
directory=/var/local/wheezy
users=labunix
" | sudo tee -a /etc/schroot/schroot.conf > /dev/null

$ echo "chroot-wheezy" | sudo tee -a /var/local/wheezy/etc/debian_chroot > /dev/null

$ schroot -c wheezy -p
(chroot-wheezy)labunix@wheezy-debian:~$ exit

■ついでにCASL2の導入。

 Wheezy+openjava-1.6-jreで「CASL II シミュレータ」を試す
 http://labunix.hateblo.jp/entry/20130819/1376920432

$ sudo chroot /var/local/wheezy/ apt-get install -y openjdk-6-jre
$ java -version
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1~deb7u1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

$ java -jar CASL2/casl2.jar CASL2/hello.cas
CASLⅡ Assembler -V2.00(2005/05/27)- ( Date : 2013/8/19 )

オブジェクトプログラムを CASL2/hello.obj へ出力しました。
END CASLⅡ Assembler.

$ java -jar CASL2/run.jar CASL2/hello.obj 2>&1 | grep -v "COMET.*Emulator"
Hello World