아래에서는 외부망 접근이 안되는 RHEL 7.3 환경에서 nvidia-docker 를 rpm 패키지로 설치하기 위한 방법을 기록합니다. (ppc64le 환경 기준)
1. 우선 Local repository 를 생성합니다.
usb를 mount 하는 방법 등은 많이 나와있으므로, 아래에서는 별도로 필요한 rpm packages 들을 로컬의 특정 위치에 (/root/imsi/rpms) 모두 위치시켜두고, 이를 repository로 지정합니다.
우선 createrepo를 설치해야 합니다. 의존성이 있는 두개의 패키지를 먼저 설치합니다.
$ rpm -Uvh deltarpm-3.6-3.el7.ppc64le.rpm
$ rpm -Uvh python-deltarpm-3.6-3.el7.ppc64le.rpm
$ rpm -Uvh createrepo-0.9.9-26.el7.noarch.rpm
설치할 rpm 패키지들을 /root/imsi/rpms 에 위치시킵니다.
$ createrepo /root/imsi/rpms
그러면 /root/imsi/rpms/repodata/repomd.xml 이 생성됩니다.
임의의 Local Yum repository를 등록합니다.
$ vi /etc/yum.repos.d/rpms.repo
[rpms-repo]
name = user-rpms-repository
baseurl = file:///root/imsi/rpms
enabled = 1
gpgcheck = 0
:wq
$ yum repolist
새로 등록한 rpms-repo 가 에러없이 인식되는지 확인합니다.
2. Local repository가 준비되었으면, nvidia-docker 를 설치합니다.
저는 미리 nvidia-docker 의 rpm 및 관련 패키지를 local repository에 받아두었습니다. (ppc64le)
$ rpm -Uvh nvidia-docker-1.0.1-1.ppc64le.rpm
$ which nvidia-docker
/bin/nvidia-docker
$ which nvidia-docker-plugin
/bin/nvidia-docker-plugin
/etc/rc.local을 열어서 맨 마지막줄에 아래 내용을 넣어줍니다.
$ vi /etc/rc.local
/bin/nvidia-docker-plugin &
:wq
<참조1>-----------------------------------------------------------------------------------
이미 패키지가 설치된 시스템에서 rpm 패키지를 다운로드 받고자 하는 경우, yumdownloader를 이용할 수 있습니다. python-ketchen, python-chardet, yum-utils 를 설치하고 나면 아래의 명령어로 rpm을 다운받을 수 있습니다.
$ yumdownloader 다운받을패키지이름
<참조2>-----------------------------------------------------------------------------------
아래의 명령어를 사용하면 nvidia-docker 를 설치하는데 필요한 관련 라이브러리 정보가 나옵니다. 확인된 라이브러리는 rpm package 사이트(https://rpmfind.net/linux/rpm2html/)에서 검색해보면, 필요한 패키지 이름을 확인할 수 있습니다. 혹은 $ yum deplist 패키지이름 명령어로 쉽게 확인 가능합니다.
[root@sys-93454 rpms]# rpm -qRp nvidia-docker-1.0.1-1.ppc64le.rpm
[root@sys-93454 rpms]# yum deplist createrepo
------------------------------------------------------------------------------------------------