UNIX에서 설치와 제거
본 장에서는 UNIX 및 Linux 운영체제에서 Tmax 서버 또는 Tmax 클라이언트를 설치하는 방법에 대해 설명한다.
Tmax는 Full 인스톨러와 Patch 인스톨러 2가지 형태의 인스톨러를 제공한다. Full 인스톨러는 Tmax를 처음 설치할 경우에 Tmax core 파일, 샘플, 환경변수등 모든 요소를 설치하기 위해 사용하며, Patch 인스톨러는 버전업할 때 Tmax core 파일만을 교체할 때 사용한다. UNIX에 Tmax 시스템을 설치하지 않는 경우에는 본 장을 건너뛰어도 좋다.
Tmax 시스템의 실제 운영을 위하여 Tmax 서버와 클라이언트를 모두 설치한다.
1. 설치 전 준비사항
Tmax 서버 및 클라이언트 설치 전 준비사항은 다음과 같다.
-
Tmax 계정을 생성한다.
root 계정으로 설치해도 되지만, 보통 Tmax 관리자 계정을 별도로 생성할 것을 권장한다.
-
설치 환경이 Tmax의 최소 요구사항에 합당한지 확인하고 CD-ROM을 마운트한다.
각 플랫폼별 최소 요구사항과 CD-ROM의 마운트 방법은 플랫폼별 시스템 요구사항을 참고한다.
-
설치 스크립트를 실행하기 전에 시스템에 대해 몇 가지 사항을 확인한다.
서버에 설치된 운영체제와 아키텍처(32bit or 64bit), Tmax를 설치할 디렉터리의 절대 경로, 그리고 설치 후 테스트를 위한 서버의 IP 주소를 미리 알고 있어야 한다.
설치 전 필요한 사항의 확인이 완료되면 Tmax 관리자 계정으로 로그인한 후 마운트된 CD-ROM 디렉터리로 이동해서 설치 스크립트를 실행한다.
2. 설치
다음은 Full 인스톨러를 사용한 Tmax 설치 과정이다.
-
Tmax 설치 CD를 넣고 마운트한다.
-
CD에 설치 파일("Tmax60_Fix1_AIX_71_PowerPC_64.bin) 파일이 있는 곳으로 이동한다.
-
다른 곳에 있는 설치 콘솔 인스톨러가 실행이 가능하도록 하려면 파일의 실행 권한을 준다.
$ chmod u+x Tmax60_Fix1_AIX_71_PowerPC_64.bin
-
콘솔에서 설치 파일을 실행한다.
tmaxh4@starbj81:/EMC01/starbj81>./Tmax60_Fix1_AIX_71_PowerPC_64.bin Preparing to install... Extracting the JRE from the installer archive... Unpacking the JRE... Extracting the installation resources from the installer archive... Configuring the installer for this system's environment... Launching installer... Preparing CONSOLE Mode Installation... ================================================================ Tmax60_Fix1 (created with InstallAnywhere by Macrovision) ---------------------------------------------------------------- ================================================================ Introduction ------------ InstallAnywhere will guide you through the installation of Tmax60_Fix1. It is strongly recommended that you quit all programs before continuing with this installation. Respond to each prompt to proceed to the next step in the installation. If you want to change something on a previous step, type 'back'. You may cancel this installation at any time by typing 'quit'. PRESS <ENTER> TO CONTINUE:
-
Tmax 라이선스 준수 화면이 나타난다.
=============================================================================== License Agreement ----------------- Installation and use of Tmax60_Fix1 requires acceptance of the following License Agreement: TP-Monitor Tmax Release TmaxSoft Co., Ltd. (hereafter, TmaxSoft) End-User License Agreement Product : Tmax This is a legal agreement between you (either an individual or an company) and TmaxSoft, Incorporated. By opening the sealed software package and/or by using the software, you agree to be bound by the terms of this agreement. TmaxSoft License 1. Grant of License: This TmaxSoft License Agreement ("License") permits you to use one copy of the TmaxSoft product Tmax, on any single computer, provided the software is in use on only one computer at any one time. If this package is a license pack, you may make and use additional copies of the software up to the number of licensed copies authorized. If you have multiple licenses for the software, then at any time you may have as many copies of the software in use as you have licenses. The software is "in use" on a computer when it is loaded into the temporary memory (i.e., RAM) or installed into the permanent memory (e.g., hard disk, CD-ROM, or other storage devices) of that computer, except that a copy installed on a network server for the sole purpose of distribution to other computers is not "in use". If the anticipated number of users of the software will exceed the number of applicable licenses, then you must have a reasonable PRESS <ENTER> TO CONTINUE:
-
Tmax 라이선스 준수에 대한 다음 정보를 보기 위하여 <Enter> 키를 누른다.
mechanism or process in place to ensure that the number of persons using the software concurrently does not exceed the number of licenses. 2. Copyright: The software (including any images, "applets," photographs, animations, video, audio, music and text incorporated into the software) is owned by TmaxSoft or its suppliers and international treaty provisions. Therefore, you must treat the software like any other copyrighted materials (e.g., a book or musical recording) except that you may either (a) make one copy of the software solely for backup or archival purposes, or (b) transfer the software to a single hard disk provided you keep the original solely for backup or archival purposes. You may not copy the printed materials accompanying the software, nor print copies of any user documentation provided in "online" or electronic form. 3. Other restrictions: This license is your proof of license to exercise the rights granted herein and must be retained by you. You may not rent, lease, or transfer your rights under this license on a permanent basis provided you transfer this license, the software, and all accompanying printed materials, retain no copies, and the recipient agrees to the terms of this license. You may not reverse engine, decompile, or disassemble the software, except to the extent that the foregoing restriction is expressly prohibited by applicable law. PRESS <ENTER> TO CONTINUE:
-
라이선스 동의 여부 선택화면에서 동의한다면 'Y’를 입력한 후 <Enter> 키를 누르고 동의하지 않으면 'N’을 입력한 후 <Enter> 키를 누른다.
PRESS <ENTER> TO CONTINUE: DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N):
-
Tmax 설치 요소를 선택한다.
'→'로 표기된 부분은 디폴트 선택 값으로, 선택하지 않고 <Enter> 키를 누르면 '1- Server + Client'가 자동으로 선택된다. 엔진 전체를 설치하려면 '1', 클라이언트만을 설치하려면 '2’를 입력하고 <Enter> 키를 누른다.
================================================================ Choose Install Set ------------------ Please choose the Install Set to be installed by this installer. ->1- Server + Client 2- Client ENTER THE NUMBER FOR THE INSTALL SET, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
-
설치 디렉터리를 선택한다.
디폴트 값을 사용하려면 <Enter> 키를 누르고 아니면, 디렉터리를 변경하려면 설치 경로를 입력하고 <Enter> 키를 누른다.
============================================================= Choose Install Folder --------------------- Where would you like to install? Default Install Folder: /EMC01/QA/tmax ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
-
Tmax 기본 환경 파일 중 Tmax 시스템이 수행될 서버의 IP 주소를 입력한다. 입력하지 않으면, 디폴트로 현재 설치되고 있는 노드의 IP 주소가 설정된다.
============================================================= Set Environment Variable ------------------------ TMAX_HOST_ADDR : IP Address of your Tmax Host. TMAX_HOST_ADDR (DEFAULT: 192.168.1.87):
-
설치와 관련하여 설정한 정보를 요약하여 출력한다. 설정한 설치 정보를 확인하고, <Enter> 키를 누르면 설치가 시작된다.
============================================================= Pre-Installation Summary ------------------------ Please Review the Following Before Continuing: Product Name: Tmax60_Fix1 Install Folder: /EMC01/QA/tmax Link Folder: /EMC01/QA Disk Space Information (for Installation Target): Required: 269,490,714 bytes Available: 431,792,128 bytes PRESS <ENTER> TO CONTINUE:
-
다음과 같은 메시지가 화면에 출력되면 Tmax를 설치할 준비가 되었다는 것을 의미한다. <Enter> 키를 누르면 본격적인 설치가 실행된다.
============================================================= Ready To Install ---------------- InstallAnywhere is now ready to install Tmax60_Fix1 onto your system at the following location: /EMC01/QA/tmax PRESS <ENTER> TO INSTALL:
-
진행 바와 함께 설치가 진행된다.
============================================================= Installing... ------------- [==================|==================|==================|=== [------------------|------------------|------------------|--- ============================================================= Installation Complete --------------------- Congratulations. Tmax60_Fix1 has been successfully installed to: /EMC01/QA/tmax PRESS <ENTER> TO EXIT THE INSTALLER:
-
<Enter> 키를 누르면 설치가 완료된다.
PRESS <ENTER> TO EXIT THE INSTALLER:
|
3. 설치 확인
Tmax가 설치되면 다음과 같은 디렉터리가 생성된다.
$Tmax HOME +---- appbin +---- bin +---- config +---- lib +---- lib64 +---- license |---- log +---- slog +---- tlog +---- ulog +---- mod +---- path +---- run |---- sample +---- client +---- tdl +---- fdl +---- sdl +---- server +---- svct +---- usrinc +---- topinc +---- cobinc +---- tuxinc +---- tcpgw +---- tcpgwthr +---- x25gw +---- UninstallerData
- $Tmax HOME
-
Tmax 시스템의 홈 디렉터리이다. (시스템 변수: TMAXDIR, 환경 파일 항목: TMAXDIR)
- appbin
-
Tmax를 이용해 개발된 응용 서버 프로그램 디렉터리이다. (환경 파일 항목: APPDIR)
- bin
-
Tmax 명령과 유틸리티가 위치한 디렉터리이다.
- config
-
Tmax 시스템 환경 파일이 위치한 디렉터리이다.
- lib
-
Tmax 라이브러리(64bit 일 경우 'lib64’로 표시) 디렉터리이다.
- license
-
라이선스 파일이 위치한 디렉터리이다.
- log
-
로그 파일이 위치한 디렉터리이다.
서브 디렉터리 설명 slog
시스템 로그 파일을 저장하는 디렉터리이다. (환경 파일 항목: SLOGDIR)
ulog
사용자 로그 파일을 저장하는 디렉터리이다. (환경 파일 항목: ULOGDIR)
tlog
트랜잭션 정보를 저장하는 디렉터리이다. (환경 파일 항목: TLOGDIR)
- mod
-
TDL을 사용하는 경우 업데이트할 라이브러리를 위한 디렉터리이다.
- path
-
프로세스 간 통신의 경우 필요한 파이프 역할을 하는 디렉터리이다. (환경 파일 항목: PATHDIR)
- run
-
TDL을 사용하는 경우 tdlupdate 후 버전이 부연된 라이브러리들을 위한 디렉터리이다.
- sample
-
다음은 서브 디렉터리에 설명이다.
서브 디렉터리 설명 client
클라이언트 샘플 프로그램 파일이 위치한 디렉터리이다.
tdl
TDL 샘플 프로그램 파일이 위치한 디렉터리이다.
fdl
샘플 필드키 정의 파일(demo.f)이 위치한 디렉터리이다. (시스템 변수: FDLFILE)
sdl
샘플 구조체 정의 파일(demo.s)이 위치한 디렉터리이다. (시스템 변수: SDLFILE)
server
서버 샘플 프로그램 파일이 위치한 디렉터리이다.
- svct
-
응용 서버프로그램을 컴파일할 때 필요한 서비스 테이블 파일이 위치한 디렉터리이다.
- usrinc
-
Tmax 헤더 파일이 위치한 디렉터리이다.
demo.f와 demo.s는 FDL(Field Definition Language)과 SDL(Structure Definition Language) 형식의 필드들을 정의하는 파일이다. 사용자는 실제 프로젝트에서 사용할 FDL및 SDL 형식 필드들을 필요에 따라 직접 생성해서 사용할 수 있다.
- topinc
-
topend에서 Tmax로 전환할 때 해당 Tuxedo 함수들을 Tmax 함수로 변환하는 헤더 파일이 위치한 디렉터리이다.
- cobinc
-
Cobol 헤더 파일이 위치한 디렉터리이다.
- tuxinc
-
Tuxedo에서 Tmax로 전환할 때 필요한 헤더 파일이 위치한 디렉터리이다.
- tcpgw
-
TCPGW 헤더 파일이 위치한 디렉터리이다.
- tcpgwthr
-
TCPGW THR 헤더 파일이 위치한 디렉터리이다.
- x25gw
-
x25gw 헤더 파일이 위치한 디렉터리이다.
- UninstallerData
-
Tmax 제거에 필요한 파일이 위치한 디렉터리이다.
자세한 사항은 Tmax Application Development Guide 또는 Tmax Reference Guide를 참고한다. |
4. 환경 설정
4.1. 라이선스 파일 설치
Tmax 서버 시스템을 운영하거나 WebT를 통해 Tmax의 서비스를 이용할 때는 Tmax 설치 후에 반드시 라이선스 파일을 설치해야 한다. Tmax 클라이언트만 설치한 시스템의 경우에는 Tmax 클라이언트는 라이선스를 별도로 필요로 하지 않기 때문에 본 절을 생략해도 좋다.
Tmax 제품군에 대한 라이선스는 옵션별로 구분된다.
구분 | 설명 |
---|---|
도메인 게이트웨이 |
서로 다른 Tmax 도메인 간에 통신을 할 수 있는 시스템이다. |
신뢰성 큐(Reliable Queue) |
신뢰성 큐를 사용하고자 하는 시스템이다. |
HostLink |
Tmax 서버와 Main Frame과의 연동을 위해 필요한 시스템이다. |
WebT |
웹에서 Tmax의 서비스를 이용할 수 있는 시스템이다. |
사용자가 Tmax의 기본 기능 또는 그 이외에 위와 같은 기능을 추가적으로 사용하고자 할 경우에는 TmaxSoft로부터 라이선스를 발급받아야 한다.
라이선스는 TmaxSoft 홈페이지 또는 E-mail을 통해 접수가 가능하며, Tmax가 필요로 하는 양식에 맞춰 정보를 기입하면 원하는 라이선스 파일을 발급받아서 설치할 수 있다. 라이선스를 발급받기 위해 사용자는 Tmax 제품의 설치를 완료한 후 다음과 같은 시스템 정보를 확인하는 유틸리티를 실행하여 그 결과를 라이선스 발급처에 알려야 한다.
Tmax 시스템이 정상적으로 설치되면 라이선스 디렉터리에 ncpu라는 이름의 파일을 찾을 수 있다. 다음과 같이 ncpu 유틸리티를 실행한다.
./ncpu
ncpu 유틸리티 실행 결과는 다음과 같다.
HOST NAME1: tmaxs1 HOST NAME2: tmaxs1 HOSTID: 80FD0534 HOSTID: 80FD0534 H/W SERIAL: 2164065588 NCPUS: 2 UNAME: SunOS tmaxs1 5.7 Generic_106541-11 sun4u sparc SUNW,Ultra-80
TmaxSoft에서는 정식으로 Tmax 제품군을 미리 사용해 볼 수 있도록 평가 라이선스를 제공하며 평가판은 기능상의 제한은 두지 않고 사용 기간만을 제한하고 있다. 평가 기간은 최장 3개월까지 연장할 수 있다. 자세한 문의사항은 소프트웨어 배포 부분에서 언급된 연락처를 참고한다.
4.2. 환경변수 설정
설치 후 Tmax 응용 프로그램을 컴파일할 때 또는 실제 개발환경에서 프로젝트를 진행할 때에는 C 컴파일러나 make 유틸리티 등이 필요하다. 파일들(cc, make 등)이 포함된 디렉터리가 PATH 환경변수에 설정되어 있는지 확인하고, 설정되어 있지 않다면 반드시 관련 디렉터리와 그 외 필요한 기본 디렉터리들도 적용될 수 있도록 해야 한다.
다음은 Bourne 셸 또는 Korn 셸 사용자가 Tmax를 설치하면 .profile에 추가되는 Tmax 시스템 환경변수이다. 자세한 내용은 플랫폼마다 다를 수 있다.
# New environment setting added by Tmax60_Fix1 on Fri Sep 06 18:08:39 GMT+09:00 2019 1. # The unmodified version of this file is saved in /home/tmaxqam/.profile65347919. # Do NOT modify these lines; they are used to uninstall. TMAXDIR=/home/tmaxqam/tmax export TMAXDIR # End comments by InstallAnywhere on Fri Sep 06 18:08:39 GMT+09:00 2019 1. # New environment setting added by Tmax60_Fix1 on Fri Sep 06 18:08:39 GMT+09:00 2019 2. # The unmodified version of this file is saved in /home/tmaxqam/.profile65347919. # Do NOT modify these lines; they are used to uninstall. PATH="/home/tmaxqam/tmax/bin:${PATH}" export PATH # End comments by InstallAnywhere on Fri Sep 06 18:08:39 GMT+09:00 2019 2. # New environment setting added by Tmax60_Fix1 on Fri Sep 06 18:08:39 GMT+09:00 2019 3. # The unmodified version of this file is saved in /home/tmaxqam/.profile65347919. # Do NOT modify these lines; they are used to uninstall. TMAX_HOST_ADDR=192.168.1.109 export TMAX_HOST_ADDR # End comments by InstallAnywhere on Fri Sep 06 18:08:39 GMT+09:00 2019 3. # New environment setting added by Tmax60_Fix1 on Fri Sep 06 18:08:39 GMT+09:00 2019 4. # The unmodified version of this file is saved in /home/tmaxqam/.profile65347919. # Do NOT modify these lines; they are used to uninstall. TMAX_HOST_PORT=8888 export TMAX_HOST_PORT # End comments by InstallAnywhere on Fri Sep 06 18:08:39 GMT+09:00 2019 4. # New environment setting added by Tmax60_Fix1 on Fri Sep 06 18:08:39 GMT+09:00 2019 5. # The unmodified version of this file is saved in /home/tmaxqam/.profile65347919. # Do NOT modify these lines; they are used to uninstall. SDLFILE=/home/tmaxqam/tmax/sample/sdl/tmax.sdl export SDLFILE # End comments by InstallAnywhere on Fri Sep 06 18:08:39 GMT+09:00 2019 5. # New environment setting added by Tmax60_Fix1 on Fri Sep 06 18:08:39 GMT+09:00 2019 6. # The unmodified version of this file is saved in /home/tmaxqam/.profile65347919. # Do NOT modify these lines; they are used to uninstall. FDLFILE=/home/tmaxqam/tmax/sample/fdl/tmax.fdl export FDLFILE # End comments by InstallAnywhere on Fri Sep 06 18:08:39 GMT+09:00 2019 6. # New environment setting added by Tmax60_Fix1 on Fri Sep 06 18:08:39 GMT+09:00 2019 7. # The unmodified version of this file is saved in /home/tmaxqam/.profile65347919. # Do NOT modify these lines; they are used to uninstall. TMAX_CONNECT_TIMEOUT=3 export TMAX_CONNECT_TIMEOUT # End comments by InstallAnywhere on Fri Sep 06 18:08:39 GMT+09:00 2019 7. # New environment setting added by Tmax60_Fix1 on Fri Sep 06 18:08:39 GMT+09:00 2019 8. # The unmodified version of this file is saved in /home/tmaxqam/.profile65347919. # Do NOT modify these lines; they are used to uninstall. LIBPATH="${LIBPATH}:/home/tmaxqam/tmax/lib64" export LIBPATH # End comments by InstallAnywhere on Fri Sep 06 18:08:39 GMT+09:00 2019 8.
위의 항목들을 간단히 설명하면 다음과 같다.
항목 | 설명 |
---|---|
TMAXDIR |
Tmax가 설치된 디렉터리의 경로이다. |
TMAX_HOST_ADDR |
접속할 Tmax 서버의 IP 주소이다. |
TMAX_HOST_PORT |
접속할 Tmax 서버의 포트 번호이다. 번호는 Tmax 서버의 시스템 설정 파일(예: sample.m)에서 정하는 TPORTNO와 일치해야 한다. |
SDLFILE |
구조체 버퍼 형식을 사용하기 위한 SDL 이진 파일(filename.sdl)의 위치를 설정하며, 응용 프로그램에서 구조체 버퍼 형식을 사용하지 않으면 정의할 필요가 없다. |
FDLFILE |
필드키 버퍼 형식을 사용하기 위한 FDL 이진 파일(filename.fdl)의 위치를 설정하며, 응용 프로그램에서 필드키 버퍼 형식을 사용하지 않으면 정의할 필요가 없다. |
TMAX_CONNECT_TIMEOUT |
Tmax 시스템 접속 제한시간을 의미한다. |
LD_LIBRARY_PATH |
공유 라이브러리 경로로, OS별로 환경변수가 다르게 지정된다.
|
TMAX_BACKUP_ADDR |
접속 서버의 장애가 있을 때 연결할 백업 서버의 IP 주소이다. |
TMAX_BACKUP_PORT |
접속할 Tmax 백업 서버의 포트 번호이다. 번호는 Tmax 백업 서버의 시스템 설정 파일(filename.m)에서 정하는 TPORTNO와 일치해야 한다. |
Tmax는 공유 라이브러리를 사용해서 새로운 버전이나 패치된 엔진을 적용했을 때, 응용 서버 프로그램을 다시 컴파일해야 하는 불편함을 없앨 수 있다. 현재 Tmax 버전(5.0.x)에서는 정적 라이브러리와 공유 라이브러리를 함께 제공하고 있다. 단, IBM AIX는 일부만을 공유 라이브러리로 제공한다.
공유 라이브러리를 사용하기 위해서는 응용 서버 프로그램을 개발할 때 필요한 라이브러리를 포함하도록 하고, 각 OS의 컴파일러에 공유 라이브러리 이용에 관한 FLAGS 설정을 해야 한다. 공유 라이브러리의 디렉터리의 위치는 Tmax가 설치될 때 환경 파일에 자동으로 설정된다(LD_LIBRARY_PATH 또는 SHLIB_PATH ).
각 플랫폼별 컴파일 옵션은 다음과 같다.
-
Solaris 32bit, Compaq, Linux
CFLAGS = -O –I$(TMAXDIR)
-
Solaris 5.7~5.9 64bit
CFLAGS = -xarch=v9 -O –I$(TMAXDIR)
-
Solaris 5.10~ 64bit
CFLAGS = -m64 -O –I$(TMAXDIR)
-
HP PA-RISC 32bit
CFLAGS = -Ae -O –I$(TMAXDIR)
-
HP PA-RISC 64bit
CFLAGS = -Ae +DA2.0W +DD64 +DS2.0 -O -I$(TMAXDIR)
-
HP Itanium 32bit
CFLAGS = -O -Ae -w +DSblended +DD32 -D_HP -I$(TMAXDIR)
-
HP Itanium 64bit
CFLAGS = -O -Ae -w +DSblended +DD64 -D_HP -I$(TMAXDIR)
-
IBM 32bit
CFLAGS = -q32 –brtl -O –I$(TMAXDIR)
-
IBM 64bit
CFLAGS = -q64 –brtl -O –I$(TMAXDIR)
설정한 Tmax 환경변수를 적용하기 위해 홈 디렉터리에서 다음과 같이 수행한다.
-
Bourne/Korn 셸의 경우
. ./.profile
-
C 셸의 경우
source .cshrc
env 또는 set 명령으로 환경변수가 올바르게 적용되었는지 확인한다.
자세한 내용은 Tmax Getting Started Guide 또는 Tmax Application Development Guide를 참고한다. |
4.3. sample.m 파일 구성
다음은 Tmax를 기동시킬 때 필요한 각종 정보들이 포함되어 있는 Tmax 시스템 환경 파일이다.
ASCII 파일 형태로 작성하며, cfl 유틸리티로 컴파일하여 이진 파일을 생성한다. 생성된 이진 파일은 Tmax 기동 및 종료할 때 참조된다.
*DOMAIN tmax1 SHMKEY = 79990, MINCLH = 1, MAXCLH = 3, TPORTNO = 8888, BLOCKTIME = 30 *NODE tmaxs2 TMAXDIR = "/user/mmidea/tmax", APPDIR = "/user/mmidea/tmax/appbin", PATHDIR = "/user/mmidea/tmax/path", TLOGDIR = "/user/mmidea/tmax/log/tlog", ULOGDIR = "/user/mmidea/tmax/log/ulog", SLOGDIR = "/user/mmidea/tmax/log/slog" *SVRGROUP svg1 NODENAME = tmaxs2 *SERVER svr1 SVGNAME = svg1, MIN = 1 *SERVICE SDLTOUPPER SVRNAME = svr1 SDLTOLOWER SVRNAME = svr1
5. 예제 프로그램 테스트
Tmax가 올바르게 설치되었는지 간단한 예제 프로그램을 통해서 확인할 수 있다.
프로그램에 사용된 각종 파일들은 다음과 같다.
-
테스트 환경
구분 설명 운영체제
SunOS 5.7 32bit 버전
셸
korn 셸
위치
$TMAXDIR=/user/tmax
-
프로그램
파일명 설명 sample.m
Tmax 환경설정 파일(${TMAXDIR}/config)
svr1.c
서버 프로그램(${TMAXDIR}/sample/server)
sdltoupper.c
클라이언트 프로그램(${TMAXDIR}/sample/client)
demo.s
구조체 정의 파일(${TMAXDIR}/sample/sdl)
demo.f
필드키 정의 파일(${TMAXDIR}/sample/fdl)
tmax.env
Tmax 환경변수 정의 파일(${TMAXDIR}/sample/client)
5.1. 기본 환경 설정
다음은 기본 환경을 설정하는 과정에 대한 설명이다.
-
$TMAXDIR/config 디렉터리로 이동하여 다음과 같이 환경 파일을 컴파일한다. sample.m 파일은 Tmax가 설치되면 TMAXDIR/config 디렉터리에 자동으로 생성된다. Tmax 시스템이 설치된 홈 디렉터리를 TMAXDIR이라 표현하기로 한다.
$>cfl –i sample.m
성공적으로 컴파일이 된 후에는 다음과 같은 메시지가 출력된다.
CFL is done successfully for node(<nodename>)
해당 서버의 호스트명이 실제 호스트명과 맞지 않는 경우가 발생할 수 있다. 예를 들어 uname –n 명령을 사용했을 때 tmax1.tmax.co.kr과 같이 이름이 출력되었는데 컴파일이 되지 않는 경우이다. 이때에는 TMAXDIR/license 디렉터리의 ncpu라는 유틸리티를 실행하여 확인할 수 있다. ncpu를 실행해서 나오는 호스트명을 sample.m에 입력하고, 그 호스트명에 맞는 라이선스를 다시 발급받아 설치한다. ncpu에 대한 내용은 환경 설정을 참고한다.
-
다음과 같이 서비스 테이블을 생성한다. 서비스 테이블은 각각의 서버 프로세스가 생성될 때 필요한 파일로, 각각의 프로세스들이 어떤 서비스를 처리하는지에 대한 정보가 담겨 있다.
$>gst
성공적으로 처리되면 다음과 같은 메시지가 출력된다.
SVC tables are successfully generated GST is successfully done
TMAXDIR/sample/sdl 디렉터리로 이동하여 구조체 정의 이진 파일을 생성한다. 이때 서버에서 필요한 파일과 클라이언트에서 필요한 파일들이 다르므로 sdlc를 실행할 때 서버와 클라이언트에서의 옵션을 구분한다.
-
각 경우에 따라 sdlc를 실행한다. 2가지의 경우 모두 sdlc가 성공적으로 수행되면 아무런 메시지가 출력되지 않는다.
-
서버의 경우
$>sdlc –i demo.s
위와 같이 실행하면 demo_sdl.h 및 demo_sdl.c 파일이 생성된다. 생성되는 파일들은 구조체 타입 버퍼를 사용하는 서버 프로그램에서 컴파일할 때 참조된다.
샘플로 제공되는 Makefile에서는 구조체 타입 버퍼를 사용하는 서버 프로그램을 컴파일할 때 sdlc를 실행하는 루틴이 있지만 서버 프로그램을 컴파일하기 전에 미리 sdlc를 실행하는 것이 좋다.
-
클라이언트의 경우
$>sdlc –c –i demo.s –o tmax.sdl
위와 같이 실행하면 demo_sdl.h 및 tmax.sdl 파일이 생성된다. '–o' 옵션을 사용하지 않으면 디폴트로 "<구조체 파일명>.sdl"이 생성된다. 파일은 이진 파일로 구조체 타입 버퍼를 사용하는 클라이언트 프로그램에서 구조체 타입 버퍼를 메모리에 할당할 때 사용된다.
파일의 위치는 사용자 환경 파일에 설정된 SDLFILE이라는 환경변수를 참조한다. Tmax 시스템의 설치가 완료되었을 때 Tmax 인스톨러는 디폴트 값을 TMAXDIR/sample/sdl/ tmax.sdl로 설정하므로 값을 그대로 사용하려면 sdlc 명령을 사용할 때 반드시 "–o" 옵션을 사용하여 이진 파일의 이름을 tmax.sdl로 지정해야 한다.
-
-
TMAXDIR/sample/fdl 디렉터리로 이동하여 fdlc 명령을 사용하여 필드키 이진 파일을 생성한다. fdlc 명령은 서버나 클라이언트에 관계없이 다음과 같이 실행한다.
$>fdlc –c –i demo.f
성공적으로 컴파일되면 다음과 같은 메시지가 출력된다.
FDLC is successfully done
5.2. 서버 프로그램 컴파일
TMAXDIR/sample/server 디렉터리로 이동하여 실제적으로 서비스를 제공하는 서버 프로그램을 다음과 같이 컴파일한다.
$>./compile sdl svr1
성공적으로 컴파일되면 다음과 같은 메시지가 출력된다.
cc -O -I/user/tmax -c svr1.c cc -O -I/user/tmax -L/user/tmax/lib -o svr1 svr1.o demo_sdl.o svr1_svctab.o -lsvr -lnsl –lsocket -lnodb mv svr1 /user/tmax/appbin
마지막 줄의 /user/tmax/appbin은 서비스 프로그램들이 위치하는 디렉터리로 Tmax 환경 파일에 사용자 임의로 설정할 수 있다.
자세한 내용은 Tmax Administraion Guide를 참고한다. |
5.3. Tmax 시스템 기동
서버 프로그램의 컴파일이 완료되면 tmboot 명령을 실행하여 Tmax 시스템을 기동한다.
$>tmboot
성공적으로 기동되면 다음과 같은 메시지가 출력된다.
TMBOOT for node(tmaxs2) is starting: TMBOOT: TMM is starting: Fri Jul 24 00:51:48 2015 (I) TMAX00127 General Infomation :event mechanism is epoll [EVT0003] TMBOOT: CLL is starting: Fri Jul 24 00:51:48 2015 TMBOOT: CLH is starting: Fri Jul 24 00:51:48 2015 (I) TMAX00127 General Infomation :event mechanism is epoll [EVT0003] (I) TMAX00593 Current Tmax Configuration: Number of client handler(MINCLH) = 1 Supported maximum user per node = 65073 Supported maximum user per handler = 65073 [CLH0141] TMBOOT: CAS(cas) is starting: Fri Jul 24 00:51:48 2015 (I) TMAX00127 General Infomation :event mechanism is epoll [EVT0003] TMBOOT: TLM(tlm) is starting: Fri Jul 24 00:51:49 2015 TMBOOT: SVR(svr1) is starting: Fri Jul 24 00:51:49 2015
<nodename>, Supported maximum user per node, Supported maximum user per handler는 시스템마다 다른 값을 가진다. |
다음과 같은 경우에는 tmboot 명령에 실패할 수 있으므로 주의한다. Tmax가 정상 기동되지 않거나 에러 메시지가 출력되면 다음의 경우을 확인하고 수정한 후 재기동해야 한다.
-
Tmax 시스템 환경 파일(xxxx.m)에서 지정된 TPORTNO, TPORTNO+1을 이미 시스템에서 사용 중인 경우
-
SHMKEY 값이 이미 시스템에서 사용 중인 경우
-
Tmax 시스템 환경 파일의 컴파일(cfl)이 제대로 수행되지 않은 경우
-
Tmax 시스템 환경 파일에 등록되어 있는 서비스 프로그램이 모두 컴파일되지 않은 경우
5.4. 클라이언트 프로그램 컴파일 및 실행
다음은 클라이언트 프로그램 컴파일 및 실행하는 과정에 대한 설명이다.
-
디렉터리로 이동하여 클라이언트 프로그램을 컴파일한다.
TMAXDIR/sample/client $>./compile c sdltoupper
성공적으로 컴파일이 완료되면 다음과 같은 메시지가 출력된다.
cc -O -I/user/tmax -c sdltoupper.c cc -O -I/user/tmax -L/user/tmax/lib -o sdltoupper sdltoupper.o -lcli -lnsl –lsocket
-
클라이언트 프로그램을 실행시킨다. tmax.env 파일은 클라이언트에서 tmax 시스템에 접속하기 위한 환경변수를 정의한 텍스트 파일로, 실행하기 전에 현재 디렉터리(sample/client)에 tmax.env 파일이 존재하는지 확인해야 한다.
$>./sdltoupper tmax
성공적으로 서비스가 수행되면 다음과 같은 메시지가 출력되고, 정상적으로 Tmax가 설치되었음을 확인할 수 있다.
send data: tmax recv data: TMAX
그 외에 인스톨러가 제공하는 예제에 대해서 간략하게 설명한다.
클라이언트 | 서버 프로그램 | 컴파일 | 비고 |
---|---|---|---|
sdltoupper.c sdltolower.c |
svr1.c |
compile sdl svr1 |
STRUCT 버퍼 |
toupper.c tolower.c |
svr2.c |
compile c svr2 |
STRING 버퍼 |
fdltoupper.c fdltolower.c |
svr3.c |
compile c svr3 |
FIELD 버퍼 |
cli_ucs.c |
svr_ucs |
compile ucs svr_ucs |
UCS 프로그램 |
toupper_conv.c |
svr_conv.c |
compile c svr_conv |
대화형 서비스 |
toupper_rq.c cli_rq.c |
svr_rq.c |
compile c svr_rq |
RQ 서비스 |
cli_sq.c |
svr_sq.c |
compile c svr_sq |
SQ 서비스 |
hmscall.c hmsrecv.c |
svr_hms.c |
compile c svr_hms |
HMS 프로그램 |
fdl_main.c |
fdltest.pc |
compile pc fdltest |
FIELD 버퍼 Oracle 연동 |
sdl_main.c |
sdltest.pc |
compile psdl sdltest |
STRUCT 버퍼 Oracle 연동 |
tbr_main.c |
tbrtest.tbc |
compile tbc tbrtest |
CARRAY 버퍼 Tibero 연동 |
mrm_main.c |
mrmtest.c mrmtest_ora.pc mrmtest_tbr.tbc |
compile mr mrmtest |
MRM (Oracle + Tibero 연동) |
mservice.c mtmc.c |
msvr.c |
compile mt msvr |
Multi threaded&contexted 프로그램 |
cli_tg.c |
TmaxGrid 프로그램 |
6. 제거
Full 인스톨러를 사용하여 Tmax를 제거하려면 다음 경로의 파일을 실행하여 Tmax 엔진과 Tmax 설치 디렉터리, 환경변수를 삭제한다.
$TMAXDIR/UninstallerData/Uninstall
Tmax가 설치된 이후에 생성된 파일은 삭제되지 않으므로 사용자가 직접 삭제해야 한다. |
다음은 설치된 Tmax를 제거하는 과정에 대한 설명이다.
-
Uninstall을 실행시킨다. 패치하려는 버전의 정보 등을 확인한다.
tmaxh4@QA:/EMC01/QA/tmax/UninstallerData>./Uninstall Preparing CONSOLE Mode Installation... ================================================================ Tmax60_Fix1 (created with InstallAnywhere by Macrovision) ---------------------------------------------------------------- ================================================================ Uninstall Tmax60_Fix1 -------------------------- About to uninstall... Tmax60_Fix1 This will remove features installed by InstallAnywhere. It will not remove files and folders created after the installation. PRESS <ENTER> TO CONTINUE:
-
<Enter>키를 누르면 실제 Uninstall이 수행된다.
=============================================================================== Uninstalling... --------------- ...* * ************************* ************************* ************************* ************************ ...* * ************************* ************************* ************************* ************************ ...* * ************************* ************************* ************************* ************************ ...* * ************************* ************************* ************************* ************************* =============================================================================== Uninstall Complete ------------------ Some items could not be removed.
-
Uninstall이 성공적으로 수행되었는지 확인한다.