(Xavier) SDK 5.12/20.04 Nitro ROS #2
2024. 1. 17.

NVIDIA 컨테이너 툴킷 설치

설치

  • apt (Advanced Package Tool): 주로 Debian 및 Ubuntu 같은 Debian 기반 리눅스 배포판에서 사용되는 패키지 관리자입니다. 사용의 편의성과 뛰어난 의존성 관리 기능을 제공합니다.
  • 패키지 관리자: 리눅스 시스템에서 소프트웨어 패키지의 설치, 업데이트, 구성 및 제거를 관리하는 도구입니다. 시스템 유지보수와 소프트웨어 관리를 간편하게 해 줍니다.
  • Zypper: 주로 openSUSE 및 SUSE Linux Enterprise 시스템에서 사용되는 패키지 관리자입니다. 강력한 의존성 해결 기능과 사용자 친화적인 인터페이스를 제공합니다.

Apt로 설치

  1. 프로덕션 저장소를 구성합니다.선택적으로 실험 패키지를 사용하도록 저장소를 구성합니다.
    * 라이브러리가 안정적인 버전이라고 판단되어 널리 배포될 준비가 되었을 때 사용되는 저장소
  2. $ sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
    

    sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

  3. $ curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
        sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
        sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
    

    f여기서 실패했다!!!(해결)

  4. 저장소에서 패키지 목록을 업데이트합니다.
  5. $ sudo apt-get update
    
  6. NVIDIA 컨테이너 툴킷 패키지를 설치합니다:
  7. $ sudo apt-get install -y nvidia-container-toolkit
    

 

해결방법

 

 

더보기

Yum 또는 Dnf로 설치 ( 패키지 관리자 ) 

  1. 프로덕션 저장소를 구성합니다.선택적으로 실험 패키지를 사용하도록 저장소를 구성합니다.
  2. $ sudo yum-config-manager --enable nvidia-container-toolkit-experimental
    
  3. $ curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
      sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
    
  4. NVIDIA 컨테이너 툴킷 패키지를 설치합니다:
$ sudo yum install -y nvidia-container-toolkit

해결 방법으로는 먼저 yum-utils 패키지가 설치되어 있는지 확인하고, 없다면 설치하는 것입니다. 이를 위해 sudo yum install yum-utils 명령을 사용할 수 있습니다. 만약 현재 사용 중인 배포판이 RPM 기반의 리눅스가 아니라면, 이 명령은 사용할 수 없을 것입니다.

안된다. 실패했다.

 

더보기

Zypper로 설치(이걸로 해봐야지)

  1. 프로덕션 저장소를 구성합니다.선택적으로 실험 패키지를 사용하도록 저장소를 구성합니다.
  2.  
  3. $ sudo zypper modifyrepo --enable nvidia-container-toolkit-experimental
    
  4. $ sudo zypper ar https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo
    
  5. NVIDIA 컨테이너 툴킷 패키지를 설치합니다:
  6. $ sudo zypper --gpg-auto-import-keys install -y nvidia-container-toolkit
    

    Debian, Ubuntu, Fedora, CentOS 같은 다른 리눅스 배포판을 사용하고 있다면 zypper는 기본적으로 설치되어 있지 않을 것입니다. 실패했다!!

구성

전제조건

  • 지원되는 컨테이너 엔진(Docker, Containerd, CRI-O, Podman)을 설치했습니다.
  • NVIDIA 컨테이너 툴킷을 설치했습니다.

도커 구성

  1. 다음 명령을 사용하여 컨테이너 런타임을 구성합니다 nvidia-ctk.이 명령은 호스트의 파일을 nvidia-ctk수정합니다 . /etc/docker/daemon.jsonDocker가 NVIDIA Container Runtime을 사용할 수 있도록 파일이 업데이트됩니다.
  2. $ sudo nvidia-ctk runtime configure --runtime=docker
    

    오류발생

     

  3. Docker 데몬을 다시 시작합니다.
  4. $ sudo systemctl restart docker
    

해결완료

더보기

sudo apt install docker-ce

왜 안되지

sudo apt install docker.io 이 명령어 써봄

 not a symbolic link라는데 제대로 된건가

이제 제대로 되네

 

 

 

 

 

 

 

 

컨테이너 구성

  1. 다음 명령을 사용하여 컨테이너 런타임을 구성합니다 nvidia-ctk.이 명령은 호스트의 파일을 nvidia-ctk수정합니다 . /etc/containerd/config.toml컨테이너가 NVIDIA 컨테이너 런타임을 사용할 수 있도록 파일이 업데이트됩니다.
  2. $ sudo nvidia-ctk runtime configure --runtime=containerd
  3. 컨테이너를 다시 시작합니다.
  4. $ sudo systemctl restart containerd
    

 

더보기

 

이상한 정보 발생

config가 비어있고 재시작해라고? 제대로 된건가

실패했네 아...

(오류 해결완료)

더보기

https://forums.developer.nvidia.com/t/change-default-docker-location/248878

 

Change default docker location

Hi everyone, I would like to request the help for changing default docker image storage location. My Jetson Xavier NX (developer kit) is refreshed by Nvidia SDK manager with Jetpack 5.1, and it was all good. Due to the storage limitation and 11.8GB require

forums.developer.nvidia.com

트릭을 수행하기 위해 소프트 링크를 만들 수 있습니다.

1. 도커 중지

 
sudo service docker stop

2. 도커 데이터 이동

$ mv /var/lib/docker /<new location>/docker

3. 소프트 링크 생성

$ ln -s /<new location>/docker /var/lib/docker

4. 도커를 다시 시작하세요

$ service docker start

 

 

 

 

 

이게 되네

 

 

CRI-O 구성

  1. 다음 명령을 사용하여 컨테이너 런타임을 구성합니다 nvidia-ctk.이 명령은 호스트의 파일을 nvidia-ctk수정합니다 . /etc/crio/crio.confCRI-O가 NVIDIA 컨테이너 런타임을 사용할 수 있도록 파일이 업데이트됩니다.
  2.  
  3. $ sudo nvidia-ctk runtime configure --runtime=crio
    
  4. CRI-O 데몬을 다시 시작합니다.
  5. $ sudo systemctl restart crio

Docker를 사용하여 샘플 워크로드 실행

툴킷을 설치 및 구성하고 NVIDIA GPU 드라이버를 설치한 후 샘플 워크로드를 실행하여 설치를 확인할 수 있습니다.

  • 샘플 CUDA 컨테이너를 실행합니다.
  • sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

'2023 > isaac sim' 카테고리의 다른 글

(Xavier) SDK 5.12/20.04 Nitro ROS #4  (0) 2024.01.18
(Xavier) SDK 5.12/20.04 Nitro ROS #3  (0) 2024.01.18
(window) humble #3  (0) 2024.01.17
(WSL)Ubuntu 20.04 humlbe #2  (1) 2024.01.16
DDS와 RTPS의 차이  (0) 2024.01.16