ค้นหาเว็บไซต์

การตั้งค่าเซิร์ฟเวอร์ '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 ซึ่งจะช่วยประหยัดเวลาอันมีค่าและแบนด์วิดท์อินเทอร์เน็ตของเราด้วย

คุณสมบัติ

  1. apt-cacher-ng จะช่วยประหยัดเวลาของเรา
  2. apt-cacher-ng จะประหยัดแบนด์วิธของเรา
  3. เราสามารถรวมข้อมูลอิมเมจ 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