[우분투 환경설정] 우분투 22.04 성장 기록 [1/n]

우병주·2024년 7월 27일
0
post-thumbnail

0. About

  • 존경하는 팀장님 덕분에 얻은 새 워크스테이션을 세팅하는 과정을 기록 (나중에 뭐 했었는지 까먹을거 같아서)하고자 한다.
  • 아쉽게도 찐 기본세팅 (한국어, zsh, git)은 까먹고 기록을 못했지만 얘네는 쉬울뿐더러 기록 할 이유도 없음
  • 나중에 우분투 뭔가 작살나면 기록을 보면서 차근차근 해결해보자..
  • 단순히 뭘했는지 기록 뿐만 아니라 중요한 명령어들도 같이 익히고 적어둘 예정임 ㅇㅇ

1. Current Status

  • GPU: NVIDIA RTX 4090 24GB x 1
  • OS: ubuntu 22.04
    • 한솔티에스 업체에서 깔아주셨다 ㅎㅎ!
  • Architecture: x86_64
    • cuda 설치시 확인 필요한데, uname -m 명령어로 확인가능
  • default bash: ZSH
    • oh-my-zsh로 이쁘게 꾸미는 것이 컴퓨터 사면 가장 먼저 할 일이다 ㅇㅇ
    • 중요) 새로운거 패키지를 깔면 환경변수를 bashrc가 아닌 zshrc에 등록하기
vim ~/.zshrc
# insert 모드에서 젤 아래로 내려가서 아래 문구 추가
# export PATH=추가할경로:$PATH
# 예시: export PATH=~/anaconda3/bin:~/anaconda3/condabin:$PATH
# :wq 한 다음에 아래처럼 source로 바로 적용해주면 환경변수에 추가 되는거임
source ~/.zshrc
  • python version: 3.9.13
    • ubuntu에 내장된 default python
    • "python3 --version"으로 확인 가능
  • installed important package
    • vim: 난 vi 도저히 못쓰겠음. vim이 확실히 편하다 ㅎㅎ
    • pip
    • curl
    • git
    • docker
    • GNOME: 화면 분할 위해서
  • shortcut
    • 내 키보드가 이상해서.. 새롭게 몇 개 정의함
    • Ctrl + 방향키: 창 화면 분할
    • Ctrl + enter: 한/영 키;;;;
  • 이제 시작해 봅시다 !!

2. conda install

  • 해야하는게... 콘다도 깔고,, 파이토치도깔고,, 쿠다도 깔고,, 도커? 다양한 버전 관리? 뭐부터 할지 GPT님께 물어봤더니 conda부터 하시란다.
  • 파이토치나 쿠다 전부 conda안에서 깔아서 프로젝트별 다른 가상환경 쓰는게 좋긴 할듯 ㅇㅇ?
  • 난 ubuntu GPU driver 건드는거에 PTSD가 있기 때문에 가상환경 이외에는 cuda를 안쓰기로 했다 ㅎㅎ!
  • GPT가 알려준건 미니콘다인데 깔았다가 갑자기 내가 왜 mini? 하고 화가나서 아래 블로그대로 오리지널을 깔았따.
  • 참고한 블로그 포스팅: https://jongsky.tistory.com/21
  • 저 포스팅대로 5단계까지 마치니 정말 버전 출력이 된다 !
    • 환경변수는 ./zshrc에 했음

3. conda commands

  • 담 단계 넘어가기 전에 conda의 기능이 뭔지 헷갈려서 좀 공부해두고 넘어가자

3.1. conda 환경 관리

  • 환경 이란, 패키지들 깔아두는 단위로 서로 다른 환경끼리 서로 간섭을 안줘서 환경별로 다양한 패키지 버전을 쓸 수 있음
# 콘다에 내가 관리하고 있는 환경들 리스트 보기
conda env list
# 현재 환경에서 깔려있는 패키지들 확인하기
conda list
# 콘다 환경 만들기 (python 버전 명시할수도 안할수도)
conda create --name myenv
conda create --name myenv python=3.8
# 콘다 환경 삭제하기
conda remove --name myenv --all
# 환경 활성화
conda activate myenv
# 환경 비활성화
conda deactivate

