Reconstruire TensorFlow 2.8.4 sur Ubuntu 22.04 pour corriger les vulnérabilités

DEV - 02/06
Table des matières : Contexte Mon process Résumé de la méthode & des résultats TLDR : DeepCell +...

Table des matières:

  1. Contexte
  2. Mon processus
  3. Résumé de la méthode et des résultats

TLDR :

DeepCell + tensorflow-2.8.4DeepCell + tensorflow-2.8.4-reduxDelta
Taille compressée3,2 Go4,0 Go+0,8 Go (+25%)
VULN553125-428 (-77%)
Critique110 (0%)
Haut8029-51 (-63%)
Moyen34953-296 (-85%)
Faible12342-81 (-66%)

Poursuivez votre lecture pour savoir comment, pourquoi, pourquoi et enfin.

Contexte et motivation

Auparavant, nous sommes passés du conteneur DeepLearning au conteneur TensorFlow de base.

Malheureusement, le conteneur présente 553 vulnérabilités de sécurité selon le scanner de Google :

Les 553 numéros se décomposent ainsi :

  • 1 critique [vuln]
  • 80 de haut
  • 349 moyen
  • 123 bas

Le conteneur officiel 2.8.4 a été publié en novembre 2022. Cela représente au moins un an et demi de mises à jour du système d'exploitation. J'ai recherché la source 2.8.4 et découvert qu'elle utilisait Ubuntu 20.04 comme système d'exploitation de base. Il est à noter que nous utilisons l'architecture x86_64 selon la couche d'image du conteneur :ENV NVARCH=x86_64.

La chose évidente à faire est donc de passer à la version la plus récente d'Ubuntu, 24.04, n'est-ce pas ? Et bien non, c'est une petite fête : NVIDIA n'a pas de packages CUDA pour 24.04 dans son référentiel. Nous voilà donc au 22.04 – toujours deux ans plus récents, et surtout avec les packages CUDA.

Mon processus, tel que je l'ai fait

Je ne le ferais plus de cette façon, mais c'est comme ça que je l'ai fait.

Mise à jour de l'image de base Ubuntu + dépendances.

Tout d’abord, j’ai forké le référentiel tensorflow. J'ai fait un clone maître uniquement, j'avais donc besoin de récupérer les informations de balise après le clonage. Ensuite, j'ai pu réinitialiser la version 2.8.4.

# Ajouter une branche en amont. git distant ajouter en amont https://github.com/tensorflow/tensorflow.git git fetch en amont # Réinitialiser la branche principale à 2.8.4 git checkout master git reset --hard v2.8.4 git push --force # Nettoyer la copie locale ( tout après 2...
[Courte citation de 8% de l'article original]
Loading...