J'essaie d'utiliser un référentiel de fichiers pour mettre à jour linux / ubuntu sur une machine non connectée. L'architecture de cette machine (uname -a):
x86_64 GNU/Linux
Les résultats de dpkg --printarchitecture
sont:
amd64
Il s'agit d'une machine Trusty Tahr amd64, et elle le dit spécifiquement, par exemple, dans le fichier aptitude sources.list. En outre, la section "À propos de cet ordinateur" dans ubuntu indique spécifiquement que la machine est 64 bits. J'ai donc installé les packages amd64 sur la machine. Cependant, lorsque j'essaie de le faire apt-get update
, j'obtiens des erreurs telles que:
W: Failed to fetch file:/var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu/dists/trusty/main/binary-i386/Packages File not found
En d'autres termes, même s'il s'agit d'une machine 64 bits, apt essaie inexplicablement de lire les packages i386. Pourquoi fait-il cela et comment puis-je lui faire utiliser les packages 64 bits?
Notez qu'il n'y a rien dans sources.list qui spécifie i386.
La seule ligne non commentée dans le fichier sources.list est:
deb file:///var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
la source
dpkg
est configuré par défaut pour accepter amd64 et son frère 32 bits. Je dis "peut-être" car je n'ai trouvé aucune documentation officielle avec ces informations. Juste mes 2 cents.Réponses:
Sur les
amd64
installations Ubuntu ,i386
est activé comme architecture supplémentaire par défaut.apt
& co. attendez-vous à ce que les référentiels fournissent toutes les architectures configurées, ce qui provoque l'erreur que vous voyez.Puisque votre miroir n'a que des
amd64
packages, vous devez le marquer comme tel:la source
dpkg --print-foreign-architectures
montrera toute architecture pour laquelle la prise en charge multiarchitecture est activée; J'ai eu le même problème et (probablement sans surprise) la commande ci-dessus a signalé:i386
[arch=amd64]
à chaquedeb
ligne n'est pas une bonne solution. Cela explique comment le faire: superuser.com/a/714392/376867i386
pour gérer un référentiel gênant est plutôt exagéré. Notez que si plusieurs référentiels provoquent le problème décrit dans la question, cela indique un problème avec le champ Architectures des référentiels , pas avec la configuration locale.