Rocker: Le conteneur rstudio get 'testing' n'est pas valide lorsque vous essayez apt-get install

Créé le 18 févr. 2016  ·  10Commentaires  ·  Source: rocker-org/rocker

J'ai une étrange valeur "testing" lorsque j'essaie d'exécuter apt-get install dans mon conteneur rstudio

root<strong i="6">@af6beae748de</strong>:~# apt-get install vum
Reading package lists... Done
E: The value 'testing' is invalid for APT::Default-Release as such a release is not available in the sources

Commentaire le plus utile

Vous devez d'abord faire 'apt-get update , puis cela fonctionnera.

Tous les 10 commentaires

Vous devez d'abord faire 'apt-get update , puis cela fonctionnera.

Je peux confirmer apt-get update résout ce problème particulier. Il semble que l'image de base soit un peu dépassée.

Les archives apt sont mises à jour _plusieurs fois par jour_ alors que nos conteneurs peuvent avoir des jours, des semaines ou des mois. En bref, vous devez _toujours_ exécuter apt-get update .

E : La valeur '"testing"' n'est pas valide pour APT::Default-Release car une telle version n'est pas disponible dans les sources

root@kalilinux :/home/user# sudo apt-get install aptitude
Lecture des listes de paquets... Terminé
E : La valeur '"testing"' n'est pas valide pour APT::Default-Release car une telle version n'est pas disponible dans les sources

C'est temporaire car le conteneur actuel utilise unstable par défaut pour nous obtenir R 3.5.0 qui n'est _pas_ encore dans les tests Debian ou instable car il nécessite une transition complète, les détails à ce sujet sont ici (et à partir d'aujourd'hui, cela n'a pas commencé).

Nous prévoyons de revenir aux tests une fois que l'archive sera revenue à la normale.

Vous devriez pouvoir installer des packages à partir d'unstable si nécessaire - faites simplement apt-get install mypackage .

Cela ne fonctionne pas pour moi. J'utilise une Debian 9 amd64 fraîchement installée. J'ai essayé à la fois avec et sans la "mise à jour apt-get" (est-ce toujours nécessaire, 6 mois plus tard?) Et j'obtiens deux mauvais résultats différents.

$ uname -a
Linux debian 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux

$ de plus Dockerfile
DE r- base:dernier
RUN apt-get update
EXÉCUTER apt-get install -y libcurl4-openssl-dev

$ docker build .
Envoi du contexte de construction au démon Docker 122,4 Mo
Etape 1/3 : FROM r-base:latest
---> bd9edc1a85ed
Etape 2/3 : RUN apt-get update
---> Utilisation du cache
---> 73220b297298
Etape 3/3 : RUN apt-get install -y libcurl4-openssl-dev
---> En cours d'exécution dans d49ebc027df3
Lecture des listes de paquets...
Construction de l'arborescence des dépendances...
Lecture des informations d'état...
Certains packages n'ont pas pu être installés. Cela peut signifier que vous avez
demandé une situation impossible ou si vous utilisez le unstable
distribution que certains packages requis n'ont pas encore été créés
ou a été déplacé hors d'Incoming.
Les informations suivantes peuvent aider à résoudre la situation :

Les packages suivants ont des dépendances non satisfaites :
libcurl4-openssl-dev : Dépend de : libcurl4 (= 7.61.0-1) mais 7.62.0-1 est à installer
E : Impossible de corriger les problèmes, vous avez retenu des colis cassés.
La commande '/bin/sh -c apt-get install -y libcurl4-openssl-dev' a renvoyé un code non nul : 100

Si je supprime la mise à jour apt-get :

$ docker build .
Envoi du contexte de construction au démon Docker 122,4 Mo
Etape 1/2 : FROM r-base:latest
---> bd9edc1a85ed
Etape 2/2 : RUN apt-get install -y libcurl4-openssl-dev
---> En cours d'exécution 1b3322635554
Lecture des listes de paquets...
E : La valeur 'testing' n'est pas valide pour APT::Default-Release car une telle version n'est pas disponible dans les sources
La commande '/bin/sh -c apt-get install -y libcurl4-openssl-dev' a renvoyé un code non nul : 100

Est-ce que je fais quelque chose de mal? Merci d'avance.

@gbisaga Le conteneur r-base est construit sur Debian testing avec apt-pinning à debian:unstable . Comme leur nom l'indique, ces versions changent au fur et à mesure, donc selon l'endroit où se trouvent les choses dans la version, vous devrez toujours basculer entre obtenir des choses à partir d'unstable (en utilisant, par exemple, apt-get install -t unstable -y libcurl4-openssl-dev etc.). Si vous n'aimez pas la vie à la pointe de la technologie comme celle-ci, vous pouvez utiliser la pile rocker/r-ver ; qui s'appuie uniquement sur les versions stables ( debian:stretch pour le moment) sans aucun épinglage apt. Cela signifie que la commande apt-get fonctionnera toujours de la même manière, mais cela signifie également que vous devez installer des packages R supplémentaires à partir de la source, car Debian:stretch n'est pas livré avec la dernière version de R. Pour cette raison, nous emballons la pile r-ver avec un tas de packages R communs prédéfinis (par exemple rocker/tidyverse ). J'espère que cela aide et désolé pour la confusion.

Merci beaucoup @cboettig ! Je n'ai pas compris que r-base était à la pointe de la technologie. (Bien que, honnêtement, je me sois demandé s'il fallait utiliser Debian testing comme base ITS.) Merci pour le pointeur !

Oui exactement. Compromis des deux côtés. L'avantage de l'épinglage apt testing & unstable signifie que vous pouvez apt-get -y install r-cran-* packages ; sur les images r-ver il vous suffit de install.packages() et de gérer manuellement les dépendances du système. Trouver la meilleure façon de documenter ces compromis..

testing vous permet d'obtenir les compilateurs actuels et d'autres outils. Je le veux, et c'est comme ça que je l'ai mis en place.

Si vous voulez quelque chose d'ancien mais de stable, choisissez-le. Beaucoup de conteneurs pour Debian stable ou Ubuntu LTS. Je les utilise aussi parfois. Ils ont tous R également, mais généralement celui qui _était en cours lorsque cette version était en cours_. Mélanger "le tout nouveau R" avec des "anciennes distributions" est possible mais beaucoup plus de travail pour lequel nous n'avons pas la bande passante.

Enfin, il y a un besoin de documentation mais dans Debian nous n'avons que quelques centaines r-cran-* alors que CRAN en a 13k.

Cette page vous a été utile?
0 / 5 - 0 notes