การทำมิเรอร์: //mirrors.ubuntu.com มีให้ใช้งานสูง


26

เราเป็นทีมงานกระจายซึ่งเป็นเหตุผลว่าทำไม VM ของเราใช้การmirror://ตั้งค่าUbuntu /etc/apt/sources.listลักษณะของเราดังต่อไปนี้:

deb mirror://mirrors.ubuntu.com/mirrors.txt lucid main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt lucid-security main restricted universe multiverse

โดยตัวของมันเองนั้นค่อนข้างน่าทึ่งและมีประโยชน์มากสำหรับคนที่ทำงานในสถานที่ต่าง ๆ - จำเป็นต้องปรับแต่งในท้องถิ่นน้อยลงฯลฯ ล้มเหลวในทางทฤษฎี

ในแต่ละวันการตั้งค่านี้ล้มเหลวบ่อยเกินไป ฉันต้องการพูด 2-3 ครั้งในสัปดาห์นี้

ตอนนี้mirrors.ubuntu.comกลับมาftp.uni-bayreuth.deเป็นกระจกตู้เสื้อผ้าของฉัน น่าเสียดายที่ดูเหมือนว่าจะลง

สิ่งนี้เกิดขึ้นไม่กี่ชั่วโมงและกระจกก็เป็นเจ้าภาพโดยอาสาสมัครที่มหาวิทยาลัยและวันนี้เป็นวันศุกร์ความหวังของฉันอยู่ในระดับต่ำว่านี่จะได้รับการแก้ไขในไม่ช้า

ทั้งหมดคุยคำถามของฉันคือ:

  • ไม่มีใครใช้สิ่งนี้หรือไม่
  • คุณทำงานในช่วงหยุดทำงานอย่างไร (การแก้ไขด่วนของฉันคือเชลล์สคริปต์)
  • ฉันจะช่วยปรับปรุงสถานการณ์นี้ได้อย่างไร


@ RaduRădeanu - เป็นครั้งแรกที่ฉันอ่านเกี่ยวกับ netselect ... 8oþ
dschinn1001

@ RaduRădeanuเคล็ดลับที่น่าสนใจ! ไชโย! ฉันกำลังพยายามใช้mirror:วิธีการที่มีการปรับปรุงมากที่สุดในเธรดของคุณ ปัญหาของฉันคือเมื่อใดก็ตามที่มิเรอร์ที่เร็วที่สุดล้มเหลวก็จะไม่มีการเฟลโอเวอร์และฉันติดอยู่
จนถึง

การสร้าง Ubuntu Mirror ของคุณเป็นตัวเลือกหรือไม่?
มิทช์

@ จนถึงคุณสามารถแจ้งให้เราทราบหากคุณมีกระจกของคุณเอง
มิทช์

คำตอบ:


10

โดยส่วนตัวฉันคิดว่าวิธีที่ดีที่สุดในการเลือกมิเรอร์ที่เก็บ Ubuntu ที่ดีที่สุดคือการใช้วิธี GUI:

เซิร์ฟเวอร์ดาวน์โหลด

ตอนนี้เพื่อปรับปรุงสถานการณ์ที่อธิบายไว้ในคำถามคุณต้องตั้งกฎบางอย่าง กฎเหล่านี้จะต้องดำเนินการต่อmirrors.ubuntu.comไป ฉันสามารถแนะนำกฎบางอย่างดังต่อไปนี้:

  • ทำรายการกระจกที่ดีที่สุด / ที่ต้องการ; มีจำนวนมากของกระจกที่คุณสามารถดูที่นี่ , ที่นี่หรือที่นี่
  • หากคุณพบกระจกที่ดีให้เพิ่มเข้าไปในรายการ
  • หากกระจกเงาเสียหายหรือบางครั้งก็หมายความว่าไม่ใช่กระจกที่ดีและคุณควรนำกระจกออกจากรายการ
  • คุณสามารถใช้netselect, apt-spyหรือapt-fast
  • และอื่น ๆ ขึ้นอยู่กับความต้องการของคุณ

