วิธีเพิ่มแพ็คเกจไปยังแคช squid-deb-proxy


10

เพื่อประหยัดแบนด์วิดท์และข้อมูลในแผนอินเทอร์เน็ตของฉันฉันได้ติดตั้ง squid-deb-proxy บนเดสก์ท็อปและไคลเอนต์ในนั้นและเครื่องอื่น ๆ ที่ฉันมี อย่างไรก็ตามตามโพสต์ที่วางฉันลงบนมันดูเหมือนว่าถ้าฉันนำแล็ปท็อปของฉันไปยังเครือข่ายอื่นและอัปเดตที่นั่นการอัปเดตที่ดาวน์โหลดจะไม่ถูกคัดลอกกลับไปยังเซิร์ฟเวอร์ squid-deb-proxy โดยอัตโนมัติ กลับมาที่เครือข่ายของฉัน

สมมติว่ามันถูกต้อง (ฉันจะทำการทดสอบในภายหลัง) มีวิธีที่ฉันสามารถติดแพคเกจเหล่านี้ลงในแคชหรือไม่ฉันไม่ต้องดาวน์โหลดมันอีกครั้งสำหรับเครื่องอื่น ๆ ในเครือข่าย?


* ตามที่ระบุไว้ในความคิดเห็นฉันสามารถทำให้แล็ปท็อปเซิร์ฟเวอร์พร็อกซี่ แต่ในกรณีเฉพาะของฉันแล็ปท็อปเป็นจริง 1) VM ที่ไม่ได้ทำงานอยู่ตลอดเวลา 2) ในแล็ปท็อปที่ไม่เปิดตลอดเวลา เวลา. ด้วยเหตุนี้การแก้ปัญหานั้นในขณะที่สิ่งที่ดีก็ไม่ได้ผลในกรณีของฉัน


จากการพูดคุยกับผู้เขียนเกี่ยวกับเรื่องนี้ในอดีตการทำเช่นนี้ไม่น่าแปลกใจบางทีอาจมีบางคนคิดสิ่งที่ฉลาด
Jorge Castro

บางทีaskubuntu.com/q/113983/8724อาจช่วยได้ . . .
zpletan

แล็ปท็อปนี้ที่คุณใช้อยู่ในเครือข่ายอื่นเป็นsquid-deb-proxyเซิร์ฟเวอร์หรือไม่
saji89

@ saji89: ไม่ทุกเครื่องอยู่ในเครือข่ายเดียวกัน
zpletan

ฉันไม่คิดว่าคุณเข้าใจคำถาม @ saji89 ถามและฉันมีคำถามเดียวกัน หากคุณติดตั้ง squid-deb-proxy บนแล็ปท็อปและ squid-deb-proxy-client บนเดสก์ท็อปและแล็ปท็อปแล็ปท็อปจะกลายเป็นพรอกซีและใช้พรอกซีในเครื่อง เช่นเมื่อคุณออกจากบ้านมันจะคอยอัปเดตแล็ปท็อป เมื่อคุณกลับถึงบ้านเดสก์ท็อปจะได้รับการอัพเดตจากแล็ปท็อป
popey

คำตอบ:


2

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


0

นี่ยังเป็นคำตอบที่ไม่สมบูรณ์ แต่อาจเป็นคำตอบที่ดีที่สุดดังนั้นให้อ่านต่อหากสงสัยเกี่ยวกับวิธีแก้ปัญหาบางส่วน / น่าเกลียด / ซับซ้อน

