DGX 개발환경 : Python + Codex 등

DGX EdgeXpert 에 AI 관련 개발 환경을 만들어 보자

 

■ 설치할 목록

node.js : 22

python 3.12

Codex CLI

기타 유틸리티

※ DB 는 다른 서버의 자원을 활용하기로 한다.

※ 필자는 VSCode 와 SSH 를 이용하여 원격으로 사용한다.

 

가. 업데이트

$ sudo apt-get update -y

 

나. node.js

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

$ \. "$HOME/.nvm/nvm.sh"

$ nvm install 22

msi@spark:~$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16631  100 16631    0     0  71431      0 --:--:-- --:--:-- --:--:-- 71685
=> Downloading nvm from git to '/home/msi/.nvm'
=> '/home/msi/.nvm'에 복제합니다...
remote: Enumerating objects: 428, done.
remote: Counting objects: 100% (428/428), done.
remote: Compressing objects: 100% (354/354), done.
remote: Total 428 (delta 60), reused 194 (delta 46), pack-reused 0 (from 0)
오브젝트를 받는 중: 100% (428/428), 415.66 KiB | 9.90 MiB/s, 완료.
델타를 알아내는 중: 100% (60/60), 완료.
* (HEAD FETCH_HEAD 위치에서 분리됨)
  master
=> Compressing and cleaning up git repository

=> Appending nvm source string to /home/msi/.bashrc
=> Appending bash_completion source string to /home/msi/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
msi@spark:~$ \. "$HOME/.nvm/nvm.sh"
msi@spark:~$ nvm install 22
Downloading and installing node v22.22.3...
Downloading https://nodejs.org/dist/v22.22.3/node-v22.22.3-linux-arm64.tar.xz...
############################################################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v22.22.3 (npm v10.9.8)
Creating default alias: default -> 22 (-> v22.22.3)
msi@spark:~$ node --version
v22.22.3
msi@spark:~$ npm --version
10.9.8
msi@spark:~$

 

다. python

$ sudo apt-get install python3.12

$ python3.12 --version

msi@spark:~$ sudo apt-get install python3.12
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료
패키지 python3.12는 이미 최신 버전입니다 (3.12.3-1ubuntu0.13).
python3.12 패키지는 수동설치로 지정합니다.
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  libwoff1
'sudo apt autoremove'를 이용하여 제거하십시오.
0개 업그레이드, 0개 새로 설치, 0개 제거 및 4개 업그레이드 안 함.
msi@spark:~$ python3.12 --version
Python 3.12.3

 

라. codex CLI

npm 으로 설치 하므로 nodejs 를 우선적으로 설치 해야 함

msi@spark:~$ npm install -g @openai/codex

added 2 packages in 3s
npm notice
npm notice New major version of npm available! 10.9.8 -> 11.15.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.15.0
npm notice To update run: npm install -g npm@11.15.0
npm notice
msi@spark:~$ codex

 

마. 기타 유틸리티

1. nmon : Top 보다 보기 좋음

msi@spark:~$ sudo apt install nmon
msi@spark:~$ nmon

키보드로 C L D N 을 차례로 눌러서 Cpu / Cpu Long / Disk / Network 의 상태 모니터링

 

2. nvitop : nvidia-smi 를 사용하는것 보다 편하고 보기 좋음

msi@spark:~$ sudo apt install nvitop
msi@spark:~$ nvitop

종료는 Q 를 누른다

 

3. git : github / huggingface 모델 다운로드 용도

msi@spark:~$ sudo apt-get install git git-lfs

- git-lfs 는 대용량 파일을 처리해 준다.