다음 이전 차례

3. 설치와 설정

주: 인포믹스의 사이트에 있는 설치 지침과 IIUG사이트에 있는 Nils Myklebust의 멋진 HOWTO에는 몇가지 중복되는 부분들이 있다 ( 추가적인 리소스를 볼것). 이것은 두가지 이유 때문에 사려 깊은일이다:

  1. 바라건데, 반복을 통해, 우리는 몇가지 중요한 점들을 알게될 것이다.
  2. 독자들은 아직 다른 문서에서 그것들을 발견하지 못했을 수도 있다.

3.1 설치 전 작업

아래의 예제는 다음을 가정한다:

informix그룹 만들기

대부분의 리눅스 배포판은 addgroup이나 groupadd 둘 중의 하나를 갖고 있을 것이다. 이 프로그램들은 새로운 사용자 그룹을 만든다. 만일 당신의 시스템이 usercfg같은 GUI툴을 가지고 있다면 그것을 대신 사용해도 된다. 본질적인 정보만 바뀌지 않으면 된다.

<frodo> $ groupadd -g 777 informix
또는
<frodo> $ addgroup -g 777 informix

이 예제는 GID (group ID)가 777인 informix라는 이름의 그룹을 만든다. GID는 단지 예일 뿐이다; 당신은 아직 할당되지 않은 어떤 GID라도 사용할 수 있고 (할당된 GID를 볼려면 cat /etc/group), 특정한 값을 지정하지 않고 다음 가용한 GID를 사용할 수도 있다. 다음 단계에서 당신이 만드는 informix 사용자만이 informix 그룹의 멤버가 되어야 한다. 만일 다른 어떤 사용자가 이 그룹의 멤버라면, 그 사용자는 어떤 데이터베이스라도 변경하고 삭제할 수 있게 될것이다 - 좋은 생각이 아니다.

informix 사용자 계정 만들기

대부분의 리눅스 배포판은 adduseruseradd 둘 중의 하나를 갖고 있다. 이 프로그램들은 새로운 사용자를 만든다. 만일 당신의 시스템이 usercfg같은 GUI 툴을 갖고 있다면, 그것을 대신 사용해도 된다. 본질적인 정보만 바뀌지 않으면 된다.

<frodo> $ useradd -u 777 -g informix informix
또는
<frodo> $ adduser informix

첫 번째 형식은 UID(-u 777)와 초기 그룹(-g informix)을 지정할 것을 요구한다. 그것은 초기 그룹이 informix이고 UID가 777인 informix사용자를 만든다. 이 UID는 단지 예일 뿐이다; 당신은 아직 할당되지 않은 어떤 UID라도 사용할 수 있고 (할당된 UID를 보기위해서는 cat /etc/passwd), 특정한 지정하지 않고 다음 가용한 UID를 사용할 수도 있다. informix사용자는 일차 그룹이 informix그룹이어야한다; 가능하다면, 이 사용자가 유일한 그룹원이어야 한다.

두 번째 형식은 adduser를 사용하는데, 대개는 (Caldera의 OpenLinux를 제외하고는 거의 항상) useradd프로그램의 대화식 셸 스크립트 프론트엔드이다. 만일 당신이 이 스크립트를 사용한다면 초기그룹을 지정하라고 할 때 informix를 입력한다. 전과정에 걸쳐 더 많은 제어권을 사용할 수 있는 useradd를 사용할 것을 권장한다. 자세한 것은 man useradd를 볼것.

Informix-SE에서는 informix사용자가 홈 디렉토리나 디폴트 셸을 가질 필요는 없다. 당신이 informix로긴할 경우는 좀처럼 없겠지만, 그렇게 한다고 해서 해가 될 것도 없다. 반면에 Informix Dynamic Server는 홈 디렉토리를 필요로 하므로, 나중에 리눅스용 IDS가 나올 때 그걸 설치할 계획이라면, 지금 홈 디렉토리를 만들어 두는 것이 그때 한 단계를 줄일 수 있을 것이다.

dba사용자 만들기

dba라는 이름의 사용자 계정을 <tt>informix</tt>사용자 계정 만들기의 절차에 따라 만든다. 이 계정은 당신의 데이터베이스를 만들고 관리하는데 사용될 것이다. 여기에 두가지 규칙이 적용된다:

  1. 데이터베이스를 만드는데 informix사용자를 사용하지 말것.
  2. dbainformix그룹의 멤버로 만들지 말것. 그렇게 하면 데이터베이스 엔진에 내장된 보안 메카니즘을 망쳐버릴 것이다.

