지멘스 UG NX 2506 상위버전 설치 후 하위버전 추가설치 될까? 라이센스 정리

NX를 여러 버전 함께 쓰고 싶을 때 가장 많이 묻는 게 상위버전이 먼저 설치되어 있어도 하위버전을 추가로 설치할 수 있느냐는 거다. 결론부터 말하면 안되는 줄 알았는데 이번에 테스트해보니 가능하다.

다만 설치 경로를 분리하고 환경변수를 각 버전에 맞춰 정확히 잡아줘야 하고, 특히 라이선스 서버와의 연결 방식만 이해하고 있으면 큰 문제 없이 공존시킬 수 있다. 현업에서 플러그인 테스트나 고객 호환성 확인 때문에 2504와 2406, 그리고 NX 12 같은 구버전을 동시에 돌려야 할 때가 많은데, 그때마다 겪는 시행착오를 줄이기 위해 핵심만 정리해본다.

NX 상위 하위버전 병행 설치의 핵심 원칙

UG NX 설치경로

NX는 버전별로 독립 디렉터리에 설치하면 물리적 파일 충돌은 일어나지 않는다. 흔히 C:\Siemens\NX2504, C:\Siemens\NX2406, C:\Siemens\NX12처럼 버전별 폴더를 나눠 깔면 된다.

문제는 Windows의 PATH와 NX 실행 시 참조되는 환경변수다. 시스템이 마지막으로 설치된 버전의 경로를 우선시하면서 의도와 다른 버전이 실행되는 일이 생긴다.

이를 피하려면 각 버전 폴더의 ugraf.exe로 바로가기를 따로 만들거나, 해당 버전의 NX Command Prompt를 통해 환경을 먼저 로드한 뒤 실행하는 식으로 습관을 들이면 안정적이다. 난 실제로 배치 파일로 버전별 실행 진입점을 나눠 쓰는데, 이 방식이 가장 깔끔했다는 생각이다.

설치 순서와 제거 순서에서 생기는 착시

상위버전(예: NX 2504)을 먼저 설치한 상태에서 하위버전(예: NX 2406, NX 12, NX 11, NX 10)을 추가로 설치하는 건 가능하지만 권장하진 않는다.

오토캐드 삭제 레지스트리 라이센스 제거방법 10

그 이유는 레지스트리PATH가 뒤섞여 의도치 않게 최신 버전 바이너리를 참조하는 경우가 종종 있기 때문이다.

그래서 어쩔 수 없이 그 순서로 진행했다면 실행은 반드시 해당 버전 폴더의 ugraf.exe에서 바로가기를 만들어 진입하는 방식으로 통제하면 대부분의 혼선을 막을 수 있으며 제거할 때는 반대로 최신 버전부터 지우면 잔여 환경설정이 덜 꼬인다.

여러 프로젝트를 오가야 하는 환경이면 가상머신이나 사용자 계정을 분리해 쓰는 선택지도 현실적으로 합리적이다.

라이선스 서버 한 번에 이해하기

NX 라이센스 서버 설치 라이센스 파일 확인

NX는 FlexNet 기반의 Siemens PLM License Server(벤더 데몬: ugslmd)를 사용한다. 클라이언트는 보통 포트@호스트 형태의 문자열로 서버를 찾는다.

NX LMTOOLS 실행 라이센스 파일변경 및 위치 확인

전통적으로 28000 포트를 많이 쓰지만, 실제 포트 번호는 라이선스 파일에서 지정된 값을 따르면 된다. 요지는 “SLM_LICENSE_SERVER=포트@서버이름” 형태의 환경변수만 정확히 잡혀 있으면, 2504건 2406이건, 심지어 NX 12 같은 구버전이건 동일 서버를 향해 정상적으로 풀을 잡아온다는 점이다.

다만 아주 오래된 환경에선 UGS_LICENSE_SERVER라는 구식 변수명을 썼던 적이 있어서, 구버전 호환 테스트를 한다면 둘 다 점검하는 편이 안전하다.

버전별·OS별로 자주 헷갈리는 경로와 파일명

