Nếu bạn dùng Arch Linux, và thắc mắc tại sao một cập nhật đơn giản mất cả đời, ngay cả với internet tốt, có thể do mirrorlist lỗi thời hoặc sắp xếp kém. Giữ mirrorlist cập nhật và tươi mới làm hệ thống chạy mượt. Hãy đi sâu vào mirrorlist Arch Linux, chúng là gì, và cách cập nhật bằng nhiều phương pháp.
Mirrorlist của Arch Linux là gì
Khi bạn bảo package manager pacman cập nhật Firefox hoặc lấy kernel Linux mới nhất, nó không tự động kéo từ đám mây. Nó phải kết nối đến một server cụ thể ở đâu đó trên thế giới để tải file. Những server này gọi là mirror (gương).
Nói cách khác, mirror Arch Linux đơn giản là server lưu bản sao kho Arch Linux chính thức. Có hàng trăm mirror rải khắp cầu thế giới. Một số do trường đại học duy trì, một số do ISP, và những cái khác bởi người đam mê Linux chuyên tâm.
Mirrorlist chính là file text đơn giản đặt tại /etc/pacman.d/mirrorlist trên hệ thống. Nếu mở file đó ngay bây giờ, bạn sẽ thấy danh sách dài địa chỉ web, mỗi cái trỏ đến một mirror khác nhau. Pacman đọc danh sách này từ trên xuống và thử mirror khả dụng đầu tiên. Nếu mirror đó chậm, offline, hoặc chưa sync một tuần, tải xuống sẽ chậm hoặc thất bại. Khi bạn chạy pacman -Syu hoặc cài mới, pacman kéo package từ các mirror này.
Hơn nữa, Arch không tự động sắp xếp mirror theo tốc độ hoặc vị trí. Nghĩa là bạn có thể tải package từ bên kia hành tinh trong khi mirror nhanh hơn ngồi yên phía dưới danh sách. Tóm lại, mirrorlist quyết định hệ thống lấy phần mềm từ đâu. Mirrorlist được bảo trì tốt làm cập nhật nhanh và tin cậy. Mirrorlist bị bỏ bê biến mỗi cập nhật thành bài test kiên nhẫn.
Nếu bạn thắc mắc tại sao cần nhiều mirror, đó là vì chúng phân tán tải, đảm bảo dự phòng, và cung cấp đa dạng địa lý để user toàn cầu truy cập package hiệu quả.
Tại sao cần cập nhật Mirrorlist
Có nhiều lý do cập nhật mirrorlist. Rõ ràng nhất là tốc độ. Server nhanh khi bạn cài Arch có thể quá tải hôm nay. Có thể server đang bảo trì, hoặc đơn giản là ngày xui. Trên phần cứng chậm hoặc cũ, điều này tạo ra sự khác biệt rõ rệt.
Vấn đề thường gặp khác là lỗi failed retrieving file. Chúng xảy ra vì một số mirror chậm đồng bộ so với kho Arch chính. Khi pacman yêu cầu phiên bản package mà mirror chưa có, mọi thứ vỡ.
Cập nhật mirrorlist đảm bảo hệ thống nói chuyện với server nhanh và phản hồi nhất hiện có. Mirrorlist tươi ưu tiên mirror đồng bộ thường xuyên, giảm cơ hội cập nhật thất bại hoặc một phần. Ngay với kết nối internet khiêm tốn, mirror gần có thể bão hòa băng thông. Mirror xa thường không thể.
Hơn nữa, Arch theo mô hình rolling release. Nghĩa là cập nhật thường xuyên. Giữ mirrorlist cập nhật phù hợp tự nhiên với bảo trì hệ thống định kỳ, giống như dọn cache hay kiểm tra dung lượng ổ đĩa.
Cách cập nhật Mirrorlist
Có vài cách cập nhật mirrorlist Arch Linux, nhưng phương pháp hiệu quả nhất là dùng công cụ reflector. Công cụ này quản lý mirror Arch Linux theo thiết kế. Nó lấy dữ liệu mirror mới nhất, test mirror dựa trên tốc độ và đồng bộ, và tạo mirrorlist sạch cho bạn.
Trước khi thay đổi, backup mirrorlist hiện tại. Mở terminal và chạy:
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
Bây giờ bạn an toàn. Tiếp, đảm bảo reflector đã cài. Nếu chưa, cài bằng:
sudo pacman -S reflector
Bạn chạy reflector với các cờ (tùy chọn) khác nhau để kiểm soát chọn mirror. Đây là lệnh 확실 để lấy mirror nhanh, cập nhật:
sudo reflector --country US --protocol https --latest 10 --sort rate --save /etc/pacman.d/mirrorlist
Lệnh này chọn mirror đồng bộ gần đây, sắp xếp theo tốc độ tải, và lưu kết quả trực tiếp vào file mirrorlist. Bạn thay US bằng quốc gia của mình hoặc bỏ qua tùy chọn country nếu thích mirror toàn cầu.
Sau khi chạy, làm mới database pacman bằng:
sudo pacman -Syu
Bạn có thể nhận thấy khác biệt tốc độ ngay lập tức.
Cập nhật mirror tự động với timer
Nếu thích mọi thứ chạy thầm nền, bạn cũng có thể tự động cập nhật mirror. May mắn thay, Reflector đi kèm systemd service làm điều này tự động.
Bắt đầu bằng mở file cấu hình với trình soạn thảo ưa thích, ví dụ:
nano /etc/xdg/reflector/reflector.conf
Tiếp theo, chỉnh file đó để bao gồm tùy chọn của bạn (quốc gia, sắp xếp theo rate, v.v.). Sau đó, bật timer:
sudo systemctl enable reflector.timer
sudo systemctl start reflector.timer
Điều này cập nhật mirrorlist hàng tuần mặc định. Bạn nhận mirror tươi mà không cần nghĩ đến nó.
Mẹo: Nếu bạn cài Arch Linux từ đầu dùng archinstall, bạn có thể xử lý chọn mirror trong lúc cài. Chọn khu vực gần nhất cho mirrorlist tốt từ ngày đầu. ngay cả vậy, cập nhật mirror sau cài vẫn thói quen tốt.
Tạo Mirrorlist thủ công
Nếu bạn không muốn cài công cụ thêm, bạn có thể tạo mirrorlist thủ công bằng chỉnh sửa file cấu hình. Nhưng trước bạn cần tạo danh sách dùng official Arch Linux mirrorlist generator. Từ trang web, bạn tạo danh sách theo sở thích và copy text đó.
Tiếp theo, mở file mirrorlist với trình soạn thảo bất kỳ:
sudo nano /etc/pacman.d/mirrorlist
Xóa hết nội dung file (nhưng đảm bảo đã backup), dán text mới từ web, và lưu file.
Sau khi lưu, chạy:
sudo pacman -Syyu
Lệnh này ép pacman làm mới database package dùng thứ tự mirror cập nhật. Chỉnh thủ công hoạt động, nhưng đòi hỏi chú ý thường xuyên.
Bạn cũng có thể uncomment mọi server trong quốc gia cụ thể bạn muốn và pipe file đó vào lệnh rankmirrors. Nó mất lâu vì script phải tải dữ liệu từ từng server để test. Reflector nhanh và thông minh hơn, nên dùng nó nếu có thể.
Tóm lại
Cập nhật mirrorlist Arch Linux có vẻ như tác vụ bảo trì nhỏ, nhưng tác động có thể lớn đối với hệ thống. Mirror nhanh, tin cậy nghĩa là cập nhật nhanh, cài đặt mượt, và ít thời gian chờ package tải. Hơn nữa, bạn cũng có thể học cách làm Arch Linux ổn định hơn.