Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

Arch Linux Mirrorlist: คู่มืออัปเดตแบบขั้นตอน เร็ว สะดวก ไม่ยุ่งยาก

ถ้าใช้ Arch Linux และแปลกใจว่า Update เรียบๆ ใช้เวลานานมาก แม้ Net ดี อาจเพราะ Mirrorlist เก่า หรือจัดเรียงไม่ดี Mirrorlist ที่ Fresh และ Updated ทำให้ระบบรันลื่นไหล มาสำรวจลึกๆ Arch Linux Mirrorlists: คืออะไร และอัปเดตยังไงหลายวิธี

Arch Linux Mirrorlist คืออะไร

พูดกับ Package Manager pacman ให้ Update Firefox หรือโหลด Kernel ใหม่ มันไม่ได้ดึงจาก Cloud โดยวิเศษ มันต้อง Connect ไป Server ที่เจาะจงที่ไหนสักแห่งในโลก เพื่อดาวน์โหลดไฟล์เหล่านั้น Server เหล่านี้เรียกว่า Mirrors

คำง่ายๆ: Arch Linux Mirror คือ Server ที่ Host Copy ของ Official Arch Linux Repositories มีหลายร้อยตัวกระจายทั่วโลก บางตัวดูแลโดยมหาวิทยาลัย บางตัว ISPs และบางตัว Linux Enthusiasts

Arch Linux Mirrorlist: คู่มืออัปเดตแบบขั้นตอน เร็ว สะดวก ไม่ยุ่งยาก

Mirrorlist เองคือ Text File อยู่ที่ /etc/pacman.d/mirrorlist บนระบบคุณ เปิดดูตอนนี้ จะเห็น List ยาวของ Web Addresses แต่ละตัวชี้ Mirror ต่างกัน Pacman อ่าน List จากบนลงล่าง ลอง Mirror ตัวแรกที่พร้อม ถ้า Mirror นั้นช้า Offline หรือไม่ Sync มานาน Downloads จะช้าหรือ Fail ตอนรัน pacman -Syu หรือ Install ใหม่ Pacman ดึง Packages จาก Mirrors นี้

Arch ไม่ Auto-sort Mirrors โดย Speed หรือ Location เอง หมายความว่าคุณอาจโหลดจากมุมโลกอีกฝั่ง ในขณะที่ Mirror เร็วกว่านั่งรออยู่ล่างกว่าใน List สรุป: Mirrorlist 决定ระบบคุณโหลดซอฟต์จากไหน Mirrorlist ที่ดูแลดี = Updates เร็วและน่าเชื่อถือ Mirrorlist ที่ละเลย = ทุก Update กลายเป็นการทดสอบความอดทน

ถ้าประทับว่าทำไมต้องหลาย Mirrors เพราะกระจาย Load, ให้ Redundancy และ Geographical Diversity ให้ User ทั่วโลกเข้าถึง Packages ได้มีประสิทธิภาพ

ทำไมต้อง Update Mirrorlist

หลายเหตุผลต้อง Update Mirrorlist เหตุผลชัดเจน: Speed Server ที่เรตตอน Install Arch อาจ Overloaded วันนี้ อาจอยู่ระหว่าง Maintenance หรือแค่วันไม่ดี บน Hardware ช้า/เก่า ทำความแตกต่างชัดเจน

ปัญหาอีกอย่าง: Error "failed retrieving file" เกิดเพราะบาง Mirrors ล้าหลัง Main Arch Repos ตอน Pacman ขอ Package Version ที่ Mirror ยังไม่มี Things Break

Arch Linux Mirrorlist: คู่มืออัปเดตแบบขั้นตอน เร็ว สะดวก ไม่ยุ่งยาก

Update Mirrorlist ให้ระบบคุยกับ Servers เร็วและตอบสนองที่สุดตอนนี้ Mirrorlist ใหม่ ให้ Priority กับ Mirrors ที่ Sync บ่อย ลดโอกาส Failed/Partial Updates แม้ Net ปานกลาง Mirror ใกล้บ้าน Saturate Bandwidth ได้ Mirror ไกลมักไม่ได้

Arch เป็น Rolling Release = Updates บ่อย การ Update Mirrorlist เข้ากับ Routine Maintenance ได้ดี เหมือน Clear Cache หรือเช็ค Disk Space

วิธี Update Mirrorlist

