Existe-t-il des référentiels alternatifs à ports.ubuntu.com pour ARM?

Réponses:

23

Oui il y en a.Mais pas beaucoup.

J'ai écrit le script suivant qui analysera tous les miroirs de la liste des miroirs Launchpad , et vérifier s'ils contiennent le chemin /dists/$DIST/$REPO/binary-$ARCH/

  • $DISTest votre distribution Ubuntu, par exemple precise, saucy, trusty, ...
  • $REPOest le dépôt que vous cherchez, par exemple, main, restricted, universeou multiverse.
  • $ARCHest l'architecture que vous recherchez, par exemple armhf.

Par exemple, je suppose que vous avez Ubuntu 13.10 (Saucy). Ensuite, vous voudrez peut-être rechercher les miroirs pour le chemin /dists/saucy/main/binary-armhf/afin de découvrir les miroirs qui offrent le mainréférentiel pour l' armhfarchitecture. Si un miroir contient ce chemin, cela signifie qu'il doit avoir les packages binaires pour l' armhfarchitecture du mainréférentiel pour Saucy Salamander, et le script sortira FOUND:avec l'URL du miroir.

Attention: la présence de ce chemin sur un miroir n'est pas en fait une garantie, mais seulement une indication qu'il contient les packages requis; cependant, si un miroir contient ce chemin mais pas les packages, au moins nous pouvons dire qu'il y a quelque chose de louche avec ce miroir.

Notez également que le script nécessite curl. Installez-le si vous ne l'avez pas ( sudo apt-get install curl).

Ainsi, en utilisant ce script, vous pouvez rapidement découvrir quels miroirs de la liste des miroirs Launchpad offrent ce dont vous avez besoin. Notez que le script peut s'exécuter pendant un certain temps car il contacte chaque serveur de cette liste. Ces serveurs sont distribués dans le monde entier et certains d'entre eux peuvent être lents ou inaccessibles (tels que le curlblocage peut se produire jusqu'à l'expiration de la tentative de connexion). Il peut facilement être amélioré pour scanner uniquement certains miroirs (par exemple, uniquement dans votre pays), mais c'est un bon point de départ.

#!/bin/bash

# URL of the Launchpad mirror list
MIRROR_LIST=https://launchpad.net/ubuntu/+archivemirrors

# Set to the architecture you're looking for (e.g., amd64, i386, arm64, armhf, armel, powerpc, ...).
# See https://wiki.ubuntu.com/UbuntuDevelopment/PackageArchive#Architectures
ARCH=$1
# Set to the Ubuntu distribution you need (e.g., precise, saucy, trusty, ...)
# See https://wiki.ubuntu.com/DevelopmentCodeNames
DIST=$2
# Set to the repository you're looking for (main, restricted, universe, multiverse)
# See https://help.ubuntu.com/community/Repositories/Ubuntu
REPO=$3

# First, we retrieve the Launchpad mirror list, and massage it to obtain a newline-separated list of HTTP mirrors
for url in $(curl -s $MIRROR_LIST | grep -Po 'http://.*(?=">http</a>)'); do
  # If you like some output while the script is running (feel free to comment out the following line)
  echo "Processing $url..."
  # retrieve the header for the URL $url/dists/$DIST/$REPO/binary-$ARCH/; check if status code is of the form 2.. or 3..
  curl -s --head $url/dists/$DIST/$REPO/binary-$ARCH/ | head -n 1 | grep -q "HTTP/1.[01] [23].."
  # if successful, output the URL
  [ $? -eq "0" ] && echo "FOUND: $url"
done

J'ai enregistré le script sous find_mirrors, l' ai rendu exécutable ( chmod 755 find_mirrors) et l' ai exécuté comme suit:

$ ./find_mirrors armhf saucy main | grep FOUND
FOUND: http://ftp.tu-chemnitz.de/pub/linux/ubuntu-ports/

Cela m'a pris environ 10 à 15 minutes. J'ai été surpris de ne trouver qu'un seul miroir pour l' armhfarchitecture de Saucy dans la liste des miroirs Launchpad, à savoir celui de TU Chemnitz (qui est basé en Allemagne; il peut encore être plus rapide pour vous que ports.ubuntu.com qui semble être basé en Grande-Bretagne.) Il semblerait donc que la réponse à votre question ressemble plus à "Oui, il y a un miroir alternatif pour vous ..." ;-)

La bonne nouvelle est que j'ai vérifié manuellement ce miroir et c'est en effet un miroir complet de ports.ubuntu.com , avec tous les packages pour toutes les versions d'Ubuntu. Alors, essayez-le!

Notez également que vous aurez peut-être plus de chance avec une autre version que Saucy.

Alternative (non recommandée)

Je le mentionne à des fins d'exhaustivité, mais je ne le conseille pas. Au lieu de regarder dans la liste des miroirs Launchpad , vous pouvez bien sûr également simplement rechercher des miroirs sur Google.

Une façon de le faire serait simplement de rechercher la chaîne sur Google */dists/saucy/main/binary-armhf/*(adapter la distribution, le référentiel et l'architecture à vos besoins comme auparavant). Cela trouvera de nombreux miroirs alternatifs, mais la plupart ne sont pas officiellement enregistrés sur Launchpad. Il n'y a donc aucun contrôle de qualité par l'équipe miroir d'Ubuntu; ils peuvent être lents, pas régulièrement mis à jour, ou contenir uniquement un sous-ensemble des packages requis par un système Ubuntu complet, ou même certains packages modifiés. Quand on y pense, si quelqu'un voulait rendre son miroir accessible au public, il l'aurait probablement enregistré sur Launchpad, puis le script ci-dessus l'aurait trouvé. Alors google pour les miroirs à vos risques et périls. Si vous me demandez, ne le faites pas.

Malte Skoruppa
la source