우분투 64bit 환경에서 cubrid 설치.(chroot 32bit 환경적용)
알아둘일
2009. 7. 23. 15:00
우분투 64bit 환경에서 cubrid 를 설치하는 것이 쉽지 않았다.(지난글 : http://blog.1day1.org/311 )
다음은 64bit 환경에서 chroot 를 이용해서 32bit 어플을 실행하는 방법을 설명한다.
이 방법은 다른 어플에 활용해도 된다.
예전에 firefox 32bit flashplayer 문제가 많았을때 사용되던 방법이다.
1. chroot 및 debootstrap 패키지 설치
기본 위치를 /var/chroot32/hardy 로 잡았다.(자신이 원하는 위치로 바꿔도 된다)
hardy 64bit 환경에서 chroot hardy 32bit 환경을 설정하려한다.
설치하고 schroot 설정 ( /etc/schroot/schroot.conf - 이미 있음. 추가)
chroot 전환방법은
이게 좀 복잡해 보이면, dchroot 를 사용한다.
/etc/dchroot.conf 를 만들고, 다음 한줄을 넣는다.
나중에 32bit 어플설정시 schroot 는 좀 이상 동작을 해서 dchroot 가 더 나은 듯 하다.
chroot 전환방법은 schroot 와 비슷
여기까지 기본 설정은 완료 실제적인 chroot 32bit 환경을 구축한다.
2. chroot 기본환경 구축, 설정
명령에서 엿볼 수 있듯이 i386 아키텍쳐(?) 를 구축하기 위한 기본 시스템을 만든다.
/var/chroot32/hardy 에 시스템 기본 파일이 만들어진것을 볼 수 있다.
현 시스템(64bit)에서 필요한 파일들을 복사한다.
필요하면 다음 항목도 추가한다.
추가한 후에 마운트 한다.
이제는 chroot 상태로 넘어가서 추가적인 패키지들을 설치한다.
3. 32bit 어플 실행환경 설정
/usr/local/bin/do_dchroot 파일 생성 후, chmod 755 로 실행권한을 준다.(chroot 빠져나온상태)
32bit 어플실행환경 파일이다. 이 파일을 이용해서 32bit 어플을 실행시킬 것이다.
gedit 으로 테스트를 해본다. (chroot 상태에서 , schroot 나 dchroot 로 )
이런식으로 cubrid 도 실행할 것이다.
4. cubrid 어플 설치,실행.
chroot 상태에서 cubrid 를 설치, 실행한다. (자세한 방법은 생략한다.)
위에서 한 방식으로 do_dchroot 로 32bit 어플실행 설정을 한다.
/usr/bin/cubridman_start 를 만들었다. (chroot 상태)
실행스크립트를 만들고, chroot 를 벗어나서 다음처럼 링크시킨다.
java , swt 관련 에러가 보이면, 다음 패키지를 설치한다.
schroot 로 실행환경 설정
schroot 도 dchroot 와 동일한 형태의 스크립트는 안되지만, 비슷하게 처리할 수 있다.
다음은 64bit 환경에서 chroot 를 이용해서 32bit 어플을 실행하는 방법을 설명한다.
이 방법은 다른 어플에 활용해도 된다.
예전에 firefox 32bit flashplayer 문제가 많았을때 사용되던 방법이다.
1. chroot 및 debootstrap 패키지 설치
# apt-get install schroot dchroot debootstrapschroot , dschroot 둘중에 하나만 선택해도 된다.
기본 위치를 /var/chroot32/hardy 로 잡았다.(자신이 원하는 위치로 바꿔도 된다)
hardy 64bit 환경에서 chroot hardy 32bit 환경을 설정하려한다.
설치하고 schroot 설정 ( /etc/schroot/schroot.conf - 이미 있음. 추가)
[hardy]
description=Ubuntu hardy
priority=3
location=/var/chroot32/hardy
users={Userid}
groups={Userid},root
root-groups=root,{Userid}
personality=linux32
aliases=cubrid,default
{Userid} 는 본인 계정을 적으면 된다. description=Ubuntu hardy
priority=3
location=/var/chroot32/hardy
users={Userid}
groups={Userid},root
root-groups=root,{Userid}
personality=linux32
aliases=cubrid,default
chroot 전환방법은
# schroot -c hardy 또는 schroot -c cubrid 또는 schroot -c default또는 그냥 schroot 를 실행하면 default 가 실행된다.
이게 좀 복잡해 보이면, dchroot 를 사용한다.
/etc/dchroot.conf 를 만들고, 다음 한줄을 넣는다.
hardy /var/chroot32/hardy
나중에 32bit 어플설정시 schroot 는 좀 이상 동작을 해서 dchroot 가 더 나은 듯 하다.
chroot 전환방법은 schroot 와 비슷
# dchroot -c hardy 또는 그냥 dchroot
여기까지 기본 설정은 완료 실제적인 chroot 32bit 환경을 구축한다.
2. chroot 기본환경 구축, 설정
# debootstrap —variant=buildd —arch i386 hardy /var/chroot32/hardy http://ftp.daum.net/ubuntu젠투 사용자는 익숙할 것이다.(chroot 도) 설치시 필요하니... ^^
명령에서 엿볼 수 있듯이 i386 아키텍쳐(?) 를 구축하기 위한 기본 시스템을 만든다.
/var/chroot32/hardy 에 시스템 기본 파일이 만들어진것을 볼 수 있다.
현 시스템(64bit)에서 필요한 파일들을 복사한다.
# cp /etc/resolv.conf /var/chroot32/hardy/etc//etc/fstab 에 chroot 에 필요한 설정을 추가한다.
# cp /etc/apt/sources.list /var/chroot32/hardy/etc/apt/
# cp /etc/passwd /var/chroot32/hardy/etc/
# cp /etc/shadow /var/chroot32/hardy/etc/
# cp /etc/group /var/chroot32/hardy/etc/
# cp /etc/sudoers /var/chroot32/hardy/etc/
# cp /etc/hosts /var/chroot32/hardy/etc/
/proc /var/chroot32/hardy/proc none rbind 0 0
/dev /var/chroot32/hardy/dev none rbind 0 0
/sys /var/chroot32/hardy/sys none rbind 0 0
/tmp /var/chroot32/hardy/tmp none rbind 0 0
/dev /var/chroot32/hardy/dev none rbind 0 0
/sys /var/chroot32/hardy/sys none rbind 0 0
/tmp /var/chroot32/hardy/tmp none rbind 0 0
필요하면 다음 항목도 추가한다.
/home /var/chroot32/hardy/home none rbind 0 0
/var/run/dbus /var/chroot32/hardy/var/run/dbus none rbind 0 0
/var/run/dbus /var/chroot32/hardy/var/run/dbus none rbind 0 0
추가한 후에 마운트 한다.
# mount -a
이제는 chroot 상태로 넘어가서 추가적인 패키지들을 설치한다.
# schroot ( 또는 dchroot )chroot 된 상태가 된다.( $ 로 표시하겠다) 그 다음에 패키지를 설치한다.
$ apt-get install wget debconf devscripts gnupg nano필요하면 추가 설치
$ apt-get update ; apt-get upgrade
$ apt-get install vim aptitudechroot 에서 빠져 나오려면, exit 를 입력한다.
3. 32bit 어플 실행환경 설정
/usr/local/bin/do_dchroot 파일 생성 후, chmod 755 로 실행권한을 준다.(chroot 빠져나온상태)
#!/bin/sh
for arg; do
arg=`echo $arg | sed -e 's/ /\\\ /g'`
args=`echo $args $arg`
done
xhost +
/usr/bin/dchroot -d "`echo $0 | sed 's|^.*/||'` $args"
for arg; do
arg=`echo $arg | sed -e 's/ /\\\ /g'`
args=`echo $args $arg`
done
xhost +
/usr/bin/dchroot -d "`echo $0 | sed 's|^.*/||'` $args"
32bit 어플실행환경 파일이다. 이 파일을 이용해서 32bit 어플을 실행시킬 것이다.
gedit 으로 테스트를 해본다. (chroot 상태에서 , schroot 나 dchroot 로 )
$ apt-get install geditchroot 를 빠져나와서
$ cd /usr/bin ; ln -s gedit gedit32
$ exit
# cd /usr/local/bin ; ln -s do_dchroot gedit32처럼 링크를 걸고 , 실행시키면 chroot 상태로 바뀌면서 gedit32 가 실행된다.
# gedit32
이런식으로 cubrid 도 실행할 것이다.
4. cubrid 어플 설치,실행.
chroot 상태에서 cubrid 를 설치, 실행한다. (자세한 방법은 생략한다.)
$ sh CUBRID-8.1.4.1032-linux.sh (설치)다음 매니저를 실행해본다.
$ . /root/.cubrid.sh
$ cubrid service start
$ cubridmanager를 실행하면 몇가지 에러가 발생한다.
위에서 한 방식으로 do_dchroot 로 32bit 어플실행 설정을 한다.
/usr/bin/cubridman_start 를 만들었다. (chroot 상태)
#!/bin/sh
. /root/.cubrid.sh
cubridmanager
. /root/.cubrid.sh
cubridmanager
실행스크립트를 만들고, chroot 를 벗어나서 다음처럼 링크시킨다.
# cd /usr/local/bin ; ln -s do_dchroot cubridman_start로 실행시킨다.
# cubridman_start
java , swt 관련 에러가 보이면, 다음 패키지를 설치한다.
$ apt-get install lilbswt3.2-gtk-java sun-java6-jdk ( 또는 sun-java6-jre )한글이 깨진다면.
$ apt-get install language-support-ko language-pack-ko language-pack-gnome-ko
$ locale-gen ko_KR.UTF-8
schroot 로 실행환경 설정
schroot 도 dchroot 와 동일한 형태의 스크립트는 안되지만, 비슷하게 처리할 수 있다.
# schroot -c hardy -p cubrid_start위와 같은 방식으로 실행하면 된다.
# schroot -c hardy -p cubridman_start
반응형
'알아둘일' 카테고리의 다른 글
리눅스(우분투) 웹캠을 이용한 감시 시스템(zoneminder) (2) | 2009.08.02 |
---|---|
팩스머신을 만들자 - #2. 팩스 프로그램을 설치하자. (0) | 2009.07.24 |
팩스머신을 만들자 - #1. 팩스모뎀을 장착하라. (2) | 2009.07.23 |
큐브리드 설치의 난관 극복 정리 (0) | 2009.07.23 |
ubuntu hardy 의 crontab 이 깐깐해졌다? (0) | 2009.07.19 |
WRITTEN BY
- 1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.
,