Существуют ли альтернативные хранилища для ports.ubuntu.com для ARM?

Я использую хромбук Samsung (с чипом ARM). ports.ubuntu.com - довольно медленное зеркало для меня. Существуют ли другие зеркала с пакетами ARM?

https://wiki.ubuntu.com/UbuntuDevelopment/PackageArchive#Ports , похоже, указывают на то, что их нет, или, по крайней мере, очень мало - есть ли?

14
задан 3 April 2015 в 08:06

2 ответа

Да, существуют. Хотя не многие.

Я записал следующий сценарий, который проанализирует все зеркала из списка зеркала Панели запуска и проверит, содержат ли они путь /dists/$DIST/$REPO/binary-$ARCH/ где

  • $DIST Ваше распределение Ubuntu, например, precise, saucy, trusty, ...
  • $REPO репозиторий, который Вы ищете, т.е. main, restricted, universe или multiverse.
  • $ARCH архитектура, которую Вы ищете, например, armhf.

Ради примера позволяют мне предположить, что у Вас есть (Дерзкая) Ubuntu 13.10. Затем можно хотеть искать зеркала путь /dists/saucy/main/binary-armhf/ чтобы обнаружить зеркала, которые предлагают main репозиторий для armhf архитектура. Если зеркало содержит этот путь, это означает, что это должно иметь двоичные пакеты для armhf архитектура для main репозиторий для Дерзкой Саламандры и сценарий произведут FOUND: наряду с URL зеркала.

Пожалуйста, примите во внимание: присутствие этого пути на зеркале не является на самом деле гарантией, но только признаком, что это содержит необходимые пакеты; однако, если зеркало содержит тот путь, но не пакеты, по крайней мере, мы можем сказать, что существует что-то подозрительное с тем зеркалом.

Также обратите внимание, что сценарий требует curl. Установите его, если у Вас нет его (sudo apt-get install curl).

Таким образом, с помощью этого сценария, можно быстро узнать, какие зеркала от Панели запуска зеркально отражают предложение списка, в чем Вы нуждаетесь. Обратите внимание, что сценарий может работать в течение достаточно долгого времени, так как он связывается с каждым сервером в том списке. Эти серверы распределяются во всем мире, и некоторые из них могут быть медленными или недостижимыми (таким образом, что curl может остановиться, пока попытка подключения не испытывает таймаут). Это может легко быть улучшено для сканирования только определенных зеркал (например, только в стране), но это - хорошая начальная точка.

#!/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

Я сохранил сценарий как find_mirrors, сделанный этим исполняемый файл (chmod 755 find_mirrors), и выполняемый это следующим образом:

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

Потребовалось приблизительно 10-15 минут для меня. Я был удивлен найти только одно зеркало для armhf архитектура для Дерзкого в списке зеркала Панели запуска, а именно, тот в Хемнице TU (это базируется в Германии; это может все еще быть быстрее для Вас, чем ports.ubuntu.com, который, кажется, базируется в Великобритании.), Таким образом, это казалось бы, ответ на Ваш вопрос больше похож "да, Существует одно альтернативное зеркало для Вас..." ;-)

Хорошие новости - то, что я действительно вручную проверял это зеркало, и это - действительно полное зеркало ports.ubuntu.com со всеми пакетами для всех живых релизов Ubuntu. Так, действительно попробуйте его!

Обратите внимание также, что у Вас может быть больше удачи с другим выпуском, чем Дерзкий.

Альтернатива (не рекомендуемый)

Я упоминаю это в целях полноты, но я не советую этому. Вместо того, чтобы считать Панель запуска зеркально отражают список, можно, конечно, также просто погуглить для зеркал.

