平衡点


2008/02/08

_ amd64 etch 内に chroot で i386 etch を install.

Core2Duo な計算機でちょっとごにょごにょしている訳ですが, 使っている Fortran Compiler が 32bit 版だった, ということで, i386 etch を chroot 内に作成する. 既に作成してある野良ビルドパッケージも使えるので(゜д゜)ウマー, と言うことで.

作成

とりあえず, /var/chroot/ia32 に作成することに(ところで ia32 って正しいのかな).

$ sudo -s
# mkdir -p /var/chroot/ia32
# cdebootstrap -a i386 etch /var/chroot/ia32 http://cdn.debian.or.jp/debian

環境設定

chroot 環境へ login

# chroot /var/chroot/ia32 /bin/bash

chroot 内の /etc/apt/sources.list を修正して, パッケージの追加と削除. locales の設定, 生活環境(zsh, lv, ..etc) を導入. 一旦 chroot 環境から抜ける.

# cp /etc/resolv.conf /var/chroot/ia32/etc
# cp /etc/passwd /var/chroot/ia32/etc
# cp /etc/shaddow /var/chroot/ia32/etc

で一旦リブートした後で, 親環境の /etc/fstab を修正.

#vi /etc/fstab
(以下を追加)
proc  /var/chroot/ia32/proc proc defaults 0 0
/tmp  /var/chroot/ia32/tmp  none bind     0 0
/home /var/chroot/ia32/home none rbind    0 0
(ここまで)
# mount -a

続いて, ld の symlink を作成して, /etc/ld.so.conf を修正し, ldconfig で更新.

# cd /lib
# ln -s /var/chroot/ia32/lib/ld-2.3.2.so ld-linux.so.2
# vi /etc/ld.so.conf
(以下を追加)
/var/chroot/ia32/lib
/var/chroot/ia32/usr/lib
/var/chroot/ia32/usr/X11R6/lib
/var/chroot/ia32/usr/local/lib
(ここまで)
# ldconfig -v

これで, chroot 内では i386 なパッケージが使える.

schroot

親環境で schroot を導入して, 一般ユーザでも login できるようにしておく.

# sudo aptitude install schroot
# vi /etc/schroot/schroot.conf
(以下を追加)
[ia32]
description=Debian etch(i386)
location=/var/chroot/ia32
priority=0
users=hogehoge,herohero
root-users=hogehoge
(ここまで)

これで, ユーザ hogehoge と herohero が chroot 内に login できる. また, hogehoge さんは root 権限でも login できる.

一般ユーザでログイン
$ schroot -c ia32
I: [ia32 chroot] Running login shell: '/bin/bash'
$
....

環境変数の引き継ぎ(chroot 内で X 関連のファイルも起動可能)
$ schroot -c ia32 -p
I: [ia32 chroot] Running login shell: '/bin/bash'
$
...

chroot 内に root で login
$ schroot -c ia32 -u root
I: [ia32 chroot] Running login shell: '/bin/bash'
#
...

でもって, Fortran Comipler と必要な野良ビルドパッケージ install して, 計算走らせてみましたよ.

...あとはデーモンの起動と, 親子環境での syslog, logrotate かな.

ところで, Debian の amd64(X86_64) で intel Fortran Compiler ver.10 動かしてる人ってどのくらいいるんでしょ? エラーも吐かずに SEGV しますよ. i386 で動いてたプログラムが.

うががが.

参考

_ etch で Rails 2.0.

Debian パッケージになっている rubygems|libgems-ruby1.8 で rails 2.0 を使おうとしたら...なんか変な事になったので,

$ sudo dpkg --purge libgems-ruby1.8 rubygems libruby1.8-extras
$ sudo aptitude install libgems-ruby1.0 rubygems libruby1.8-extras -t testing

という事で, testing 版の libgems-ruby1.8 を install してみた. 一度単に upgrade してみただけだと, なんかうまくいかなかったよー.

$ apt-show-versions -a -p libgems-ruby1.8
libgems-ruby1.8 1.0.1-4 install ok installed
libgems-ruby1.8 1.0.1-4 testing
libgems-ruby1.8 0.9.0-5 etch
libgems-ruby1.8/testing uptodate 1.0.1-4

となりました. この環境で

$ sudo -s
# gem install rails sqlite3-ruby --include-dependencies
...

さてどうでしょう...


連絡先など
最近の日記
  • 2024/10/09
    • 1. Mastodon でのメール通知, というか Exim4 と Apparmor
  • 2024/06/19
    • 1. WSL2 での gpg-agent, ssh-agent
  • 2024/06/18
    • 1. WSL で Windows 側のフォントを利用する
  • 2024/06/17
    • 1. WSLとWindowsの時刻同期
  • 2024/06/12
    • 1. wsl2 で systemd
    • 2. wslg の設定
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|05|06|10|
Back to Top ▲