ต่อไปเพื่อดูว่าคุณสามารถแก้ไขได้อย่างไรฉันสามารถให้วิธีอธิบายทีละขั้นตอนกับตัวอย่างสคริปต์ทุบตีสามตัว สคริปต์แรกใช้มิรเรอร์จากประเทศที่คุณอยู่ในขณะนี้แทนmirrors.ubuntu.com/mirrors.txt(สำหรับแต่ละประเทศจะมีไฟล์ข้อความที่มีมิรเรอร์เชื่อมโยงดูที่http://mirrors.ubuntu.com/ ):

  • ในการรันเทอร์มินัลmkdir -p bin - คำสั่งนี้จะสร้างbinไดเรกทอรีในhomeโฟลเดอร์ของคุณหากคุณยังไม่มี
  • หลังจากรันgedit ~/bin/change_sources.sh- สิ่งนี้จะสร้างไฟล์ใหม่change_sources.shใน gedit
  • คัดลอกและวางหนึ่งในสคริปต์ถัดไปในไฟล์ที่สร้างใหม่:
#!/bin/bash

export DISPLAY=:0

if ! [ "`ping -c 1 google.com`" ]; then
    notify-send "No internet connection"
    exit 0  
fi

ip=$(curl -s 'http://ipecho.net/plain')
country=$(curl -s 'http://geoiplookup.net/geoapi.php?output=countrycode' \
    | awk '{ print toupper($2) }')
release=$(lsb_release -sc)

file="/etc/apt/sources.list"
old_file="/etc/apt/sources.list.old"

line=$(head -n 1 $file)
new_line="## Ubuntu Repos for $ip"

if [ "$line" == "$new_line" ] ; then
    exit 0
fi

cp -f $file $old_file

printf "$new_line
deb mirror://mirrors.ubuntu.com/$country.txt $release main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/$country.txt $release-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/$country.txt $release-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/$country.txt $release-security main restricted universe multiverse
" > $file

notify-send "$file has been changed" "The old file has been put in $old_file"

exit 0

หรือสิ่งที่คล้ายกับสิ่งที่สามารถพบได้ที่http://repogen.simplylinux.ch/ :

#!/bin/bash

export DISPLAY=:0

if ! [ "`ping -c 1 google.com`" ]; then
    notify-send "No internet connection"
    exit 0  
fi

ip=$(curl -s 'http://ipecho.net/plain')
country=$(curl -s 'http://geoiplookup.net/geoapi.php?output=countrycode' \
    | awk '{ print tolower($2) }')
release=$(lsb_release -sc)

file="/etc/apt/sources.list"
old_file="/etc/apt/sources.list.old"

line=$(head -n 1 $file)
new_line="## Ubuntu Main Repos for $ip"

if [ "$line" == "$new_line" ] ; then
    exit 0
fi

cp -f $file $old_file

printf "$new_line
deb http://$country.archive.ubuntu.com/ubuntu/ $release main restricted universe  multiverse
deb-src http://$country.archive.ubuntu.com/ubuntu/ $release main restricted universe multiverse

## Ubuntu Update Repos for $ip
deb http://$country.archive.ubuntu.com/ubuntu/ $release-security main restricted universe multiverse
deb http://$country.archive.ubuntu.com/ubuntu/ $release-updates main restricted universe multiverse
deb-src http://$country.archive.ubuntu.com/ubuntu/ $release-security main restricted universe multiverse
deb-src http://$country.archive.ubuntu.com/ubuntu/ $release-updates main restricted universe multiverse
" > $file

notify-send "$file has been changed" "The old file has been put in $old_file"

exit 0

หรือสคริปต์ที่ใช้netselect(ดาวน์โหลดจากที่นี่ติดตั้งคำแนะนำที่นี่ ) ตามที่izxอธิบาย verry nice ในคำตอบนี้ :

#!/bin/bash

export DISPLAY=:0

if ! [ "`ping -c 1 google.com`" ]; then
    notify-send "No internet connection"
    exit 0  
fi

url=$(netselect \
    `wget -q -O- https://launchpad.net/ubuntu/+archivemirrors \
        | grep -P -B8 "statusUP|statusSIX" \
        | grep -o -P "(f|ht)tp.*\"" \
        | tr '"\n' '  '` \
    | awk '{print $2}')
release=$(lsb_release -sc)

if [ "$url" == "" ] ; then
    exit 0
fi

file="/etc/apt/sources.list"
old_file="/etc/apt/sources.list.old"

cp -f $file $old_file

printf "## Ubuntu Best Repos
deb http://extras.ubuntu.com/ubuntu $release main
deb-src http://extras.ubuntu.com/ubuntu $release main
deb $url $release main universe restricted multiverse
deb http://security.ubuntu.com/ubuntu/ $release-security restricted universe main multiverse
deb $url $release-updates restricted universe main multiverse
" > $file

notify-send "$file has been changed" "The old file has been put in $old_file"

exit 0
  • บันทึกไฟล์และปิด
  • กลับไปที่เทอร์มินัลแล้วรัน: chmod +x ~/bin/change_sources.sh- เพื่อให้สิทธิ์การเข้าถึงเพื่อเรียกใช้งานสคริปต์
  • เพียงสำหรับการทดสอบเพื่อใช้สคริปต์ใหม่ของคุณพิมพ์ใน ~/bin/change_sources.shterminal /etc/apt/sources.listมันจะทำให้คุณข้อผิดพลาดเพราะคุณไม่ได้มีสิทธิที่จะแก้ไข ดังนั้นใช้sudo ~/bin/change_sources.sh
  • แก้ไขไฟล์ crontab ของผู้ใช้รูทโดยใช้sudo crontab -eคำสั่งและเพิ่มบรรทัดต่อไปนี้:
@hourly /home/$USER/bin/change_sources.sh  
#change $USER with your user name
  • ฉันได้ตั้งค่างาน cron เป็นประจำทุกชั่วโมง แต่คุณสามารถเปลี่ยนแปลงได้ตามที่คุณต้องการหรือตามที่คุณคิดว่าดีกว่า ดูhttp://en.wikipedia.org/wiki/Cronในแง่นี้
  • บันทึกไฟล์และตรวจสอบรายการ crontab sudo crontab -lใหม่ที่มี

หมายเหตุ: หากต้องการย้อนกลับการเปลี่ยนแปลงที่ทำโดยสคริปต์นี้ให้ลบงาน cron และทำตามสิ่งบ่งชี้จากภาพด้านบนหรือใช้คำสั่งถัดไปในเทอร์มินัล:

cp -f /etc/apt/sources.list.bak /etc/apt/sources.list

นับจากนี้ไฟล์จะเปลี่ยนแบบไดนามิกหลังจากพบการเปลี่ยนแปลงที่อยู่ IP

มันอาจจะไม่เป็นทางออกที่ดีที่สุด แต่ในความคิดของฉันเป็นทางออกที่ดีที่จะได้รับในลักษณะนี้เช่นในสคริปต์ดังกล่าวข้างต้น


2
ฉันเดาว่าฉันจะเถียงว่า gui บน linux นั้นถือได้ว่าเป็นวิธีดั้งเดิม :) แต่อย่างไรก็ตาม: สคริปต์แรกของคุณแก้ปัญหาฉันไม่มี ไวยากรณ์มิร์เรอร์ได้รับมิร์เรอร์ของฉันอยู่แล้วหรือในสหรัฐอเมริกาหรือในทุก ๆ ที่ที่ผู้คนอยู่ สคริปต์ที่สองใช้มิเรอร์ประเทศ - ดูเหมือนว่าจะมีแบนด์วิดท์น้อยที่สุด (เห็นว่าในรายการไฟล์เก็บถาวรกระจกบน launchpad) สคริปต์ที่สามถือว่าเป็นกระจกที่เร็วที่สุด (หรือใกล้เคียงที่สุด) ที่สุด กลับไปที่ตารางหนึ่ง ตอนนี้ฉันกำลังเขียนapt-spyสคริปต์ตัวเล็ก ๆ จะอัปเดตที่นี่ในภายหลัง
จนถึง

