มีที่เก็บสำรองให้กับ ports.ubuntu.com สำหรับ ARM หรือไม่?


14

ฉันใช้ Chromebook Samsung (พร้อมชิป ARM) ports.ubuntu.com เป็นกระจกที่ค่อนข้างช้าสำหรับฉัน มีกระจกอื่น ๆ ที่พกพาแพ็คเกจ ARM หรือไม่?

https://wiki.ubuntu.com/UbuntuDevelopment/PackageArchive#Portsดูเหมือนจะแนะนำว่าไม่มีหรืออย่างน้อยก็น้อยมาก - มีหรือไม่?

คำตอบ:


23

ใช่แล้วล่ะ. แม้ว่าจะไม่มาก

ฉันเขียนสคริปต์ต่อไปนี้ซึ่งจะแยกมิเรอร์ทั้งหมดจากรายการมิเรอร์ Launchpadและตรวจสอบว่ามีพา ธ/dists/$DIST/$REPO/binary-$ARCH/ที่

  • $DISTเป็นของคุณกระจาย Ubuntu เช่นprecise, saucy, trusty...
  • $REPOเป็นพื้นที่เก็บข้อมูลที่คุณกำลังมองหาคือmain, restricted, หรือuniversemultiverse
  • $ARCHarmhfเป็นสถาปัตยกรรมที่คุณกำลังมองหาเช่น

เพื่อเป็นตัวอย่างให้ฉันสมมติว่าคุณมี 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 สำหรับความเสี่ยงของคุณเอง ถ้าคุณถามฉันอย่าทำมัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.