Esistono repository alternativi su doors.ubuntu.com per ARM?


Risposte:


23

Si ci sono. Anche se non molti.

Ho scritto il seguente script che analizzerà tutti i mirror dall'elenco dei mirror di Launchpad e verificherà se contengono il percorso in /dists/$DIST/$REPO/binary-$ARCH/cui

  • $DISTè la vostra distribuzione Ubuntu, per esempio, precise, saucy, trusty, ...
  • $REPOè il repository che stai cercando, cioè, main, restricted, universeo multiverse.
  • $ARCHè l'architettura che stai cercando, ad es armhf.

Per esempio, supponiamo che tu abbia Ubuntu 13.10 (Saucy). Quindi potresti voler cercare i mirror per il percorso in /dists/saucy/main/binary-armhf/modo da scoprire i mirror che offrono il mainrepository per l' armhfarchitettura. Se un mirror contiene questo percorso, significa che dovrebbe avere i pacchetti binari per l' armhfarchitettura per il mainrepository per Saucy Salamander e lo script verrà emesso FOUND:insieme all'URL del mirror.

Nota: la presenza di questo percorso su un mirror non è in realtà una garanzia, ma solo un'indicazione che contiene i pacchetti richiesti; tuttavia se un mirror contiene quel percorso ma non i pacchetti, almeno possiamo dire che c'è qualcosa di sospetto in quel mirror.

Si noti inoltre che lo script richiede curl. Installarlo se non si dispone di esso ( sudo apt-get install curl).

Pertanto, usando questo script, puoi scoprire rapidamente quali mirror dall'elenco dei mirror di Launchpad offrono ciò di cui hai bisogno. Si noti che lo script può essere eseguito per un po 'di tempo poiché contatta tutti i server di tale elenco. Questi server sono distribuiti in tutto il mondo e alcuni di essi potrebbero essere lenti o irraggiungibili (ad esempio curlpotrebbero arrestarsi fino al timeout del tentativo di connessione). Può essere facilmente migliorato per scansionare solo determinati mirror (ad esempio, solo nel tuo paese), ma è un buon punto di partenza.

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

Ho salvato lo script come find_mirrors, l'ho reso eseguibile ( chmod 755 find_mirrors) ed eseguito come segue:

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

Ci sono voluti circa 10-15 minuti per me. Sono stato sorpreso di trovare un solo mirror per l' armhfarchitettura per Saucy nell'elenco dei mirror di Launchpad, vale a dire quello di TU Chemnitz (che ha sede in Germania; potrebbe essere ancora più veloce per te di ports.ubuntu.com che sembra essere basato in Gran Bretagna.) Quindi sembrerebbe che la risposta alla tua domanda sia più simile a "Sì, esiste uno specchio alternativo per te ..." ;-)

La buona notizia è che ho controllato manualmente questo mirror ed è davvero un mirror completo di doors.ubuntu.com , con tutti i pacchetti per tutte le versioni vive di Ubuntu. Quindi, provalo!

Nota anche che potresti avere più fortuna con un'altra versione di Saucy.

Alternativa (non consigliata)

Lo dico a scopo di completezza, ma non lo consiglio. Invece di guardare nell'elenco dei mirror di Launchpad , puoi ovviamente anche semplicemente cercare Google per i mirror.

Un modo per farlo sarebbe semplicemente google per la stringa */dists/saucy/main/binary-armhf/*(adatta la distribuzione, il repository e l'architettura alle tue esigenze come prima). Questo troverà molti mirror alternativi, ma molti non sono ufficialmente registrati su Launchpad. Quindi non ci sono controlli di qualità da parte del team mirror di Ubuntu; possono essere lenti, non aggiornati periodicamente o contenere solo un sottoinsieme dei pacchetti richiesti da un sistema Ubuntu completo o anche alcuni pacchetti modificati. Se ci pensate, se qualcuno volesse rendere il proprio mirror pubblicamente disponibile, probabilmente lo avrebbero registrato su Launchpad, e quindi lo script sopra lo avrebbe trovato. Quindi google per i mirror a proprio rischio. Se me lo chiedi, non farlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.