1
@ จนถึงคำถามของคุณคือ " คุณทำงานอย่างไรในช่วงเวลาที่หยุดทำงาน " และ " ฉันจะช่วยปรับปรุงสถานการณ์นี้ได้อย่างไร " ฉันแสดงให้เห็นว่าฉันทำงานอย่างไรและฉันแนะนำคุณว่าจะช่วยปรับปรุงได้อย่างไร ... นอกจากนี้ถ้าคุณอ่านคำตอบของฉันจนจบคุณจะเห็นว่าฉันรู้ว่า " มันอาจไม่ใช่วิธีที่ดีที่สุด แต่ฉันคิดว่า ว่าทางออกที่ดีจะได้รับในลักษณะนี้เหมือนในสคริปต์ด้านบน " ท้ายที่สุดถ้าคุณสนใจที่จะแก้ไข / ปรับปรุงเซิร์ฟเวอร์ที่ใช้งานไม่ได้นี่อาจดูไม่เกี่ยวข้องที่นี่และคุณควรพูดคุยกับเจ้าของเซิร์ฟเวอร์เหล่านั้นแทน
Radu Rădeanu

2
ฉันไม่คิดว่ามันเป็นนอกหัวข้อ คน Canonical / Ubuntu หลายคนบอกให้ฉันเพิ่มคำถามของฉันที่นี่ นี่เป็นสาเหตุที่ฉันมาที่นี่ตั้งแต่แรกและฉันก็เดาว่าทำไมมันถึงได้รับรางวัลมากมาย
จนถึง

1
@ จนถึงใช่คำถามเป็นสิ่งที่ดี แต่ไม่ใช่ตามที่คุณปฏิรูปในความคิดเห็นเหล่านี้ ไม่มีใครจะตอบที่ "วิธีแก้ไขเซิร์ฟเวอร์มิรเรอร์ที่เสียหาย" ที่นี่ตราบใดที่ไม่ใช่ผู้ดูแลระบบของเซิร์ฟเวอร์ที่เกี่ยวข้อง
Radu Rădeanu

1
ฉันไม่ต้องการแก้ไขเซิร์ฟเวอร์นั้นฉันต้องการแก้ไขอัลกอริธึมการเลือกและการขาดความล้มเหลว
จนถึง

4

ฉันซาบซึ้งในความคิดเห็นทั้งหมดของคำถามนี้ แต่เนื่องจากไม่มีใครคิดวิธีแก้ปัญหาที่เหมาะสมกับสถานการณ์ของเราฉันจึงตัดสินใจที่จะแก้ไขปัญหาด้วยตัวเอง

ฉันสร้างเครื่องมือ (เฉพาะสำหรับ Ubuntu) apt-spy2ซึ่งผมเรียกว่า

วัตถุประสงค์หลักของเครื่องมือนี้คือค้นหากระจกที่ใช้งานได้เร็ว การทำงานถูกกำหนดโดยเซิร์ฟเวอร์มิรเรอร์พร้อมใช้งานและ (หวังว่า :) เป็นปัจจุบัน

ฉันไม่ได้ตั้งสมมติฐานว่าเซิร์ฟเวอร์ที่เลือกนั้นจำเป็นต้องใกล้เคียงที่สุดและเร็วที่สุดหรือไม่ ฉันไม่ได้ทำการปิงหรือเล่นกลกับ GEO DNS - แต่จนถึงตอนนี้ก็ใช้งานได้เมื่อมีบางอย่างผิดพลาด

มันทำงานอย่างไร - สั้น:

  1. ฉันใช้http://mirrors.ubuntu.comหรือรายชื่อมิเรอร์ของ launchpadเพื่อดึงข้อมูลเซิร์ฟเวอร์
  2. ฉันจะตรวจสอบง่ายๆในแต่ละ (สำหรับรหัสสถานะการตอบสนอง HTTP)
  3. LBNL /etc/apt/sources.listปรับปรุงฉัน

โปรดทราบ:นี่ถือว่าผู้คนเล่นได้ดีและใส่มิเรอร์เพิ่มเติม (เช่นที่เก็บของบุคคลที่สามเข้ามา/etc/apt/sources.list.dแต่ฉันเดาว่านั่นหมายความว่ามีที่ว่างสำหรับการปรับปรุง

คุณสามารถรับเครื่องมือนี้ได้เช่น:

$ [sudo] gem install apt-spy2

CLI มาพร้อมกับlist, check, fixและhelp(มีข้อมูลที่ขยายเกี่ยวกับวิธีการใช้)

ผมพยายามที่จะเอกสารมากที่สุดเท่าที่เป็นไปได้ในโครงการREADME

0.5.0รุ่นปัจจุบันเป็นอนุรักษ์นิยมมาก

รหัสนี้เป็นโอเพ่นซอร์สและมีลิขสิทธิ์แบบเสรี และฉันรับบริจาคทั้งหมด


คุณอัพโหลดสิ่งนี้ไปยังที่เก็บอูบุนตูหรือไม่?
Braiam

@Braiam คุณสามารถรับเครื่องมือนี้ได้เช่น: sudo gem install apt-spy2
Radu Rădeanu

@ RaduRădeanuฉันถามว่าเขาอัปโหลดหรือไม่เพราะฉันสนใจที่จะบรรจุสิ่งที่ Debian
Braiam

@Braiam ฉันไม่ได้บรรจุมัน แต่ฉันจะต้อนรับถ้ามีคนทำมัน :)
จนถึง

@Braiam Btw นี่ไม่น่าจะทำงานกับ Debian (ใช้งานได้กับ Ubuntu เท่านั้น
จนถึง

2

มีคำสั่งนี้ที่ Debian 6.0.4:

apt-สายลับ

นี่เป็นการทำงานเพื่อค้นหาเซิร์ฟเวอร์ที่พร้อมใช้งานถัดไปที่ใกล้เคียงที่สุดโดยอัตโนมัติและเพื่อสร้างแหล่งรายการใหม่

ในอูบุนตูคำสั่งนี้ดูเหมือนว่าจะไม่อยู่?

มันยังคงมีอยู่ใน Debian 7.0 wheezy:

https://launchpad.net/debian/wheezy/+source/apt-spy/+copyright

คุณสามารถดาวน์โหลดแพ็คเกจ * .deb ได้ที่นี่:

http://packages.debian.org/sid/apt-spy

... ยังคงค้นหาแหล่งข้อมูล ...

คุณต้องมีการติดตั้ง Debian-7.0- เพื่อรับซอร์สโค้ดหลังจากแก้ไขรายการแหล่งข้อมูลด้วยรายการ:

deb-src http://http.debian.net/debianหลัก ๆ

จากนั้นหลังจากอัปเดต sudo apt-get update คุณจะดูดรหัสด้วย:

sudo apt-get source apt-spy ซอร์ส


ขอบคุณสำหรับคำแนะนำ apt-spy ดูยอดเยี่ยมแน่นอน ฉันไม่แน่ใจว่าทำงานได้ดี ทุกครั้งที่ฉันติดตั้งสิ่งเดเบียนลงในอูบุนตูมันจะแตกหักไม่ช้าก็เร็วเนื่องจากการพึ่งพาอื่น ๆ
จนถึง

@ จนถึง - มันเป็นเรื่องที่มีการขุดมากขึ้น ... ทันทีที่ Linux เริ่มมีความต้องการมากขึ้น
dschinn1001

1
สร้างขึ้นสำหรับ Ubuntu: rubygems.org/gems/apt-spy2และgithub.com/lagged/apt-spy2
จนถึง

@ จนถึงคุณหมายถึง: สร้างมัน ... ! หรือสร้างมัน ... - ฉันจะดูแลในครั้งต่อไป - ตอนนี้พระจันทร์เต็มดวงอยู่ที่นี่แล้วและกำลังมึนงง ...
dschinn1001

คุณรวดเร็ว!
dschinn1001

2

อาจไม่ได้ใช้โซลูชันที่คุณชอบ แต่การตั้งค่าแคชภายในเครื่องสำหรับไฟล์. deb ควรจะเหมาะสมที่สุดเมื่อคุณดาวน์โหลดแพคเกจหลาย MB (ส่วนใหญ่แล้วฉันเดิมพันเหมือนกัน) และเนื่องจากคุณดาวน์โหลดจากเซิร์ฟเวอร์เดียวกันคุณ อาจต้องการเสียสละพีซีเพื่อสร้างแคชและทำให้เซิร์ฟเวอร์ไม่ว่าง

ขั้นตอน

คุณควรจะสามารถตั้งค่าapt-cacherในเครื่องที่มีพื้นที่ว่างมากมายในฮาร์ดไดรฟ์ (คุณจำเป็นต้องใช้) คุณสามารถกำหนดค่านี้ได้โดยใช้คู่มือเซิร์ฟเวอร์ Apt-cacherแต่ให้ทำต่อได้อย่างรวดเร็ว

  1. ติดตั้ง apt-cacher

    sudo apt-get install apt-cacher apache2

  2. แก้ไข/etc/default/apt-cacherและตั้งautostartค่าเป็น 1 ดังนั้นแคชของคุณจะเริ่มต้นเมื่อเครื่องเปิดขึ้น
  3. รีสตาร์ท apache sudo /etc/init.d/apache2 restart
  4. http://ip-of.your.cache:3142/apt-cacherทดสอบแคชของคุณโดยใช้
  5. คุณควรให้เป็นเจ้าภาพในการใช้แคชเพื่อแก้ไขและมองหาเส้น/etc/apt-cacher/apt-cacher.conf allowed_hostsคุณสามารถตั้งค่าซับเน็ตเหมือน192.168.0.0/24หรือเพียงแค่*สำหรับโฮสต์ทั้งหมด
  6. มองหาอย่างรวดเร็วและรอบเซิร์ฟเวอร์ที่เชื่อถือได้ คุณสามารถใช้apt-spyสิ่งนี้ (คำสั่งนี้อาจใช้เวลาหลายชั่วโมงเพราะมันยังทดสอบความเร็วของเซิร์ฟเวอร์แต่ละเครื่องด้วย
  7. ในลูกค้าของคุณคุณมีสองตัวเลือก:

    • ตั้งค่าsources.listดังต่อไปนี้:

    deb http: //ip-of.your.cache: 3142 / the.server.you.like / ubuntu / lucid หลักจักรวาล จำกัด ลิขสิทธิ์

    เปลี่ยนip-of.your.cacheสำหรับ ip ของแคชของคุณและthe.server.you.likeสำหรับชื่อโฮสต์ของเซิร์ฟเวอร์ที่คุณจะใช้ คุณสามารถใช้หลายบรรทัด

    • หรือตั้งค่า apt เพื่อใช้ proxy: แก้ไข/etc/apt/apt.conf.d/01proxyและเพิ่มบรรทัด:

    ได้รับ :: http :: Proxy " http: //ip-of.your.cache: 3142 ";


หากคุณจะใช้ apt-spy ทั่วโลกจะใช้เวลาสักครู่ ... แต่คุณสามารถใช้คำสั่งนี้โดยมีพรมแดนติดกับเช่นยุโรปโดย: apt-spy -d testing -a Europe
dschinn1001

@ dschinn1001 -d testingมีกลิ่นเหมือน Debian
Braiam

apt-spy -a Europe
dschinn1001

"downvote" หรือไม่ - ฉันไม่ลงคะแนนเลยเหรอ? - บางครั้งฉันก็คลิกโดยไม่ได้ตั้งใจ - ฉันไม่เคยลงคะแนนด้วยความตั้งใจ! โหวตให้คุณ! ขอบคุณ.
dschinn1001

1

คุณสามารถลองตั้งค่ามิเรอร์ Ubuntu ของคุณเอง การอัปเดตด้วยวิธีนี้จะเป็นแบบโลคัล

apt-mirror ต้องการการเชื่อมต่ออินเทอร์เน็ตความเร็วสูงและพื้นที่ดิสก์จำนวนมาก

การตั้งค่ากระจก Ubuntu ของคุณเองนั้นง่ายมากโดยใช้ apt-mirror

1) ไปที่ที่เก็บ apt-mirror สำรองไฟล์ source.list ของคุณเช่น:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.old

2) แก้ไขไฟล์ source.list ดังนี้:

gksudo gedit /etc/apt/sources.list

3) และแทรกสิ่งต่อไปนี้ในบรรทัดใหม่:

deb http://apt-mirror.sourceforge.net/ apt-mirror

4) มาอัพเดทดัชนีแพ็คเกจกัน

sudo apt-get update

5) และติดตั้ง apt-mirror

sudo apt-get install apt-mirror

6) ตอนนี้ Apt-mirror ได้รับการตั้งค่าแล้วดังนั้นเราจะบอกว่าเซิร์ฟเวอร์ใดที่จะทำการมิเรอร์:

