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

ตั้งค่า Local Repositories ด้วย 'apt-mirror' ใน Ubuntu และ Debian Systems


เมื่อการจราจรในปัจจุบันและความเร็วอินเทอร์เน็ตทั่วไปถูกวัดในวัยรุ่นของ Giga ในชั่วพริบตาแม้แต่ไคลเอนต์อินเทอร์เน็ตทั่วไป คุณอาจถามถึงจุดประสงค์ของการตั้งค่าแคชที่เก็บข้อมูลในเครื่องบน LAN

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

นี่เป็นเพียงเหตุผลบางประการที่คุณควรสร้างมิเรอร์พื้นที่เก็บข้อมูลในเครื่องบน LAN ของคุณ มอบหมายเซิร์ฟเวอร์ Edge สำหรับงานนี้ และกำหนดค่าไคลเอนต์ภายในเพื่อดึงซอฟต์แวร์ออกมาจากมิเรอร์แคช

Ubuntu มีแพ็คเกจ apt-mirror เพื่อซิงโครไนซ์แคชในเครื่องกับที่เก็บอย่างเป็นทางการของ Ubuntu ซึ่งเป็นมิเรอร์ที่สามารถกำหนดค่าผ่านเซิร์ฟเวอร์ HTTP หรือ FTP เพื่อแชร์ แพคเกจซอฟต์แวร์กับไคลเอนต์ระบบโลคัล

เพื่อให้แคชมิเรอร์สมบูรณ์ เซิร์ฟเวอร์ของคุณต้องมีพื้นที่ว่างอย่างน้อย 120G ที่สงวนไว้สำหรับที่เก็บข้อมูลในเครื่อง

ความต้องการ

  1. พื้นที่ว่างขั้นต่ำ 120G
  2. ติดตั้งและกำหนดค่าเซิร์ฟเวอร์ Proftpd ในโหมดไม่ระบุชื่อ

ขั้นตอนที่ 1: กำหนดค่าเซิร์ฟเวอร์

1. สิ่งแรกที่คุณอาจต้องการทำคือระบุมิเรอร์ Ubuntu ที่ใกล้เคียงที่สุดและเร็วที่สุดใกล้กับตำแหน่งของคุณโดยไปที่หน้า Ubuntu Archive Mirror และเลือกประเทศของคุณ

หากประเทศของคุณมีมิเรอร์เพิ่มเติม คุณควรระบุที่อยู่มิเรอร์และทำการทดสอบตามผลลัพธ์ของ ping หรือ traceroute

2. ขั้นตอนต่อไปคือการติดตั้งซอฟต์แวร์ที่จำเป็นสำหรับการตั้งค่าพื้นที่เก็บข้อมูลมิเรอร์ในเครื่อง ติดตั้งแพ็คเกจ apt-mirror และ proftpd และกำหนดค่า proftpd เป็น daemon ระบบแบบสแตนด์อโลน

sudo apt-get install apt-mirror proftpd-basic

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

sudo nano /etc/apt/mirror.list

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

สำหรับรายการแหล่งที่มาของ Debian โปรดไปที่ Debian Wiki หรือเครื่องมือสร้างรายการแหล่งที่มาของ Debian

4. สิ่งที่คุณต้องทำตอนนี้คือ เพียงสร้างไดเร็กทอรีเส้นทางและรันคำสั่ง apt-mirror เพื่อซิงโครไนซ์ที่เก็บ Ubuntu อย่างเป็นทางการกับมิเรอร์ในเครื่องของเรา .

sudo mkdir -p /opt/apt-mirror
sudo apt-mirror

ดังที่คุณเห็น apt-mirror ดำเนินการสร้างดัชนีและดาวน์โหลดไฟล์เก็บถาวรโดยแสดงจำนวนแพ็คเกจที่ดาวน์โหลดทั้งหมดและขนาดของแพ็คเกจ ดังที่เราจินตนาการได้ว่า 110-120 GB นั้นใหญ่พอที่จะใช้เวลาในการดาวน์โหลด

คุณสามารถรันคำสั่ง ls เพื่อดูเนื้อหาไดเร็กทอรี

เมื่อการดาวน์โหลดครั้งแรกเสร็จสิ้น การดาวน์โหลดในอนาคตจะมีขนาดเล็ก

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