Один способ сделать это должно было бы просто погуглить для строки */dists/saucy/main/binary-armhf/* (удовлетворите распределению, репозиторию и архитектуре к Вашим потребностям как прежде). Это найдет много альтернативных зеркал, но большинство официально не регистрируется на Панели запуска. Следовательно нет никаких проверок качества командой зеркала Ubuntu; они могут быть медленными, не регулярно обновляемый, или содержать только подмножество пакетов, требуемых полной системой Ubuntu или даже некоторыми измененными пакетами. Когда Вы думаете об этом, если бы кто-то хотел сделать их зеркало общедоступным, они, вероятно, зарегистрировали бы его на Панели запуска, и затем вышеупомянутый сценарий найдет его. Так Google для зеркал на Ваш собственный риск. Если Вы спрашиваете меня, не делайте этого.

23
ответ дан 3 April 2015 в 08:06

Используя сценарий из другого ответа, чтобы найти зеркала для использования с Ubuntu Touch (xenial armhf), вот мои выводы:

phablet@ubuntu-phablet:~$ ./find_mirrors.sh armhf xenial main | grep FOUND
FOUND: http://mirror.kumi.systems/ubuntu-ports/
FOUND: http://mirror.exid.us/ubuntu-archive/
FOUND: http://mirror.telcotech.com.kh/Linux/ubuntu-releases/
FOUND: http://mirrors.layeronline.com/ubuntu/
FOUND: http://mirror.rcg.sfu.ca/mirror/ubuntu/
FOUND: http://linux.xjtuns.cn/ubuntu/
FOUND: http://klid.dk/ftp/ubuntu/
FOUND: http://ftp.tu-chemnitz.de/pub/linux/ubuntu-ports/
FOUND: http://www.ubuntu.org.tw/
FOUND: http://kebo.vlsm.org/ubuntu/
FOUND: http://mirror.unej.ac.id/ubuntu/
FOUND: http://ir.ubuntu.sindad.cloud/ubuntu/
FOUND: http://twitchdarkbot.com/ubuntu-ports/
FOUND: http://ftp.daum.net/ubuntu/
FOUND: http://ntc.net.np/ubuntu/
FOUND: http://mirror.chmuri.net/ubuntu/
FOUND: http://cesium.di.uminho.pt/pub/ubuntu-archive/
FOUND: http://ubuntu.mirror.ac.za/ubuntu-archive/
FOUND: http://dafi.inf.um.es/ubuntu/
FOUND: http://mirrors.c0urier.net/linux/ubuntu/
FOUND: http://ubuntu.vargonen.com/ubuntu/
FOUND: http://mirrors.coreix.net/ubuntu/
FOUND: http://mirrors.us.kernel.org/ubuntu/
FOUND: http://lug.mtu.edu/ubuntu/
FOUND: http://mirrors.avalonhosting.services/ubuntu-archive/
FOUND: http://mirror.vcu.edu/pub/gnu+linux/ubuntu/

phablet@ubuntu-phablet:~$ ./find_mirrors.sh armhf xenial universe | grep FOUND
FOUND: http://mirror.kumi.systems/ubuntu-ports/
FOUND: http://mirror.exid.us/ubuntu-archive/
FOUND: http://mirror.telcotech.com.kh/Linux/ubuntu-releases/
FOUND: http://mirrors.layeronline.com/ubuntu/
FOUND: http://mirror.rcg.sfu.ca/mirror/ubuntu/
FOUND: http://klid.dk/ftp/ubuntu/
FOUND: http://ftp.tu-chemnitz.de/pub/linux/ubuntu-ports/
FOUND: http://www.ubuntu.org.tw/
FOUND: http://kebo.vlsm.org/ubuntu/
FOUND: http://mirror.unej.ac.id/ubuntu/
FOUND: http://ir.ubuntu.sindad.cloud/ubuntu/
FOUND: http://twitchdarkbot.com/ubuntu-ports/
FOUND: http://ftp.daum.net/ubuntu/
FOUND: http://ntc.net.np/ubuntu/
FOUND: http://mirror.chmuri.net/ubuntu/
FOUND: http://cesium.di.uminho.pt/pub/ubuntu-archive/
FOUND: http://ubuntu.mirror.ac.za/ubuntu-archive/
FOUND: http://dafi.inf.um.es/ubuntu/
FOUND: http://mirrors.c0urier.net/linux/ubuntu/
FOUND: http://mirrors.coreix.net/ubuntu/
FOUND: http://mirrors.us.kernel.org/ubuntu/
FOUND: http://lug.mtu.edu/ubuntu/
FOUND: http://mirrors.avalonhosting.services/ubuntu-archive/
FOUND: http://mirror.vcu.edu/pub/gnu+linux/ubuntu/

phablet@ubuntu-phablet:~$ ./find_mirrors.sh armhf xenial multiverse | grep FOUND
FOUND: http://mirror.kumi.systems/ubuntu-ports/
FOUND: http://mirror.exid.us/ubuntu-archive/
FOUND: http://mirror.telcotech.com.kh/Linux/ubuntu-releases/
FOUND: http://mirrors.layeronline.com/ubuntu/
FOUND: http://mirror.rcg.sfu.ca/mirror/ubuntu/
FOUND: http://klid.dk/ftp/ubuntu/
FOUND: http://ftp.tu-chemnitz.de/pub/linux/ubuntu-ports/
FOUND: http://kebo.vlsm.org/ubuntu/
FOUND: http://mirror.unej.ac.id/ubuntu/
FOUND: http://ir.ubuntu.sindad.cloud/ubuntu/
FOUND: http://twitchdarkbot.com/ubuntu-ports/
FOUND: http://ftp.daum.net/ubuntu/
FOUND: http://ntc.net.np/ubuntu/
FOUND: http://mirror.chmuri.net/ubuntu/
FOUND: http://cesium.di.uminho.pt/pub/ubuntu-archive/
FOUND: http://ubuntu.mirror.ac.za/ubuntu-archive/
FOUND: http://dafi.inf.um.es/ubuntu/
FOUND: http://mirrors.c0urier.net/linux/ubuntu/
FOUND: http://mirrors.coreix.net/ubuntu/
FOUND: http://mirrors.us.kernel.org/ubuntu/
FOUND: http://lug.mtu.edu/ubuntu/
FOUND: http://mirrors.avalonhosting.services/ubuntu-archive/
FOUND: http://mirror.vcu.edu/pub/gnu+linux/ubuntu/
2
ответ дан 25 July 2020 в 14:46

Другие вопросы по тегам:

Похожие вопросы: