วิธีการสร้างที่เก็บในเครื่องโดยใช้ apt-mirror และ mirrorkit?


9

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

apt-mirrorอนุญาตให้หนึ่งเลือกส่วนของพื้นที่เก็บข้อมูล mirrorkitให้ส่วนหน้ากับกระจก apt

วิธีที่ดีที่สุดในการสร้างมิเรอร์พื้นที่เก็บข้อมูลท้องถิ่นสำหรับส่วนที่เลือกของเก็บถาวร Ubuntu คืออะไร

ตัวอย่างเช่นหนึ่งอาจต้องการรวมถึง:

  • หลัก จำกัด , จักรวาล, ลิขสิทธิ์, ทั้งหมด Ubuntu และ Lubuntu แต่ไม่รวมอนุพันธ์อื่น ๆ เช่น Kubuntu และ Xubuntu

  • เฉพาะ AMD64 และ i386 แต่ไม่รวมสถาปัตยกรรมอื่น ๆ

  • Trustr Tahr เท่านั้น แต่ไม่ใช่ Penguin หรือ Utopic Unicorn ที่แม่นยำ

หนึ่งอาจต้องการกำหนดค่ากระบวนการเพื่อให้มันดาวน์โหลดจากมิเรอร์ท้องถิ่นมากกว่าคลังเก็บหลัก

ฉันจะสร้างที่เก็บภายในเครื่องโดยใช้apt-mirrorและmirrorkitสำหรับสถาปัตยกรรมรุ่นที่วางจำหน่ายหรือชุดตัวเลือก Ubuntu ได้อย่างไร


ไม่รวม Kubuntu คุณหมายถึงไม่รวม Kubuntu ISO หรือไม่รวมแพ็คเกจใด ๆ ที่ใช้งานโดย Kubuntu
muru

ยกตัวอย่างเช่น Kubuntu และ Xubuntu ISOs อาจมีจำนวนมากที่น่ากลัวของพวกเขา (แขน Kubuntu ที่แม่นยำ, Kubuntu i386 ที่แม่นยำ, Quantal Kubuntu ARM, Quantal Kubuntu i386 ... ) และการดาวน์โหลดกระจกเริ่มต้นสามารถทำได้เร็วขึ้นโดยไม่ต้องใช้ ISO เหล่านั้น แต่ถ้าเป็นเพียงไม่กี่กิกะไบต์อาจจะไม่สำคัญ
user75798

1
ISO จะถูกโฮสต์แยกต่างหากจากแพ็คเกจ ดังนั้นคุณสามารถใช้ apt-mirror ตามปกติเพื่อทำมิเรอร์ที่เก็บแพ็กเกจและใช้เครื่องมืออื่นสำหรับ ISO จากนั้นคำถามจะค้นหาตัวกรองที่ไม่รวมที่เหมาะสมสำหรับเครื่องมือนั้น (พูด rsync)
muru

"คุณสามารถใช้ apt-mirror ได้ตามปกติ" ฉันขอโทษฉันไม่รู้ว่าจะทำอย่างไร ตรงนี้เป็นสิ่งที่ฉันต้องการจะอธิบาย
user75798

คำตอบ:


9

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

  • ปล่อย ( trusty, preciseฯลฯ )
  • สถาปัตยกรรม ( amd64, i386ฯลฯ )
  • ประเภทแพ็กเกจ (ไบนารี [ deb] vs source [ deb-src])
  • ช่อง ( trusty, trusty-updates, trusty-backportsฯลฯ )
  • ส่วน ( main, multiverseฯลฯ )

apt-mirrorเพื่อสะท้อนที่เก็บซอฟแวร์การใช้งาน

apt-mirror/etc/apt/mirror.listมีการกำหนดค่าการใช้ sources.listมันมีรูปแบบคล้ายกับ ไฟล์การกำหนดค่าที่ติดตั้งโดยแพคเกจมีตัวเลือกความคิดเห็นเล็กน้อยซึ่งแสดงรายการค่าเริ่มต้น หากคุณต้องการคุณสามารถยกเลิกการคอมเมนต์และเปลี่ยนพวกเขาได้

ในการทำมิเรอร์ที่เก็บคุณต้องเพิ่มบรรทัดตามที่mirror.listต้องการsources.list:

deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe

ค่าเริ่มต้นคือทำมิเรอร์เฉพาะสถาปัตยกรรมของโฮสต์ดังนั้นหากคุณใช้ Ubuntu แบบ 64 บิตamd64จะทำมิรเรอร์เท่านั้น คุณต้องเพิ่มอีกบรรทัดของแบบฟอร์ม:

deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe

และสำหรับแพ็คเกจแพ็กเกจ:

deb-src http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe

หากคุณกำลังมองหากระจกที่สมบูรณ์แบบพอสมควรเส้นเหล่านี้จะเป็นค่าต่ำสุด (ฉันอยากจะแนะนำ-updatesช่องด้วย):

deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe

ในที่สุดคุณต้องเพิ่มcleanบรรทัดเพื่อให้แพ็กเกจที่ไม่มีอยู่ในที่เก็บถูกกรองเพื่อลบออก:

clean http://us.archive.ubuntu.com/ubuntu

สมมติว่าตัวแปรของคุณคือ (ค่าเริ่มต้น):

set base_path    /var/spool/apt-mirror
set mirror_path  $base_path/mirror
set skel_path    $base_path/skel
set var_path     $base_path/var
set cleanscript $var_path/clean.sh

แล้ว:

  • ที่เก็บจะถูกมิร์เรอร์เป็น$mirror_path/parent-hostname/directory(ดังนั้น/var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu)
  • clean.sh(ซึ่งจะเป็นชุดของrmคำสั่งไปยังแพคเกจล้าสมัยลบและไดเรกทอรี) /var/spool/apt-mirror/var/clean.shจะ
  • /var/spool/apt-mirror/varบันทึกจะไป

apt-mirrorแพคเกจติดตั้งงาน cron ( /etc/cron.d/apt-mirror) ซึ่งคุณควรแก้ไขเพื่อเปิดใช้งาน (โดย uncommenting บรรทัดที่มี/usr/bin/apt-mirror) คุณควรเพิ่มงาน cron สำหรับการทำงานclean.sh(ฉันเรียกใช้มันทุกสัปดาห์)

แน่นอนคุณควรเปลี่ยนhttp://us.archive.ubuntu.com./ubuntuกระจกไหนที่คุณต้องการ


1
มันเป็นจริงdeb-amd64หรือdeb arch=amd64? ฉันสามารถหาอันหลังใน manpage
Anwar

1
@ อันวาร์อดีต หลังมีไว้สำหรับsources.listซึ่งมีรูปแบบที่คล้ายกัน แต่ไม่เหมือนกัน ดูmanpages.ubuntu.com/manpages/trusty/en/man1/apt-mirror.1.htmlซึ่งdeb-powerpcอยู่ในตัวอย่าง
muru

Oh! ฉันไม่มีประสบการณ์กับกระจกเงา sources.listคิดว่ามันเป็น ขอบคุณ
Anwar

2

ฉันแนะนำ apt-cacher สำหรับผู้ที่มีพื้นที่ จำกัด หรือผู้ที่มีราคาอินเทอร์เน็ตที่สูงเกินไปในประเทศของพวกเขา

apt-mirror ถูกกล่าวหาว่าต้องการอย่างน้อย 15GB สำหรับแต่ละรสชาติ (32/64 บิต) ของ distro ที่คุณต้องการ apt-cacher ใช้แพ็คเกจที่คุณติดตั้งเท่านั้น

อ่านสร้างที่เก็บ Ubuntu ในเครื่องโดยใช้ Apt-Mirror และ Apt-Cacherสำหรับรายละเอียดเพิ่มเติม / คำแนะนำกรุณา

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