Tak, są. Chociaż nie wielu.
Napisałem następujący skrypt, który przeanalizuje wszystkie kopie lustrzane z listy kopii Launchpad i sprawdzi, czy zawierają ścieżkę, w /dists/$DIST/$REPO/binary-$ARCH/
której
$DIST
jest twoja dystrybucja Ubuntu, na przykład precise
, saucy
, trusty
, ...
$REPO
to repozytorium szukasz, to znaczy main
, restricted
, universe
lub multiverse
.
$ARCH
to architektura, której szukasz, np armhf
.
Dla przykładu załóżmy, że masz Ubuntu 13.10 (Saucy). Następnie możesz przeszukać lustra w poszukiwaniu ścieżki /dists/saucy/main/binary-armhf/
, aby znaleźć lustra, które oferują main
repozytorium dla armhf
architektury. Jeśli kopia lustrzana zawiera tę ścieżkę, oznacza to, że powinna mieć pakiety binarne dla armhf
architektury main
repozytorium dla Saucy Salamander, a skrypt zostanie wygenerowany FOUND:
wraz z adresem URL kopii lustrzanej.
Uwaga: obecność tej ścieżki w lustrze nie jest tak naprawdę gwarancją, ale jedynie wskazówką, że zawiera wymagane pakiety; jednak jeśli lustro zawiera tę ścieżkę, ale nie zawiera pakietów, przynajmniej możemy powiedzieć, że z tym lustrem jest coś podejrzanego.
Zauważ też, że skrypt wymaga curl
. Zainstaluj, jeśli go nie masz ( sudo apt-get install curl
).
Dzięki temu skryptowi możesz szybko dowiedzieć się, które kopie lustrzane z listy kopii Launchpad oferują to, czego potrzebujesz. Pamiętaj, że skrypt może działać przez dłuższy czas, ponieważ kontaktuje się z każdym serwerem na tej liście. Serwery te są rozmieszczone na całym świecie, a niektóre z nich mogą być wolne lub nieosiągalne (takie, które curl
mogą się zawiesić do czasu przekroczenia limitu czasu próby połączenia). Można łatwo poprawić skanowanie tylko niektórych kopii lustrzanych (np. Tylko w twoim kraju), ale jest to dobry punkt wyjścia.
#!/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
Zapisałem skrypt jako find_mirrors
, uczyniłem go wykonywalnym ( chmod 755 find_mirrors
) i wykonałem go w następujący sposób:
$ ./find_mirrors armhf saucy main | grep FOUND
FOUND: http://ftp.tu-chemnitz.de/pub/linux/ubuntu-ports/
Zajęło mi to około 10-15 minut. Zaskoczyło mnie, że znalazłem tylko jedno lustro dla armhf
architektury Saucy na liście kopii Launchpad, a mianowicie to w TU Chemnitz (to ma siedzibę w Niemczech; może być dla Ciebie szybsze niż ports.ubuntu.com, który wydaje się być oparty w Wielkiej Brytanii.) Wydaje się, że odpowiedź na twoje pytanie brzmi bardziej: „Tak, jest dla ciebie jedno alternatywne lustro…” ;-)
Dobrą wiadomością jest to, że ręcznie sprawdziłem to dublowanie i rzeczywiście jest to kompletne dublowanie ports.ubuntu.com , ze wszystkimi pakietami dla wszystkich żywych wersji Ubuntu. Więc spróbuj!
Zauważ też, że możesz mieć więcej szczęścia z innym wydaniem niż Saucy.
Alternatywne (niezalecane)
Wspominam o tym w celu kompletności, ale nie radzę tego. Zamiast patrzeć na listę kopii lustrzanych Launchpad , możesz oczywiście po prostu znaleźć go w Google.
Jednym ze sposobów na zrobienie tego byłoby po prostu wyszukanie ciągu */dists/saucy/main/binary-armhf/*
(wyszukiwanie dystrybucji, repozytorium i architektura zgodnie z własnymi potrzebami, tak jak poprzednio). Znajdziesz wiele alternatywnych kopii lustrzanych, ale większość z nich nie jest oficjalnie zarejestrowana na Launchpadzie. Stąd nie ma kontroli jakości przez zespół dublujący Ubuntu; mogą być powolne, nie regularnie aktualizowane lub zawierać tylko część pakietów wymaganych przez pełny system Ubuntu, a nawet niektóre zmodyfikowane pakiety. Kiedy pomyślisz o tym, jeśli ktoś chciałby publicznie udostępnić swoje lustro, prawdopodobnie zarejestrowałby je na Launchpadzie, a wtedy powyższy skrypt by je znalazł. Więc google dla mirrorów na własne ryzyko. Jeśli mnie zapytasz, nie rób tego.