Mon équipe utilise Docker (avec ubuntu:14.04
image de base) pour le développement local et nous nous sommes souvent à la reconstruction de certaines ou de l'ensemble de nos images. Mais nous recevons souvent des échecs de téléchargement des paquets avec apt-get install
, même immédiatement après l'exécution de l' apt-get -y update
. Par exemple, aujourd'hui, je vois
Err http://archive.ubuntu.com/ubuntu/ trusty-security/main libxml2 amd64 2.9.1+dfsg1-3ubuntu4.7
404 Not Found [IP: 91.189.88.161 80]
Err http://archive.ubuntu.com/ubuntu/ trusty-security/main libxml2-dev amd64 2.9.1+dfsg1-3ubuntu4.7
404 Not Found [IP: 91.189.88.161 80]
Fetched 84.7 MB in 1min 6s (1281 kB/s)
Unable to correct missing packages.
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/libx/libxml2/libxml2_2.9.1+dfsg1-3ubuntu4.7_amd64.deb 404 Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/libx/libxml2/libxml2-dev_2.9.1+dfsg1-3ubuntu4.7_amd64.deb 404 Not Found [IP: 91.189.88.161 80]
E: Aborting install.
Apparemment, la version particulière d'un paquet particulier a été supprimé à partir de l'archive et l'a remplacé avec un peu différemment nommé version du patch. Par exemple, l'erreur ci-dessus est à la recherche d' libxml2_2.9.1+dfsg1-3ubuntu4.7_amd64.deb
, mais la version sur le serveur est - libxml2_2.9.1+dfsg1-3ubuntu4.8_amd64.deb
.
Souvent, cela est résoluble par la suppression de l'image de base (docker rmi ubuntu:14.04
) et de la reconstruction; la nouvellement téléchargé ubuntu image a le bon numéro de patch et trouve le bon fichier d'archive. Mais même cela ne fonctionne pas toujours, probablement en raison d'un retard entre une nouvelle mise à jour mineur pour Ubuntu dépendance db et le déploiement de la nouvelle - ubuntu:14.04
image sur Docker Hub.
Nous avons essayé d'utiliser apt-get
drapeaux --fix-missing
et --fix-broken
, et ceux-ci ne sont pas toujours du travail.
D'autres idées?
apt-get install échoue et ne Trouve Pas d'erreur parce que le package retiré de dépôt est un problème similaire, mais l'on a accepté la réponse est inacceptable parce qu'il n'est pas possible d'être automatisé. Le quotidien de nos processus de développement, y compris l'automatique à construire et à déployer, tout est scripté et l'utilisation de Docker et c'est pas pratique pour pirater autour à l'intérieur d'un Dockerfile à chaque fois une archive particulière vient à manquer (puis supprimer le hack après quelques heures ou quelques jours).
En réponse à @prateek05, voici l' /etc/apt/sources.list
officiel, ubuntu:14.04
docker image:
root@72daa1942714:/# cat /etc/apt/sources.list
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted
## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://archive.ubuntu.com/ubuntu/ trusty universe
deb http://archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates universe
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted
# deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted
deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted
deb http://archive.ubuntu.com/ubuntu/ trusty-security universe
deb-src http://archive.ubuntu.com/ubuntu/ trusty-security universe
# deb http://archive.ubuntu.com/ubuntu/ trusty-security multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ trusty-security multiverse