J'utilise un chromebook Samsung (avec une puce ARM). ports.ubuntu.com est un miroir assez lent pour moi. Existe-t-il d'autres miroirs contenant les packages ARM?
https://wiki.ubuntu.com/UbuntuDevelopment/PackageArchive#Ports semble suggérer qu'il n'y en a pas ou du moins très peu - en existe-t-il?
Oui, il y en a. Bien que pas beaucoup.
J'ai écrit le script suivant qui analysera tous les miroirs de la liste de miroirs Launchpad et vérifiera s'ils contiennent le chemin /dists/$DIST/$REPO/binary-$Arch/
où
$DIST
est votre distribution Ubuntu, par exemple, precise
name__, saucy
name__, trusty
name__, ...$REPO
est le référentiel que vous recherchez, à savoir main
name__, restricted
name__, universe
ou multiverse
name__.$Arch
est l'architecture que vous recherchez, par exemple armhf
name__.À titre d'exemple, supposons que vous avez Ubuntu 13.10 (Saucy). Ensuite, vous voudrez peut-être rechercher le chemin /dists/saucy/main/binary-armhf/
dans les miroirs afin de découvrir les miroirs offrant le référentiel main
pour l'architecture armhf
name__. Si un miroir contient ce chemin, cela signifie qu'il devrait avoir les packages binaires pour l'architecture armhf
pour le référentiel main
de Saucy Salamander, et le script générera le code FOUND:
avec le miroir. URL.
Remarque: la présence de ce chemin sur un miroir n'est pas réellement une garantie, mais seulement une indication indiquant qu'il contient les packages requis. Cependant, si un miroir contient ce chemin mais pas les paquets, on peut au moins dire qu'il y a quelque chose de louche avec ce miroir.
Notez également que le script nécessite curl
name__. Installez-le si vous ne l'avez pas (Sudo apt-get install curl
).
Ainsi, en utilisant ce script, vous pouvez rapidement déterminer quels miroirs de la liste des miroirs du Launchpad offrent ce dont vous avez besoin. Notez que le script peut s'exécuter pendant un certain temps puisqu'il contacte chaque serveur de cette liste. Ces serveurs sont répartis dans le monde entier et certains d'entre eux peuvent être lents ou inaccessibles (par exemple, curl
peut être bloqué jusqu'à l'expiration de la tentative de connexion). On peut facilement améliorer la numérisation de certains miroirs uniquement (par exemple, dans votre pays uniquement), 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 le nom find_mirrors
, je l'ai rendu exécutable (chmod 755 find_mirrors
) et je l'ai exécuté comme suit:
$ ./find_mirrors armhf saucy main | grep FOUND
FOUND: http://ftp.tu-chemnitz.de/pub/linux/ubuntu-ports/
Cela a pris environ 10-15 minutes pour moi. J'ai été surpris de ne trouver qu'un seul miroir pour l'architecture armhf
de Saucy dans la liste des miroirs du Launchpad, à savoir celui situé sous TU Chemnitz (basé en Allemagne; il est peut-être encore 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 davantage à "Oui, il y a un miroir alternatif pour vous ... ";-)
La bonne nouvelle est que j'ai vérifié manuellement ce miroir et qu'il s'agit bien d'un miroir complet de ports.ubuntu.com , avec tous les paquets pour toutes les versions d'Ubuntu en vie. Alors, essayez-le!
Notez également que vous pouvez avoir plus de chance avec une autre version que Saucy.
Alternative (non recommandé)
Je mentionne cela dans un but de complétude, mais je ne le conseille pas. Au lieu de regarder sur le liste des miroirs du Launchpad , vous pouvez bien sûr aussi simplement rechercher des miroirs sur Google.
Une façon de le faire serait simplement de chercher sur Google la chaîne */dists/saucy/main/binary-armhf/*
(qui convient à la distribution, au référentiel et à l’architecture, comme auparavant). Cela trouvera de nombreux miroirs alternatifs, mais la plupart ne sont pas officiellement enregistrés sur Launchpad. Par conséquent, l'équipe de miroirs Ubuntu n'effectue aucun contrôle de la qualité; ils peuvent être lents, ne pas être mis à jour régulièrement ou ne contenir qu'un sous-ensemble des paquets requis par un système complet Ubuntu, voire certains paquets modifiés. À bien y penser, si quelqu'un souhaitait rendre son miroir accessible au public, il l'aurait probablement enregistré sur Launchpad, puis le script ci-dessus l'aurait trouvé. Donc, google pour les miroirs à vos risques et périls. Si tu me le demandes, ne le fais pas.