ARM의 ports.ubuntu.com에 대체 리포지토리가 있습니까?


답변:


23

네, 있습니다. 많지는 않지만.

런치 패드 미러 목록 에서 모든 미러를 파싱 하고 경로 /dists/$DIST/$REPO/binary-$ARCH/가 포함되어 있는지 확인 하는 다음 스크립트를 작성했습니다 .

  • $DIST당신의 우분투 유통, 예를 들어, precise, saucy, trusty, ...
  • $REPO당신이 즉, 찾고있는 저장소입니다 main, restricted, universe또는 multiverse.
  • $ARCH찾고있는 아키텍처입니다 (예 :) armhf.

예를 들어 Ubuntu 13.10 (Saucy)이 있다고 가정하겠습니다. 그런 다음 경로에 대한 미러를 검색 하여 아키텍처 /dists/saucy/main/binary-armhf/main저장소를 제공하는 미러를 발견 할 수 있습니다 armhf. 미러에이 경로가 포함되어 있으면 Saucy Salamander 의 저장소 아키텍처 용 바이너리 패키지 있어야 하며 스크립트는 미러의 URL과 함께 출력 됩니다.armhfmainFOUND:

참고 : 미러에서이 경로의 존재는 실제로 보장되는 것이 아니라 필요한 패키지가 포함되어 있다는 표시 일뿐입니다. 그러나 미러에 해당 경로가 포함되어 있지만 패키지는 포함되어 있지 않으면 적어도 해당 미러에 비린 뭔가 있다고 말할 수 있습니다.

또한 스크립트에는이 필요합니다 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 분이 걸렸습니다. I는 단 하나의 거울을 찾을 수 놀랐습니다 armhf런치 패드 미러 목록에서 즉 하나의 건방진 아키텍처 TU 켐 니츠을 (이 독일에 본사를두고있다, 그것은 여전히 빠르게보다 수 있습니다 ports.ubuntu.com 기반을 보인다 따라서 귀하의 질문에 대한 답변은 "예, 대체 거울 이 하나 있습니다 ...";-)

좋은 소식은이 미러를 수동으로 확인했으며 실제로 모든 살아있는 우분투 릴리스에 대한 모든 패키지 가 포함 된 ports.ubuntu.com 의 완전한 미러입니다 . 그래서 시도하십시오!

또한 Saucy 이외의 다른 릴리스에서는 더 많은 행운이있을 수 있습니다.

대안 (권장되지 않음)

나는 완전 함을 위해 이것을 언급하지만 나는 이것을 조언하지 않는다. 런치 패드 미러 목록 을 보는 대신 Google에서 간단히 미러 를 검색 할 수도 있습니다.

이를 수행하는 한 가지 방법은 단순히 문자열을 Google에 검색하는 것입니다 */dists/saucy/main/binary-armhf/*(전과 같이 필요에 따라 배포, 저장소 및 아키텍처에 적합). 많은 대체 미러가 있지만 대부분 Launchpad에 공식적으로 등록되어 있지 않습니다. 따라서 우분투 미러 팀은 품질 검사를하지 않습니다. 그것들은 느리거나 정기적으로 업데이트되지 않거나 전체 우분투 시스템에 필요한 패키지의 일부 또는 수정 된 패키지를 포함 할 수 있습니다. 당신이 그것에 대해 생각할 때, 누군가가 그들의 거울을 공개적으로 사용하기 원한다면, 아마도 Launchpad에 거울을 등록했을 것입니다. 그러면 위의 스크립트가 그것을 찾았을 것입니다. 따라서 Google은 귀하의 책임하에 거울을 찾습니다. 당신이 나에게 묻는다면,하지 마십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.