การตั้งค่าเซิร์ฟเวอร์ 'Apt-Cache' โดยใช้ 'Apt-Cacher-NG' ในเซิร์ฟเวอร์ Ubuntu 14.04
Apt-Cacher-NG คือพร็อกซีเซิร์ฟเวอร์สำหรับแคช (หรือ apt proxy) สำหรับการแจกแจงแบบ Debian เช่น Ubuntu, Kubuntu, Xubuntu, Edubuntu, Linux Mint ฯลฯ ซึ่งใช้เพื่อแคชแพ็กเกจที่ดาวน์โหลดไว้ภายในเครื่อง เซิร์ฟเวอร์ของคุณ
สมมติว่าคุณมีเครือข่ายขนาดเล็กที่มีคอมพิวเตอร์ไม่กี่เครื่องเชื่อมต่ออยู่ และคุณต้องการติดตั้งและอัปเดตแพ็คเกจซอฟต์แวร์ในแต่ละระบบด้วยตนเอง มันจะเป็นงานที่ยากและใช้เวลานาน นั่นคือเหตุผลที่การกำหนดค่า apt-cacher-ng บนระบบใด ๆ เป็นความคิดที่ดี เพราะก่อนอื่นมันจะแคชแพ็คเกจที่ดาวน์โหลดทั้งหมดจากอินเทอร์เน็ตบนเซิร์ฟเวอร์ apt-cache และส่วนที่เหลือของ Debian เครื่อง Ubuntu จะได้รับจาก Apt-Cache ซึ่งจะช่วยประหยัดเวลาอันมีค่าและแบนด์วิดท์อินเทอร์เน็ตของเราด้วย
คุณสมบัติ
- apt-cacher-ng จะช่วยประหยัดเวลาของเรา
- apt-cacher-ng จะประหยัดแบนด์วิธของเรา
- เราสามารถรวมข้อมูลอิมเมจ ISO หรือ DVD เข้ากับ apt-cacher-ng โดยใช้ตัวเลือกการนำเข้า
ที่นี่ฉันจะตั้งค่าเซิร์ฟเวอร์แคชใน Ubuntu 14.04 ในสำนักงานของเรา เราใช้ไคลเอนต์ Ubuntu Desktop มากกว่า 30 ตัว, Ubuntu-Server VMS 28 ตัว รวมถึง 12.04 และ 14.04, Linux mint Desktop 4 ตัว แต่เราใช้เซิร์ฟเวอร์แคชเดียวซึ่งทำงานใน Ubuntu 12.04 LTS Server Edition และจนถึงตอนนี้ก็ไม่มีอะไรขัดแย้งกับแพ็คเกจเลย ตอนนี้ให้เราเริ่มตั้งค่าเซิร์ฟเวอร์ apt-cache
หมายเหตุ: นี่ไม่ใช่ Ubuntu หรือ Debian Mirror นี่เป็นเพียงเซิร์ฟเวอร์แคชสำหรับแพ็คเกจ apt
การตั้งค่าเซิร์ฟเวอร์ของฉัน
Apt Cache Server OS : Ubuntu 14.04 LTS Server
Apt Cache IP Address : 192.168.0.125
Apt Cache Hostname : aptcacher.tecmint.lan
Default Port : 3142
การตั้งค่าไคลเอนต์ของฉัน
Client OS : Ubuntu 14.04 LTS
Client IP Address : 192.168.0.3
Client Hostname : client.tecmint.lan
ขั้นตอนที่ 1: การติดตั้งและกำหนดค่า Apt-Cacher-NG บนเซิร์ฟเวอร์
ขั้นแรก เข้าสู่ระบบเซิร์ฟเวอร์เพื่อเปิดเทอร์มินัลโดยใช้ 'Ctr+Alt+T' และติดตั้งแพ็คเกจ Apt-Cacher-NG โดยใช้คำสั่ง 'apt' ต่อไปนี้
sudo apt-get install apt-cacher-ng
หลังจากการติดตั้งเสร็จสิ้น apt-cacher-ng จะเริ่มทำงานโดยอัตโนมัติ ตอนนี้ให้เปิดและแก้ไขไฟล์การกำหนดค่า cache-ng ที่อยู่ใต้ไดเร็กทอรี '/etc/apt-cacher-ng'
sudo vim /etc/apt-cacher-ng/acng.conf
ต่อไป เราต้องยกเลิกการใส่เครื่องหมายข้อคิดเห็นในบรรทัดต่อไปนี้ตามที่แนะนำ หากมีการแสดงความคิดเห็น ให้ลบ '#' ออกจากจุดเริ่มต้น ในไดเร็กทอรีนี้แพ็คเกจ dpkg ทั้งหมดจะถูกจัดเก็บขณะติดตั้งหรืออัปเดตแพ็คเกจ
CacheDir: /var/cache/apt-cacher-ng
หากต้องการเปิดใช้งานบันทึก เราจำเป็นต้องเปิดใช้งานบรรทัดนี้ โดยค่าเริ่มต้นจะถูกเปิดใช้งาน
LogDir: /var/log/apt-cacher-ng
Apt-cacher จะฟังพอร์ต 3142 หากคุณต้องการเปลี่ยนพอร์ต คุณก็เปลี่ยนพอร์ตได้
Port:3142
จากนั้นเพิ่มบรรทัด 'BindAddress: 0.0.0.0' ใต้บรรทัดที่ระบุว่า:
BindAddress: localhost 192.168.7.254 publicNameOnMainInterface
BindAddress: 0.0.0.0
ที่นี่เราสามารถกำหนดการแจกแจงเช่น Ubuntu และ Debian ซึ่งทั้งหมดจำเป็นต้องถูกแคช
Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian # Debian Archives
Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu # Ubuntu Archives
Remap-debvol: file:debvol_mirror*.gz /debian-volatile ; file:backends_debvol # Debian Volatile Archives
หากเราต้องการรับรายงานของ apt-cache ในเว็บอินเทอร์เฟซ เราจำเป็นต้องเปิดใช้งานบรรทัดต่อไปนี้ แต่โดยค่าเริ่มต้น สิ่งนี้จะถูกเปิดใช้งาน
ReportPage: acng-report.html
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับ 'บันทึก' เราต้องยกเลิกหมายเหตุในบรรทัดด้านล่าง หากเราตั้งค่าเป็น 0 เฉพาะประเภทกิจกรรม เวลา ขนาดของการถ่ายโอนพัสดุของเราเท่านั้นที่จะถูกบันทึก
VerboseLog: 1
ในการเรียกใช้บริการ apt-cacher เราจำเป็นต้องเปิดใช้งานไฟล์ pid ในการกำหนดค่า
PidFile: /var/run/apt-cacher-ng/pid
เพื่อลบไฟล์ที่ไม่ได้อ้างอิง
ExTreshold: 4
ในที่สุด เราก็ตั้งค่าคอนฟิก บันทึก และปิดไฟล์เสร็จแล้ว ตอนนี้เราทุกคนพร้อมที่จะรีสตาร์ทบริการ apt-cacher-ng โดยใช้คำสั่งต่อไปนี้
sudo /etc/init.d/apt-cacher-ng restart
เข้าถึงหน้ารายงานของ apt-cacher-ng ในเว็บอินเตอร์เฟสโดยใช้ URL ด้านล่าง
http://192.168.0.125:3142/
ที่นี่เราจะเห็นหน้ารายงานสำหรับ apt-cacher-ng คลิกรายงานแบบคงที่และหน้าการกำหนดค่าที่ด้านล่างของหน้านี้เพื่อรับ Hit และ Misses ในการดาวน์โหลด
จากหน้าแรกของรายงาน เราจำเป็นต้องคัดลอก Proxy URL เพื่อใช้ในภายหลัง เรายังสามารถติดตั้งแพ็คเกจในเซิร์ฟเวอร์นี้จาก apt-cache ซึ่งสามารถกำหนดค่าในเครื่องได้ เพียงเพิ่มรายการด้านล่างใน /etc/apt/apt.conf.d/02proxy
Acquire::http { Proxy "http://192.168.0.125:3142"; };
ขั้นตอนที่ 2: การกำหนดค่าฝั่งไคลเอ็นต์
เข้าสู่ระบบเครื่องไคลเอนต์ก่อน (Ubuntu/Debain) และสร้างไฟล์ '02proxy' ภายใต้ไดเร็กทอรี '/etc/apt/apt.conf.d/'
sudo vim /etc/apt/apt.conf.d/02proxy
ตอนนี้คัดลอก Acquire URL และต่อท้ายไฟล์ 02proxy คุณจะได้รับ URL ต่อไปนี้จากหน้ารายงานการเข้าถึง apt-cacher-ng ที่ http://192.168.0.125:3142/
Acquire::http { Proxy "http://192.168.0.125:3142"; };
บันทึกและออกโดยใช้ wq!. ในที่นี้ หากมีการดาวน์โหลดแพ็คเกจใด ๆ บนเครื่องไคลเอนต์จะถูกแคชไปยังเซิร์ฟเวอร์ apt-cache
ในเครื่องไคลเอ็นต์ของฉัน สามารถอัปเดตแพ็คเกจ 92 รายการได้ ส่วนการอัปเดต 43 รายการเป็นการอัปเดตความปลอดภัยที่พร้อมใช้งาน เราได้ใช้การอัปเดตเดียวกันสำหรับเซิร์ฟเวอร์แคชแล้ว ดังนั้นตอนนี้แพ็คเกจจะถูกแคชไว้ใน apt-cacher หากฉันกำลังอัปเดตเครื่องไคลเอ็นต์นี้ การรับแพ็กเกจจากอินเทอร์เน็ตจะใช้เวลาไม่นานเกินไป
ตอนนี้อัพเดตที่เก็บและอัพเกรดแพ็คเกจ
sudo apt-get update
sudo apt-get upgrade
จากหน้าจอด้านบน แสดงว่าเราต้องอัพเดต 85 แพ็คเกจ และมีขนาด 104MB มาดูกันว่าจะใช้เวลาในการดึงแพ็คเกจนานเท่าใด
ฉันไม่ได้อยู่ในศูนย์ข้อมูลด้วยซ้ำ ฉันแค่ใช้การเชื่อมต่ออินเทอร์เน็ตที่มีความเร็ว 256Kbps โดยที่ความเร็วในการดาวน์โหลดจะอยู่ที่ 50Kbps ถึง 60Kbps แต่ดูภาพด้านล่างว่ามันดึงข้อมูลขนาด 104MB ใน 3 วินาทีได้อย่างไร นั่นเป็นเพราะมันถูกแคชไว้ในเซิร์ฟเวอร์ apt-cacher-ng แล้ว
หากเราต้องการดูข้อมูล Cache Count ที่เราดาวน์โหลดมา เราสามารถเข้าถึง ip:port (192.168.0.125:3142) ในเว็บเบราว์เซอร์ใดก็ได้เพื่อดูสถิติ ดังที่ฉันได้อธิบายไว้ข้างต้น
แม้ว่าเราจะดาวน์โหลดแพ็คเกจใดๆ เพื่อติดตั้งในเครื่อง Debian/Ubuntu ก็ตาม หากแพ็คเกจนั้นมีอยู่ใน apt-cache ก็จะได้รับจากเซิร์ฟเวอร์ apt-cache-ng แต่ถ้าไม่มีก็จะถูกดึงมาจากอินเทอร์เน็ตไปยังพื้นที่เก็บข้อมูลในเครื่องเพื่อใช้ในอนาคต
ในบทความนี้ เราได้เห็นวิธีการตั้งค่าแคชเซิร์ฟเวอร์ในเครื่องสำหรับแพ็คเกจ apt โดยใช้ apt-cacher-ng หลายคนต้องการให้การตั้งค่านี้ประหยัดเวลาและแบนด์วิธ ฉันหวังว่าสิ่งนี้จะช่วยทุกคนที่ใช้เครื่อง Debian/Ubuntu