(에러발생)
conda activate가 안되는데, 현재 script에서 불가능하다는 에러가 나왔다!
분명 환경변수처리하고 source ~/.zshrc도 했는데 왜 그럴까...?
알아보니 원래의 bash도 source를 해줘야한다.

# vim으로 export PATH=~/anaconda3/bin:~/anaconda3/condabin:$PATH 한 뒤
source ~/.bashrc && source ~/.zshrc
  • 내 기억상 특정 환경으로 안들어가면 (base) 가 왼쪽끝에 붙어있어야하는데 왜 안붙지?
    이거 conda init 하면 되는거였다. ㅇㅇ

(궁금증)
내 우분투는 파이썬 버전이 3.9인데 없는 버전으로 conda create를 하면 어떻게 될까?
3.8로 지정했더니 깔꺼냐고 묻더니 새로 깔아서 만들더라. 와! 편리하다!

3.2. 패키지 관리 명령어

# 패키지 설치
conda install package_name
conda install package_name=2.1
# 패키지 삭제
conda remove package_name

3.3. 환경 복제 및 공유

# 환경 복제
conda create --name newenv --clone myenv
# 환경 내보내기: .yml 파일로 저장
conda env export > environment.yml
# 환경 불러오기: .yml 파일로부터 생성
conda env create -f environment.yml

4. cuda install

  • 참고 블로그: https://aeong-dev.tistory.com/1
    • 이유: ubuntu 22.04 + RTX4090
  • 내 상황은 (=컴터 수령), nvidia-smi의 결과는 나오는 상태이며, nvcc -V시에 결과가 나오지 않는 상태임
    • nvidia-smi에서 CUDA Version 12.2는 권장 사양이 출력되는 것임
    • 마침 연구소 워크스테이션도 12.2라서 권장사양대로 설치 예정
    • 535는 sudo ubuntu-drivers devices의 recommended와 일치하는 것 확인했음
  • 내 상황에 맞게 위 블로그에서 2번 부터 시작했음. cuda 링크에서 아래 그림과 같이 선택하면, 실행시켜야 할 코드를 다음과 같이 주어줌
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run
sudo sh cuda_12.2.0_535.54.03_linux.run

(에러 발생)
run파일 진행에서 install까지 눌렀는데 잠시 뒤 실패했다고 나옴. 로그를 확인해보니 실패코드가 256
구글링 했는데 동일한 문제를 겪은 블로그에서 드라이브는 체크를 해제하고 설치하라고 해서 그렇게 했더니 (nvidia-smi가 되는 것으로 보아 아마 드라이브는 이미 있는것이 문제인것으로 추정) 성공을 함.

  • 성공시 다음과 같이 나옴. 워닝이 있길레.. 캡쳐해놓고 남겨둬야지 히히
  • 그 다음 경로를 등록했다. 마찬가지로, bashrc 대신에 zshrc에 등록한 다음에, source는 둘다 함.
  • 경로등록까지 하면, 드디어 nvcc -V가 성공한다!

5. cuDNN install

  • 이건 4를 진행한 블로그와 다르게 진행하기로 했음. 저 링크로 들어가니 variation이 너무 많자나,,
  • 그냥 말만 따라서 NVIDIA 회원가입하고 공식 cuDNN에서 내 옵션을 고름
  • 명령어 완료 후에 GPT의 도움을 통해 설치 확인 및 경로 설정을 했다.
  1. 다음 명령어 위치에 cudnn의 헤더 파일과 라이브러리 파일이 올바르게 위치했는지 확인합니다. -> 해보니까 있더라 !!
ls /usr/include | grep cudnn
ls /usr/lib/x86_64-linux-gnu | grep libcudnn
  1. CUDA 및 cuDNN 라이브러리가 시스템에서 올바르게 인식되도록 환경 변수를 설정합니다. -> 하고 source도 돌림!
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export CUDNN_PATH=/usr/include

https://multidimlib.tistory.com/18
얘가

0개의 댓글

관련 채용 정보