平衡点
2006/10/02
_ debootstrap
書いている最中にバッテリが切れて, 発狂しそうになった. ふん.
Debian の場合の話. 基本的には sarge で動かしてるのだけれど, 幾つかのパッケージは etch とか sid を使いたい(使わねばならぬ) という状況になってきたので, ついに sarge 内で etch を「飼う」事に.
debootstrap が chroot の作成 + base-config までちゃっちゃとやってくれるので 特にはまらず終了.
# mkdir /chroot/etch # debootstrap etch /chroot/etch http://ftp.jp.debian.org/debian : : # chroot /chroot/etch /bin/bash # shadowconfig on # vi /etc/apt/sources.list # apt-get update; apt-get upgrade # apt-get install zsh lv sudo # adduser uwabami # apt-get remove …(イロイロ)
で,
# cp /etc/passwd /chroot/etch/etc/passwd # cp /etc/group /chroot/etch/etc/group # cp /etc/shadow /chroot/etch/etc/shadow # cp /etc/sudoers /chroot/etch/etc/sudoers # cp /etc/hostname /chroot/etch/etc/hostname
とかしておく. 別環境で動かしたいなら上の作業も適宜考えること. あと, 親(sarge) と子(etch) でプロセスとかデバイスは共有するんで, /etc/fstab に以下を追加.
/home/uwabami /chroot/etch/home/uwabami none bind 0 0 /tmp /chroot/etch/tmp none bind 0 0 /proc /chroot/etch/proc proc defaults 0 0 /dev /chroot/etch/dev none bind 0 0
あとは一般ユーザで入れるように, dchroot を導入.
# apt-get install dchroot # vi /etc/dchroot.conf etch /chroot/etch # 追加 $ dchroot -> etch 環境になる.
…しばらく使ってみて chroot 内では PROMPT 変えたくなったので
# cat 'etch' > /chroot/etch/etc/chroot … .zshrc 編集 … PROMPT=$'%U[%n@%m:%j:%(!.#.%%)%u%B>%b ' RPROMPT=$'%B%(5~,%-2~/.../%1~,%~)%b' [ -f /etc/chroot ] && PROMPT='%U%{$fg[green]%}||`cat /etc/chroot`||%n@%m:%j:%(!.#.%%)%u%B>%b '
みたいに書いてみる. しばらくこんな感じで行こうかと.