아래 표는 현업에서 가장 많이 묻는 “라이선스 파일 이름이 뭐였지?”, “파일은 어디에 놔야 해?”, “환경변수는 뭐로 잡지?”를 한 번에 보기 좋게 정리한 것이다.

배포 정책이나 관리자가 커스터마이즈한 환경에서는 경로가 달라질 수 있지만, 기본 설치라면 이 범주를 벗어나지 않는다.

항목Windows 서버(기본)Linux 서버(기본)비고
라이선스 서비스Siemens PLM License Server (FlexNet)Siemens PLM License Server (FlexNet)벤더 데몬 이름은 ugslmd
라이선스 파일 기본명splm8.lic 또는 license.licsplm8.lic 또는 license.lic파일명은 관리 정책에 따라 달리 쓸 수 있음
라이선스 파일 위치C:\Program Files\Siemens\PLMLicenseServer\/usr/Siemens/PLMLicenseServer/lmgrd, ugslmd와 같은 폴더에 두는 구성이 일반적
로그 파일(선택)C:\Program Files\Siemens\PLMLicenseServer\logs\/usr/Siemens/PLMLicenseServer/logs/벤더 로그 명칭 예: ugslmd.log
기본 포트 예시2800028000실제 포트는 라이선스 파일 SERVER 줄에서 정의
클라이언트 설정(신규 버전)환경변수 SLM_LICENSE_SERVER=28000@서버이름동일NX 1872 이후 계열 전반에 공통
클라이언트 설정(구버전 호환)환경변수 UGS_LICENSE_SERVER=28000@서버이름동일NX 12 이전 환경에서 간혹 필요
라이선스 데몬ugslmdugslmd라이선스 파일 DAEMON 줄로 지정
다양한 NX 버전이 하나의 라이선스 서버를 공유하는 방식

FlexNet은 서버 측에서 피처 단위(예: nx_design 등)와 버전 호환 정책을 정의한다.

라이선스 서버가 최신이면 하위 NX 클라이언트 대부분을 수용하는 편이다.

반대로 너무 구식 라이선스 서버를 유지하면서 최신 NX를 붙이려 하면 피처 불일치나 암호화 키 방식 차이로 체크아웃에 실패할 수 있다.

이 때문에 사내 표준은 “서버는 신형, 클라이언트는 혼용”을 유지하는 전략이 안정적이었다. 운영 중 피처 부족이 의심되면 ugslmd 로그에서 오류 문자열을 먼저 확인하고, 필요 시 공급사의 피처 업데이트 파일을 받아 라이선스 파일을 교체·갱신하는 절차가 정석이다.

체감상 가장 흔한 이슈는 포트 충돌과 방화벽 차단인데, 서버 방화벽에서 lmgrd 포트와 벤더 데몬 포트를 함께 허용하는지 꼭 확인하는 습관이 많은 시간을 아껴준다.

병행 설치 시 실행 환경 고정 요령

상위·하위버전이 뒤섞인 PC에서 “내가 클릭한 게 진짜 그 버전이 맞나?”라는 불안을 없애려면 실행 진입점을 버전 폴더 안으로 끌어오면 된다.

예를 들어 C:\Siemens\NX2406\UGII\ugraf.exe로 바로가기를 만들고, 바로가기의 시작 위치를 해당 버전 UGII 폴더로 지정해두면, 시스템 PATH가 어떻든 항상 그 버전으로 뜬다.

여기에 SLM_LICENSE_SERVER 같은 라이선스 변수만 시스템 전역 또는 사용자 단위로 정확히 맞춰두면 실행 시 라이선스 미인식 이슈도 줄어든다. NX Open, API, Journal을 자주 돌린다면 각 버전 UGII 경로를 명시적으로 참조하도록 스크립트 상단에 환경을 고정시키는 습관이 특히 유효했다.

여러 플러그인 DLL을 교차 테스트할 땐 버전별 플러그인 폴더도 따로 두어 충돌을 피하는 편이 낫다.

설치가 가능하지만 비권장인 조합과 현실적인 대안

Siemens NX 2009 다운로드 및 설치 라이센스 11