이 사용자의 홈 디렉토리는 데이터베이스가 저장될 것이므로 그것의 위치에 조금 신경을 써야한다. 내 시스템의 경우에는, dba의 홈 디렉토리는 /dbms이고, 그것은 물리적으로 별도의 디스크에 위치하고 부팅할 때 루트 파일시스템에 마운트된다. 이렇게하면 데이터베이스에 피해 없이 루트 파일 시스템을 잃거나 그 거꾸로 되는 것이 허용된다.

설치 디렉토리 만들기

다음으로, 인포믹스를 설치할 디렉토리를 만들어야 한다. 파일시스템 계층 표준을 보면 정적이고, 공유가능한 파일(문서, 라이브러리 또는 다른 바이너리들 같은)을 /usr이나 /opt에 설치할 것을 권장한다. 비 시스템 파일들은 종종 /usr/local에 설치된다. 내 시스템의 경우에는 그것들은 /opt에 있다. 당신은 당신이 좋아하는 어디라도 설치할 수 있을 것이다(/tmp/dev은 권장되지 않음 ©).

<frodo> $ mkdir /opt/informix
<frodo> $ chown informix.informix /opt/informix
<frodo> $ chmod 755 /opt/informix

3.2 소프트웨어 설치하기

먼저 $INFORMIXDIR 환경 변수를 당신의 설치 디렉토리를 가리키도록 설정한다:

<frodo> $ export INFORMIXDIR=/opt/informix

다음으로, 패스를 설정한다. 그렇지 않으면 설치 스크립트가 제품표시 정보(branding information)를 찾지 못할 것이다:

<frodo> $ export PATH=$PATH:$INFORMIXDIR/bin

다운로드한 파일을 보관해둔 디렉토리로 가서 그것들을 unzip한다 (이 디렉토리는 설치 디렉토리와 다른 곳이어야 한다). 만일 당신이 CD-ROM을 갖고 있다면, 당신은 CD-ROM으로부터 바로 설치할 수 있다.

<frodo> $ cd /downloads
<frodo> $ unzip informix_se___esql_c_bundle_for_linux.zip

당신은 각각 ESQLC.TAR, SE.TAR와 ICONNECT.TAR가 들어있는 ESQLC, SE, ICONNECT 세 개의 디렉토리를 보게될 것이다. 당신의 설치디렉토리로 가서(이 예에서는 /opt/informix), tar파일들은 ESQLC, SE, ICONNECT 순서로 풀어야 한다.

