TT Lab
はじめる
学ぶ 学習パス コース

閉域網へのGPUドライバ搬入と導入

オフラインリポジトリで導入する

TT Labで続きを見る

目標

持ち込んだ.debのまとまりで、リポジトリを立てて、ドライバーをインストールし、1次持ち込みだけでは、ツールキットがインストールされないことを確認したあと、2次持ち込み分を追加して完成させます。実際のエアギャップ環境の手続きそのままです。

なぜ重要なのか

持ち込んだファイルを、dpkg -iで1つずつインストールすると、順序を人が合わせる必要があり、次にまた、その順序を覚えている必要があります。リポジトリにすれば、aptがグラフを解いてくれて、そのリポジトリは、繰り返し再利用されます。そして、インストールのシミュレーション(-s)が、持ち込みの成否への、最終的な答えです。ここでunmet dependenciesが出れば、その一覧が、そのまま2次持ち込みの一覧です。

前のラボ(gpu-deps)で作成した/root/gpu/poolを、続けて使います。

ステップ

  1. /root/gpu/poolに、Releaseファイルを追加してください。Origin、Label、Suite、Codename、Architectures、Componentsの6つのキーが、それぞれ1行ずつある必要があり、Architecturesにamd64が含まれている必要があります。
  2. /etc/apt/sources.list.d/gpu-airgap.listで、このリポジトリを登録して、インデックスを更新してください。そして、apt-cache policy nvidia-driver-550の出力を、/root/gpu/policy.txtに保存してください。
  3. nvidia-driver-550のインストールをシミュレーションして、出力を/root/gpu/sim-driver.txtに保存してください。Instで始まる行が、11個ある必要があります。
  4. nvidia-container-toolkitのインストールをシミュレーションして、失敗することを確認し、出力(標準エラー出力を含む)を/root/gpu/sim-toolkit-fail.txtに保存してください。ファイルに、libnvidia-container1が言及されている必要があります。
  5. /opt/fixtures/gpu-airgap/src2/のパッケージをビルドして、/root/gpu/pool/に追加し、インデックスをもう一度作成して、インデックスを更新してください。Package:項目が15個になる必要があります。
  6. nvidia-driver-550とnvidia-container-toolkitを、実際にインストールしてください。
  7. dpkg -lで、nvidiaまたはlibnvidiaで始まるパッケージの状態を確認して、/root/gpu/installed.txtに保存してください。すべての行が、iiの状態である必要があります。
  8. /root/gpu/install-report.txtを、次の4行で作成してください。 DRIVER_VERSION=<nvidia-driver-550 의 설치된 버전> / TOOLKIT_VERSION=<nvidia-container-toolkit 의 설치된 버전> / INSTALLED=<이름이 nvidia 또는 libnvidia 로 시작하는 설치된 패키지 수> / SECOND_INTAKE=libnvidia-container1(プレースホルダーは、順に、nvidia-driver-550のインストールされたバージョン、nvidia-container-toolkitのインストールされたバージョン、名前がnvidiaまたはlibnvidiaで始まる、インストールされたパッケージの数です)

参考

持ち込み分でリポジトリを構成する

/root/gpu/poolに、Releaseファイルを追加してください。Origin、Label、Suite、Codename、Architectures、Componentsの6つのキーが、それぞれ1行ずつある必要があり、Architecturesにamd64が含まれている必要があります。

前のラボで作成したpoolを、そのまま使います。Releaseファイルも、一緒に作成してください。

リポジトリの登録と更新

/etc/apt/sources.list.d/gpu-airgap.listで、このリポジトリを登録して、インデックスを更新してください。そして、apt-cache policy nvidia-driver-550の出力を、/root/gpu/policy.txtに保存してください。

flatリポジトリの形式です。登録後、インデックスを更新して初めて、パッケージが見えます。

ドライバーのインストールのシミュレーション

nvidia-driver-550のインストールをシミュレーションして、出力を/root/gpu/sim-driver.txtに保存してください。Instで始まる行が、11個ある必要があります。

-sオプションは、何も変えず、計画だけを出力します。Instで始まる行を、数えてみてください。

ツールキットのインストールがふさがれることを確認する

nvidia-container-toolkitのインストールをシミュレーションして、失敗することを確認し、出力(標準エラー出力を含む)を/root/gpu/sim-toolkit-fail.txtに保存してください。ファイルに、libnvidia-container1が言及されている必要があります。

同じシミュレーションを、ツールキットで実行すると、失敗します。エラーの出力を、そのまま保存してください。

2次持ち込み分を追加する

/opt/fixtures/gpu-airgap/src2/のパッケージをビルドして、/root/gpu/pool/に追加し、インデックスをもう一度作成して、インデックスを更新してください。Package:項目が15個になる必要があります。

src2ディレクトリに、不足分があります。ビルドして、poolに入れて、インデックスをもう一度作成してください。

実際にインストールする

nvidia-driver-550とnvidia-container-toolkitを、実際にインストールしてください。

ドライバーとツールキットを、一度にインストールできます。インストール後に、状態を確認してください。

インストール状態を検証する

dpkg -lで、nvidiaまたはlibnvidiaで始まるパッケージの状態を確認して、/root/gpu/installed.txtに保存してください。すべての行が、iiの状態である必要があります。

dpkg -lの状態表示が、すべてiiである必要があります。そうでないものがあれば、インストールが終わっていません。

インストールレポート

/root/gpu/install-report.txtを、次の4行で作成してください。 DRIVER_VERSION=<nvidia-driver-550 의 설치된 버전> / TOOLKIT_VERSION=<nvidia-container-toolkit 의 설치된 버전> / INSTALLED=<이름이 nvidia 또는 libnvidia 로 시작하는 설치된 패키지 수> / SECOND_INTAKE=libnvidia-container1(プレースホルダーは、順に、nvidia-driver-550のインストールされたバージョン、nvidia-container-toolkitのインストールされたバージョン、名前がnvidiaまたはlibnvidiaで始まる、インストールされたパッケージの数です)

インストールされたパッケージの数とバージョンを集めてください。値は、実際の照会結果である必要があります。