คำถามที่น่าสนใจฉันพบปัญหาเดียวกัน แต่ฉันไม่เคยแก้ไขเลยแทนที่จะลอง จำกัด การใช้ apt รับนอกแลนของฉัน มันไม่ได้คุ้มค่ากับความยุ่งยากมากที่สุดที่ฉันเสียไปเช่น 20MB ในปีที่แล้ว การสร้าง iso torrent ของฉันทำขึ้นสำหรับสิ่งนั้น แต่!

  1. คุณสามารถตั้งค่าอุโมงค์ / พร็อกซีระหว่างแล็ปท็อปและที่บ้านเพื่อใช้แคชภายในบ้านของคุณ (นี่เป็นความคิดที่ดีสำหรับเหตุผลด้านความเป็นส่วนตัวอยู่แล้ว) แต่จากนั้นคุณจะขึ้นอยู่กับความเร็วในการอัพโหลดของคุณ ไม่เพียงแค่นั้นจะช้า แต่คุณจะใช้ 2x แบนด์วิดท์เพื่อดาวน์โหลดสิ่งเดียวกัน 1x เข้าสู่ lan ของคุณจากกระจก Ubuntu และ 1x ออกไปที่ร้านกาแฟ

  2. ฉันเสนอว่าอาจเป็นไปได้ที่จะเรียกใช้แคชเซิร์ฟเวอร์ในแล็ปท็อปของคุณแล้วใช้ rsync เพื่อซิงค์กับเซิร์ฟเวอร์ภายในบ้านของคุณ สิ่งนี้นำเสนอปัญหาอย่างไรก็ตามเมื่อคุณอยู่บ้านเซิร์ฟเวอร์นั้นบนแล็ปท็อปของคุณจะยังคงทำงานอยู่ เพื่อจัดการกับสิ่งนั้นฉันเห็นความเป็นไปได้สองอย่าง 1. หยุดแคชเซิร์ฟเวอร์บนแล็ปท็อปของคุณขณะอยู่ที่บ้าน 2. เก็บสำเนาแคชทั้งหมดที่มีอยู่ในเซิร์ฟเวอร์ที่บ้านของคุณบนแล็ปท็อปของคุณด้วย (ความต้องการพื้นที่เพิ่มเติม) และทำสิ่งนี้โดยไม่เพียงแค่ส่งข้อมูลแคชไปยังเซิร์ฟเวอร์ กลับบ้านด้วย rsync แต่ยังดึงข้อมูลที่เก็บไว้ลงในเซิร์ฟเวอร์แล็ปท็อปของคุณเป็นประจำ ในการแนะนำสิ่งนี้ฉันได้ทำการสันนิษฐานว่าแคช squid-deb-proxy บนเซิร์ฟเวอร์หนึ่งเข้ากันได้กับเซิร์ฟเวอร์อื่นและคุณสามารถสลับไฟล์เข้าและออกได้อย่างนั้น ตัวเลือกเหล่านี้จะต้องมีสคริปต์อย่างแน่นอน


0

เราใช้ aproach ที่เรียบง่ายและโง่: squid-deb-proxy สามารถใช้ตัวมันเองเป็นพร็อกซี่ ดังนั้นฉันแค่ทำ:

  1. ฉันติดตั้งซอฟต์แวร์ไคลเอนต์บนเซิร์ฟเวอร์ squid-deb-proxy:

    apt-get install squid-deb-proxy-client

  2. ฉันสร้างสคริปต์ง่าย ๆ ซึ่งแสดงรายการแพ็คเกจที่ติดตั้งทั้งหมด - และดาวน์โหลดแต่ละแพ็คเกจใหม่:

    #!/bin/bash  
    # Create temp dir & change into it
    tmpdir=$(mktemp -d) 
    pushd $tmpdir   
    # Get all installed packages and re-download them
    for package in $(dpkg --get-selections | cut -f 1); do apt-get download $package; done;
    popd
    # Delete tmp dir
    

วิธีนี้เรามีแคชพื้นฐานที่ไม่เลวร้ายอยู่แล้ว

หากเราต้องการที่จะเพิ่มแพ็คเกจทั้งหมดของเซิร์ฟเวอร์ที่มีอยู่ไปยังแคชจากนั้นเราก็ดำเนินการตามขั้นตอนเดียวกัน 1) และ 2)

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