ใช่แล้วล่ะ. แม้ว่าจะไม่มาก
ฉันเขียนสคริปต์ต่อไปนี้ซึ่งจะแยกมิเรอร์ทั้งหมดจากรายการมิเรอร์ Launchpadและตรวจสอบว่ามีพา ธ/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
เก็บของ Saucy Salamander และสคริปต์จะแสดงผลFOUND:
พร้อมกับ URL ของมิเรอร์
โปรดทราบ: การมีอยู่ของพา ธ นี้บนมิเรอร์ไม่ได้เป็นการรับประกัน แต่เป็นการบ่งชี้ว่ามันมีแพ็คเกจที่จำเป็นเท่านั้น อย่างไรก็ตามหากกระจกมีเส้นทางนั้น แต่ไม่ใช่แพ็คเกจอย่างน้อยเราสามารถพูดได้ว่ามีบางสิ่งบางอย่างที่น่ารำคาญกับกระจกนั้น
curl
นอกจากนี้ทราบว่าสคริปต์ที่จำเป็นต้องใช้ ติดตั้งถ้าคุณไม่ได้ ( sudo apt-get install curl
)
ดังนั้นเมื่อใช้สคริปต์นี้คุณสามารถค้นหาได้อย่างรวดเร็วว่ามิรเรอร์ใดจากรายการมิเรอร์ Launchpad เสนอสิ่งที่คุณต้องการ โปรดทราบว่าสคริปต์อาจทำงานได้ค่อนข้างนานเนื่องจากมีการติดต่อกับเซิร์ฟเวอร์ทุกตัวในรายชื่อนั้น เซิร์ฟเวอร์เหล่านี้กระจายอยู่ทั่วโลกและบางเซิร์ฟเวอร์อาจช้าหรือไม่สามารถเข้าถึงได้ (เช่น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
สถาปัตยกรรมของ Saucy ในรายการกระจก Launchpad นั่นคือกระจกที่TU Chemnitz (ซึ่งใช้ในเยอรมนีมันอาจจะเร็วกว่าสำหรับคุณมากกว่าports.ubuntu.comซึ่งดูเหมือนว่าจะเป็นไปตาม ในบริเตนใหญ่) ดังนั้นดูเหมือนว่าคำตอบสำหรับคำถามของคุณจะเหมือนกับ "ใช่มีอีกทางเลือกหนึ่งสำหรับคุณ ... " ;-)
ข่าวดีก็คือฉันได้ตรวจสอบมิเรอร์นี้ด้วยตนเองและมันก็เป็น mirror ที่สมบูรณ์ของports.ubuntu.comพร้อมแพ็คเกจทั้งหมดสำหรับทุกรุ่นของ Ubuntu ลองทำดูสิ!
โปรดทราบว่าคุณอาจมีโชคด้วยการเปิดตัวอีกกว่า Saucy
ทางเลือก (ไม่แนะนำ)
ฉันพูดถึงเรื่องนี้เพื่อความสมบูรณ์ แต่ฉันไม่แนะนำ แทนที่จะมองดูรายการมิเรอร์ Launchpadคุณสามารถทำได้อย่างง่ายดายด้วย google สำหรับมิเรอร์
วิธีหนึ่งในการทำเช่นนี้คือเพียงแค่ google สำหรับสตริง*/dists/saucy/main/binary-armhf/*
(การกระจายที่เหมาะสมที่เก็บและสถาปัตยกรรมตามความต้องการของคุณก่อนหน้านี้) นี่จะพบมิเรอร์ทางเลือกมากมาย แต่ส่วนใหญ่ไม่ได้ลงทะเบียนอย่างเป็นทางการบน Launchpad ดังนั้นจึงไม่มีการตรวจสอบคุณภาพโดยทีมมิเรอร์ของ Ubuntu มันอาจจะช้าไม่อัพเดทเป็นประจำหรือมีเพียงบางส่วนของแพ็คเกจที่ต้องการโดยระบบ Ubuntu เต็มหรือแม้กระทั่งบางแพ็คเกจที่ปรับเปลี่ยน เมื่อคุณคิดเกี่ยวกับมันหากมีคนต้องการให้กระจกของพวกเขาเปิดเผยต่อสาธารณชนพวกเขาอาจจะลงทะเบียนใน Launchpad แล้วสคริปต์ด้านบนจะพบมัน ดังนั้น google สำหรับความเสี่ยงของคุณเอง ถ้าคุณถามฉันอย่าทำมัน