2504 위에 2406, 그리고 그 아래에 NX 12 같은 식으로 내려가며 깔아도 굴러가긴 하지만, 장기적으로 유지보수성을 생각하면 추천하긴 어렵다.

프로젝트 데드라인이 촉박한데 예기치 않은 PATH 충돌, 레지스트리 꼬임, API 참조 오류가 터지면 손해가 크다. 내 경험상 가장 스트레스가 적은 조합은 “가상머신에 구버전, 호스트엔 최신버전”이다.

디스크 스냅샷으로 환경 복구도 쉬워서 구버전 고객 데이터를 열어볼 일이 많은 기술지원 포지션일수록 이 전략의 체감 이득이 컸다.

클린 업그레이드가 필요한 순간을 구분하는 기준

하위버전 실행 자체는 되더라도, 회사 표준 템플릿, 재질 라이브러리, Check-Mate 룰셋, 팀센터 통합 같은 주변 요소가 최신만 가정하고 만들어져 있으면 구버전에서는 미세하게 다른 결과가 나온다.

표면 분석이나 솔버 UI가 바뀐 시점(NX 2406 전후)처럼 워크플로 차이가 큰 변화도 있으니, 팀 차원의 품질 일관성을 중시한다면 특정 마일스톤 이후에는 구버전을 단계적으로 퇴역시키는 결정을 빠르게 내려주는 게 건강하다.

반대로 레거시 데이터 이관이 남아 있다면 구버전 유지 개연성이 크므로, 그 기간만큼은 병행 설치 전략을 고수하는 게 현실적이다.

라이선스 파일 줄마다 의미를 알아두면 문제 해결이 빨라진다

라이선스 파일의 SERVER 줄에는 서버 호스트네임과 호스트ID, 그리고 lmgrd 포트가 들어간다.

DAEMON 줄은 ugslmd 벤더 데몬과 그 바이너리 경로가 이어지고, 필요하면 전용 포트를 바인딩할 수도 있다.

FEATURE 줄에는 피처 이름, 만료일, 수량, 옵션이 적힌다. 현장에서 장애가 나면 대부분 SERVER/DAEMON 포트 충돌, 또는 FEATURE 불일치다.

NX 라이센스 오류 License Error. Cannot connect to License Server System.

로그에 “cannot connect to license server system” 같은 문구가 보이면 네트워크·방화벽부터 의심하고, “Invalid hostid”라면 물리 NIC 교체나 가상화 환경 변경으로 호스트ID가 바뀐 상황을 점검하는 게 빠른 루트였다.

이런 날것의 감각을 한 번 익혀두면 주말 야간에도 침착하게 복구할 수 있다.

버전별 환경변수와 실행 팁 한눈에 정리

호환유무권장 설정추가 팁
2504와 2406 병행버전별 폴더 분리 설치, 각 폴더 ugraf.exe로 바로가기 생성, SLM_LICENSE_SERVER 설정NX Command Prompt로 해당 버전 환경 선로딩 후 실행하면 안정적
2504 + NX 12 병행SLM_LICENSE_SERVER 기본, 필요 시 UGS_LICENSE_SERVER도 병행 설정FlexNet 서버는 가급적 최신 유지
API/저널 병행 테스트스크립트 시작부에 UGII 경로를 명시 지정버전별 플러그인 출력 폴더를 분리
제거·정리최신 버전부터 언인스톨, 남은 환경변수 수동 점검레지스트리/Path 잔여 항목 확인

즉 NX 하위호한 설치에 대해서는 단순하게 이해하면 된다.

먼저 설치 경로를 분리하고, 실행 진입점을 버전 폴더로 고정하고, 라이선스 서버 변수를 정확히 잡아두면 상위버전이 먼저 설치되어 있어도 하위버전은 충분히 공존한다.

그리고 이 모든 걸 관통하는 안정성의 열쇠는 라이선스 서버를 신뢰할 수 있게 운용하는 일이다. 한 번 정석대로 세팅해두면 다음 프로젝트부터는 “버전이 달라서 못 연다” 같은 허무한 이유로 시간을 잃는 일이 확 줄어든다.

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다