sudo nano /etc/proftpd/conf.d/anonymous.conf

จากนั้นเพิ่มเนื้อหาต่อไปนี้ลงในไฟล์ anonymous.conf และเริ่มบริการ proftd ใหม่

<Anonymous ~ftp>
   User                    ftp
   Group                nogroup
   UserAlias         anonymous ftp
   RequireValidShell        off
  MaxClients                   10
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 </Anonymous>

6. ขั้นตอนต่อไปคือการเชื่อมโยงเส้นทาง apt-mirror ไปยังเส้นทาง proftpd โดยการรันการ mount mount โดยการออกคำสั่ง

sudo mount --bind /opt/apt-mirror/mirror/archive.ubuntu.com/  /srv/ftp/

หากต้องการตรวจสอบให้รันคำสั่ง mount โดยไม่มีพารามิเตอร์หรือตัวเลือก

mount

7. ขั้นตอนสุดท้ายคือตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ Proftpd เริ่มทำงานโดยอัตโนมัติหลังจากที่ระบบ รีบูต และไดเร็กทอรี mirror-cache จะถูกเมาท์โดยอัตโนมัติบนเส้นทางเซิร์ฟเวอร์ ftp หากต้องการเปิดใช้งาน proftpd โดยอัตโนมัติให้รันคำสั่งต่อไปนี้

sudo update-rc.d proftpd enable

หากต้องการเมานต์แคช apt-mirror บน proftpd โดยอัตโนมัติ ให้เปิดและแก้ไขไฟล์ /etc/rc.local

sudo nano /etc/rc.local

เพิ่มบรรทัดต่อไปนี้ก่อนคำสั่ง exit 0 ใช้การหน่วงเวลา 5 วินาทีก่อนที่จะพยายามเมานต์

sleep 5
sudo mount --bind  /opt/apt-mirror/mirror/archive.ubuntu.com/ /srv/ftp/

หากคุณดึงแพ็กเกจจากที่เก็บ Debian ให้รันคำสั่งต่อไปนี้ และตรวจสอบว่าได้เปิดใช้งานการตั้งค่าที่เหมาะสมสำหรับไฟล์ rc.local ข้างต้นแล้ว

sudo mkdir /srv/ftp/debian
sudo mount --bind /opt/apt-mirror/mirror/ftp.us.debian.org/debian/ /srv/ftp/debian/

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

sudo crontab –e

ในบรรทัดสุดท้ายให้เพิ่มบรรทัดต่อไปนี้

0  2  *  *  *  /usr/bin/apt-mirror >> /opt/apt-mirror/mirror/archive.ubuntu.com/ubuntu/apt-mirror.log

ตอนนี้ทุกวันเวลา 2 AM แคชที่เก็บข้อมูลระบบของคุณจะซิงโครไนซ์กับมิเรอร์อย่างเป็นทางการของ Ubuntu และสร้างไฟล์บันทึก

ขั้นตอนที่ 2: กำหนดค่าไคลเอนต์

9. หากต้องการกำหนดค่าไคลเอนต์ Ubuntu ภายในเครื่อง ให้แก้ไข /etc/apt/source.list บนคอมพิวเตอร์ไคลเอนต์ให้ชี้ไปที่ที่อยู่ IP หรือชื่อโฮสต์ของ เซิร์ฟเวอร์ apt-mirror – แทนที่ http protocol ด้วย ftp จากนั้นอัปเดตระบบ

deb ftp://192.168.1.13/ubuntu trusty universe
deb ftp://192.168.1.13/ubuntu trusty main restricted
deb ftp://192.168.1.13/ubuntu trusty-updates main restricted
## Ad so on….

10. หากต้องการดูที่เก็บข้อมูล คุณสามารถเปิดเบราว์เซอร์และชี้ไปที่ที่อยู่ IP ของเซิร์ฟเวอร์ชื่อโดเมนโดยใช้โปรโตคอล FTP

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

นอกจากนี้ หากคุณติดตั้งระบบ Ubuntu หรือ Debian ใหม่ ให้เตรียมมิเรอร์ในเครื่องโดยใช้โปรโตคอล ftp ด้วยตนเองเมื่อโปรแกรมติดตั้งถามว่าจะใช้พื้นที่เก็บข้อมูลใด

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