Hôm nay mình xin chia sẻ cách điều chỉnh server repo trên các phiên bản Ubuntu nhằm tăng tốc độ cập nhật cũng như cài đặt ứng dụng.
Tại sao phải chỉnh? Nếu máy chủ bạn ở Việt Nam, mà nó không tải server repo tại Việt Nam, mà toàn tải quốc tế? Đôi khi mạng quốc tế gặp trực trặc, lắc lư, việc cài đặt, cập nhật hệ điều hành sẽ diễn ra khá lâu. Nên chúng ta cần điều chỉnh cho nó về máy chủ trong nước.
Đối với server / vps cài từ Ubuntu thông thường: chúng ta có 2 cách.
Cách 1: Dùng lệnh sed
(Khuyến nghị)
Sao lưu file cấu hình cũ: Lỡ sai còn đường quay đầu
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
Chạy lệnh để thay thế: (Ví dụ này dùng mirror chính thức của Việt Nam)
sudo sed -i 's|http://archive.ubuntu.com/ubuntu|http://vn.archive.ubuntu.com/ubuntu|g' /etc/apt/sources.list
Lệnh này sẽ tìm và thay thế tất cả các chuỗi http://archive.ubuntu.com/ubuntu
bằng http://vn.archive.ubuntu.com/ubuntu
trong file sources.list
của bạn. Nó sẽ không ảnh hưởng đến các dòng security.ubuntu.com
.
Cách 2: Chỉnh sửa thủ công
Mở file sources.list
bằng trình soạn thảo văn bản:
sudo nano /etc/apt/sources.list
Tìm các dòng bắt đầu bằng deb
và deb-src
có chứa archive.ubuntu.com
và thay thế địa chỉ đó bằng địa chỉ mirror bạn chọn. Lưu ý không thay đổi các dòng có chứa security.ubuntu.com
.
Trường hợp đặc biệt: Cấu hình trên Cloud Image (dùng cloud-init)
Với các máy ảo được tạo từ Cloud Image, cấu hình kho phần mềm thường không nằm trong file /etc/apt/sources.list
mà được quản lý bởi cloud-init
. File cấu hình này thường ở định dạng YAML và có thể nằm tại /etc/cloud/cloud.cfg
hoặc trong một file .cfg
bên trong thư mục /etc/cloud/cloud.cfg.d/
.
Dựa trên hình ảnh bạn cung cấp, bạn cần chỉnh sửa các mục primary
để trỏ đến mirror tại Việt Nam.
Cách chỉnh sửa:
Xác định và mở file cấu hình của cloud-init: Tìm file cấu hình có chứa mục package_mirrors
. Tên file có thể khác nhau tùy nhà cung cấp cloud, ví dụ:
sudo nano /etc/cloud/cloud.cfg.d/90_dpkg.cfg
Chỉnh sửa file YAML: Tìm đến khối package_mirrors
. Bạn sẽ thay thế các giá trị trong primary
bằng địa chỉ mirror của Việt Nam (ví dụ: http://vn.archive.ubuntu.com/ubuntu/
). Điều quan trọng là giữ nguyên địa chỉ security
.
Ví dụ cấu hình sau khi sửa (dùng mirror chính thức VN):
package_mirrors:
- arches: [i386, amd64]
failsafe:
primary: http://vn.archive.ubuntu.com/ubuntu
security: http://security.ubuntu.com/ubuntu
search:
primary:
- http://vn.archive.ubuntu.com/ubuntu/
- http://%(availability_zone)s.clouds.archive.ubuntu.com/ubuntu/
- http://%(region)s.clouds.archive.ubuntu.com/ubuntu/
security: []
- arches: [arm64, armel, armhf]
failsafe:
primary: http://ports.ubuntu.com/ubuntu-ports
security: http://ports.ubuntu.com/ubuntu-ports
search:
primary:
- http://%(ec2_region)s.ec2.ports.ubuntu.com/ubuntu-ports/
- http://%(availability_zone)s.clouds.ports.ubuntu.com/ubuntu-ports/
- http://%(region)s.clouds.ports.ubuntu.com/ubuntu-ports/
security: []
- arches: [default]
failsafe:
primary: http://ports.ubuntu.com/ubuntu-ports
security: http://ports.ubuntu.com/ubuntu-ports
Lưu ý: Bạn chỉ cần sửa cho kiến trúc CPU tương ứng với máy ảo của mình (thường là amd64
).
Áp dụng thay đổi: Sau khi lưu file, bạn cần chạy lại cloud-init
để áp dụng cấu hình. Cách đơn giản nhất là khởi động lại máy ảo.
Bước cuối cùng: Cập nhật lại danh sách gói tin
Sau khi thay đổi, hãy chạy lệnh sau để hệ thống cập nhật lại từ mirror mới:
sudo apt update
Bạn sẽ thấy tốc độ tải nhanh hơn đáng kể.