$ mkdir wheezy32
接著使用 debootstrap 建立 chroot 環境
# debootstrap --arch i386 wheezy ./wheezy32 \
http://free.nchc.org.tw/debian
若需透過 proxy 則使用
# http_proxy=http://user:password@proxy.server:port/ \
debootstrap --arch i386 wheezy ./wheezy32 \
http://free.nchc.org.tw/debian
建立一個 chroot.sh ,方便執行 chroot
#!/bin/bash
CHROOT_DIR=`pwd`/$1
# check if it was already mounted
MOUNT_PROC_TMP=`mount | grep ${CHROOT_DIR} | grep proc | cut -d' ' -f3`
# umount previus mounted staff
if [ $# -eq 1 ]; then
if [ $1 = "clean" ]; then
umount ${CHROOT_DIR}/proc
umount ${CHROOT_DIR}/tmp
umount ${CHROOT_DIR}/dev/pts
exit 0
fi
fi
if [ -z $MOUNT_PROC_TMP ]; then
mount --bind /proc ${CHROOT_DIR}/proc
mount --bind /tmp ${CHROOT_DIR}/tmp
mount --bind /dev/pts ${CHROOT_DIR}/dev/pts
fi
/usr/sbin/chroot ${CHROOT_DIR} /usr/bin/env -i HOME=/root TERM=$TERM PATH=/bin:/usr/bin:/sbin:/usr/sbin SHELL=/bin/bash /bin/bash
接下來就可以使用這個環境了
$ sudo chroot.sh wheezy32
root@:/#
修改環境,讓用起來好看些
編輯 /etc/debian_chroot,加入一個字串或符號,可以讓我們在進入 chroot 環境後,提示我們目前是在 chroot 環境。例如加入 CHROOT,則重進一次 chroot 後,會變成
root@CHROOT:/#
為提示符號加入彩色控制碼,編輯 /etc/bash.bashrc,修改 PS1變數如下,此修改尚需配合下面的 /root/.bashrc 的修改方能生效。
PS1='\[\033[01;32m\]\u@${debian_chroot}\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
編輯/root/.bashrc
將 PS1 變數註解起來,使上個步驟所修改的 PS1 變數不會被蓋掉
將 LS_OPTIONS 相關的變數打開,使 ls 可以顯示色彩
# export PS1...
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
修改 /etc/apt/sources.list,設定為 Taiwan 的套件供應站
deb http://free.nchc.org.tw/debian wheezy main non-free contrib
安裝編譯程式所需的一些套件
root@CHROOT:/# aptitude update
root@CHROOT:/# aptitude install build-essential vim ncurses-dev enca locales zlib1g-dev bison flex gawk pkg-config file less tree libgmp-dev libmpfr-dev libmpc-dev
完工!!!
2008/03/24 補充
chroot 裡的時間會跟目前時間差八小時,看起來是 time zone 沒有設定
執行
# dpkg-reconfigure tzconfig
設定到 Asia/Taipei 就解決了!
2010/12/08 補充
Debian / Lenny 之後 tzconfig 改為 tzdata
# dpkg-reconfigure tzdata2012/03/9 update to Debian/Squeeze
2012/04/13 update to Debian/Wheezy
預設的 sh 是使用 dash ,將之改為 bash
# dpkg-reconfigure dash
沒有留言:
張貼留言