sudo cp /etc/apt/mirror.list /etc/apt/mirror.list.old
gksudo gedit /etc/apt/mirror.list

การกำหนดค่าเริ่มต้นจะทำให้ไฟล์ที่คุณดาวน์โหลดไว้ในโฟลเดอร์ / var / spool / apt-mirror นี่คือลักษณะของไฟล์ mirror.list:

############# config ##################
#
set base_path /media/silo/repo
#
# if you change the base path you must create the directories below with write privlages
#
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch <running host architecture>
set nthreads 20
set tilde 0
#
############# end config ##############
deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid -updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid -backports main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid -security main restricted universe multiverse
clean http://archive.ubuntu.com/ubuntu

สิ่งนี้ทำมิเรอร์แพ็คเกจไบนารีเท่านั้น แต่ถ้าคุณต้องการแพ็กเกจซอร์สคุณควรแทรกบรรทัดที่เหมาะสม พวกเขามักจะใช้แบบฟอร์ม:

deb-src http://gh.archive.ubuntu.com/ubuntu/ lucid main restricted

7) apt-mirrorตอนนี้วิ่ง จะใช้เวลาสักครู่ ไม่ต้องกังวลหากคุณไม่สามารถดาวน์โหลดไฟล์ทั้งหมดได้ในครั้งเดียวapt-mirrorสามารถทำการดาวน์โหลดต่อ (ฆ่าด้วยชุดCtrl+ Cแป้นและเรียกใช้อีกครั้งเมื่อคุณต้องการดำเนินการต่อ) โอเคเรียกใช้ apt-mirror อย่างเช่น:

sudo apt-mirror /etc/apt/mirror.list

ตรวจสอบวิธีการสร้าง Mirror Debian / Ubuntu Local ด้วย apt-mirror

ที่มา: ใช้ Apt-mirror เพื่อสร้าง Ubuntu Mirror ของคุณเอง


หากหน่วยความจำรองรับฉันถูกต้องapt-mirrorมีอยู่ในที่เก็บอูบุนตู
Braiam

BTW ตรวจสอบให้แน่ใจว่าได้บันทึกความต้องการพื้นที่จำนวนมากใน HD เพื่อดาวน์โหลดมิเรอร์ที่สมบูรณ์;)
Braiam

ขอบคุณสำหรับคำตอบและเป็นแหล่งข้อมูลที่ยอดเยี่ยมสำหรับการตั้งค่ากระจกและฉันได้พิจารณาแล้ว แต่ฉันต้องการ setuo นี้อย่างน้อย 3 แห่ง ฉันรู้ว่าฉันพิถีพิถันที่นี่ แต่ฉันก็ยังรู้สึกว่าmirrors.ubuntu.comควรจะทำงาน :)
จนถึง

@till mirrors.ubuntu.comจะไม่สามารถแก้ไขmirrors.ubuntu.comได้ แต่เป็นเซิร์ฟเวอร์ที่อยู่ใกล้คุณที่สุด ปัญหาคือเซิร์ฟเวอร์ที่แก้ไขนั้นเป็นเซิร์ฟเวอร์ที่ไม่น่าเชื่อถือ การเล่นที่ดีขึ้นของคุณคือการใช้เซิร์ฟเวอร์ที่เชื่อถือได้จากรายการอย่างเป็นทางการ
Braiam

@Braiam มีความคิดว่าทำไมกระจกที่ไม่น่าเชื่อถือนั้นถูกส่งคืนโดยมัน?
จนถึง

1

ฉันเขียนสคริปต์ Python ชื่อapt-selectเพื่อใช้เป็นทางเลือก CLI กับวิธีการของ GUI

สคริปต์เคียวรีแต่ละมิรเรอร์ผ่าน TCP พิมพ์ไปยัง stdout มิเรอร์ด้วยเวลาแฝงต่ำสุดและสร้างsources.listไฟล์ใหม่ นอกจากนี้ยังมีตัวเลือกมากมายที่ให้คุณเลือกจากรายการมิเรอร์ที่จัดอันดับและดึงข้อมูลเช่นเมื่อมิเรอร์ได้รับการปรับปรุงล่าสุดและความจุแบนด์วิดท์

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