[역자주: 현재 인포믹스는 기존의 ICONNECT, CLI등의 여러가지 클라이언트 연결 제품군을 하나로 묵어 Client SDK라는 형태로 공급하고 있다. 자세한 내용은 http://www.informix.com를 참조 할 것.]

ESQL/C

ESQL.TAR 풀기:

<frodo> $ tar xvf /downloads/ESQLC/ESQL.TAR 

ESQL/C를 설치하고 라이센스를 적용한다 (Intraware로 부터 받은 일련 번호와 라이센스 키를 요구할 것이다):

<frodo> $ ./installesql 

SE

SE.TAR 풀기:

<frodo> $ tar xvf /downloads/SE/SE.TAR 

SE를 설치하고 라이센스를 적용한다 (Intraware로 부터 받은 일련 번호와 라이센스 키를 요구할 것이다):

<frodo> $ ./installse 

ICONNECT

주: 이 단계는 선택적이다. Informix-SE는 Informix-CONNECT를 설치하지 않아도 잘 동작한다. SE와 ESQL/C는 둘다 필요한 연결방법(connectivity)을 내장하고 있다. IConnect는 당신이 SE와 ESQL/C가 설치되어 있지 않은 시스템에 설치된 ESQL/C 바이너리와 엔진을 연결할 수 있도록 하기 위한 것일 뿐이다.

ICONNECT.TAR 풀기:

<frodo> $ tar xvf /downloads/ICONNECT/ICONNECT.TAR 

ICONNECT를 설치하고 라이센스를 적용한다 (Intraware로 부터 받은 일련 번호와 라이센스 키를 요구할 것이다):

<frodo> $ ./installconn 

3.3 설치후 작업

설치후 작업은 거의 없다. 인포믹스에게 어떻게 실행되어야 하고, (선택적으로) 당신의 TCP/IP 설정을 조정하는 것이 전부다.

sqlhosts 파일 설정

우선, $INFORMIXDIR/etc/sqlhosts의 보관용 사본을 만들어 둘것. 당신이 완전히 anal이라면, 당신은 cp -p 또는 cp -a 를 사용하여 원래 파일의 시간과 날짜까지도 유지할 수 있다.

sqlhosts의 사본을 만든 다음, 원래 파일을 수정한다. 당신의 아래처럼 보이는 줄을 삭제하거나 주석처리(# 을 사용하여) 할 수 있다.

demo_on  onipcshm  on_hostname  on_servername

이 줄은 Informix Dynamic Server를 위한 것이므로, 리눅스에서는 아직까지 불가능하다. 호스트이름은 uname -n의 출력과 정확히 일치해야 하며, 그렇지 않으면 -25591 에러를 얻게 될것이다. 별명을 사용하는 것은 동작하지 않는다. 그 항목은 이렇게 보일 것이다

demo_se  seipcpip  frodo.hobbit.com  sqlexec

  1. 항목 1 은 데이터베이스 서버의 이름이다.
  2. 항목 2 는 통신 프로토콜이다(인포믹스의 문서에서는 종종 "nettype"으로 언급된다)
  3. 항목 3 은 서버를 실행하고 있는 호스트의 이름이다.
  4. 항목 4 는 서비스 이름이다(기술적으로는, seipcpip 연결에서는 서비스 이름은 사용될 엔진이나 바이너리를 가리킨다. 이 경우에는 sqlexec).

seipcpip프로토콜은 무명 파이프를 사용하고, 로컬 연결 프로토콜로만 사용될 수 있다. 나는 seipcpip를 사용하지 않으려고 억지를 부리는 이유를 정말 모르겠다. 특히 개발 환경에서는(그런데, 그것은 Informix-SE의 이번 릴리즈에 뒤쳐진 억측이다). 그래서, 내는 그 점에 대해 단언한다: 만일 그렇게 하지 않을 특정한 이유가 없다면, Informix-SE로 어떤 일을 하기 위해서는 seipcpip nettype을 사용하라.

[역자주: 이 부분은 번역이 아무래도 이상하군요. 정말 그 이유가 궁금하신 분은 원문을 보시기 바랍니다.]

3.4 설치 테스트 하기

이제 당신은 괴상한 준비물을 가지고 있고, 당신의 설치를 확인할 준비를 되었다. 만일 당신이 경험있는 인포믹스 사용자가 아니라면, 정규 사용자 계정을 사용하는 것이 가장 좋다.

dbtest같은 테스트 데이터베이스를 보관할 디렉토리를 만들고, 그 디렉토리로 cd한다. $INFORMIXDIR 환경 변수를 인포믹스가 설치된 디렉토리를 가리키도록 설정하고; 비슷하게, $INFORMIXSERVER 환경 변수를 당신이 sqlhosts 파일에 지정한 서버 이름으로 설정한다. 마지막으로 $INFORMIXDIR/bin 를 당신의 $PATH 에 추가한다:

<frodo> $ export INFORMIXDIR=/opt/informix
<frodo> $ export INFORMIXSERVER=demo_se
<frodo> $ export PATH=$PATH:$INFORMIXDIR/bin

dbaccessdemo7 명령은 현재 디렉토리에 stores7 견본 데이터베이스를 생성하고 몇가지 예제 쿼리들도 그 디렉토리에 복사할 것이다.

<frodo> $ dbaccessdemo7

dbaccess명령은 엔진을 위해 쓸만한 화면 기반 인터페이스를 시작하고, 그것으로 데이터베이스와 작업할 수 있다.

<frodo> $ dbaccess

메뉴에서 Query-language를 선택한 다음(간단히 Q를 입력한다) Choose (C)를 선택한다. 이것은 견본 데이터베이스내에 가용한 쿼리들의 목록을 보여줄 것이다. 커서 키를 사용하여 sel_로 시작하는 쿼리들 중 하나를 선택하고, 엔터를 두 번 누르면, 어떤 결과를 보게될 것이다. 이 모든 일들이 작동하면, 당신은 당신의 기계에서 실행되는 Informix-SE를 얻은 것이다. 축하한다!


다음 이전 차례