หลายวิธีแต่วิธีมีประสิทธิภาพสุดคือ Tool Reflector Tool นี้จัดการ Arch Mirrors โดยเจตนา Fetch Mirror Data ล่าสุด ทดสอบ Mirrors โดย Speed และ Sync Status สร้าง Mirrorlist สะอาดให้คุณ

ก่อนเปลี่ยนอะไร Backup Mirrorlist เดิม:

sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup

ตอนนี้ปลอดภัย ติดตั้ง Reflector ถ้ายังไม่มี:

sudo pacman -S reflector
Arch Linux Mirrorlist: คู่มืออัปเดตแบบขั้นตอน เร็ว สะดวก ไม่ยุ่งยาก

รัน Reflector ด้วย Flags ต่างๆ ควบคุม Mirror Selection คำสั่งแน่นอนสำหรับ Mirrors เร็วและ Up-to-date:

sudo reflector --country US --protocol https --latest 10 --sort rate --save /etc/pacman.d/mirrorlist

คำสั่งเลือก Mirrors ที่ Sync ใหม่ เรียงตาม Download Speed เซฟผลลัพธ์ตรง Mirrorlist File แทน US ด้วยประเทศคุณ หรือลบ Country Option ออกถ้าชอบ Global Mirrors

หลังรัน Refresh Pacman Database:

sudo pacman -Syu

คุณอาจสังเกตความแตกต่าง Speed ทันที

อัปเดต Mirror อัตโนมัติด้วย Timer

ถ้าชอบให้รันเงียบๆ ในพื้นหลัง สามารถ Automate Mirror Updates ได้ Reflector มาพร้อม Systemd Service ทำให้อัตโนมัติ

เริ่มด้วยการเปิด Config File ด้วย Editor ที่ชอบ:

nano /etc/xdg/reflector/reflector.conf
Arch Linux Mirrorlist: คู่มืออัปเดตแบบขั้นตอน เร็ว สะดวก ไม่ยุ่งยาก

Edit File ให้รวม Preferences (Country, Sort by Rate, ฯลฯ) แล้ว Enable Timer:

sudo systemctl enable reflector.timer
sudo systemctl start reflector.timer

Mirrorlist จะ Update ทุกสัปดาห์ Default คุณได้ Mirrors ใหม่โดยไม่ต้องคิดอะไร

Tip: ถ้าติดตั้ง Arch ใหม่ด้วย archinstall จัดการ Mirror Selection ระหว่าง Setup ได้ เลือก Region ใกล้สุดให้ Mirrorlist ใช้ได้ดีจาก Day One แม้แต่นั้น Update Mirrors หลัง Install ยังคงเป็นนิสัยดี

สร้าง Mirrorlist ด้วยมือ (Manual)

ถ้าชอบไม่ติดตั้ง Tool เพิ่ม สร้าง Mirrorlist Manual ได้โดย Edit Config Files แต่ก่อนต้อง Generate List จาก Official Arch Linux Mirrorlist Generator จาก Website สร้าง List ตาม Preferences Copy Text นั้น

Arch Linux Mirrorlist: คู่มืออัปเดตแบบขั้นตอน เร็ว สะดวก ไม่ยุ่งยาก

เปิด Mirrorlist File ด้วย Editor ไหนก็ได้:

sudo nano /etc/pacman.d/mirrorlist

ลบทุกอย่างใน File (แตebackup ไว้ก่อน) วาง Text ใหม่จาก Website เซฟไฟล์

หลังเซฟ รัน:

sudo pacman -Syyu

บังคับ Pacman Refresh Package Databases ด้วย Mirror Order ใหม่ Manual Editing ใช้ได้ แต่ต้องดูแลเป็นประจำ

อีกวิธี Uncomment ทุก Server ใน Countries ที่อยากได้ แล้ว Pipe เข้า rankmirrors ใช้เวลานานมาก เพราะ Script ต้องดาวน์โหลดจากทุก Server ทดสอบ Reflector เร็วและฉลาดกว่า ใช้ Reflector ถ้าได้

สรุป

Update Arch Linux Mirrorlist อาจดูเป็น Maintenance Task เล็กน้อย แต่มัน Impact สำคัญต่อระบบ Fast, Reliable Mirrors = Updates เร็ว, Installs ลื่น ไม่ต้องรอ Packages โหลดนาน นอกจากนี้ เรียนรู้วิธีทำให้ Arch Linux เสถียรมากขึ้นได้อีก