Skip to content

Thiết lập local repo cho ubuntu và centos sử dụng apt-cacher-ng#

Apt-cacher-ng là gì?#

Apt-Cacher-NG là một caching proxy server, sau khi cài đặt, nó sẽ “cache” các gói đã download từ trên internet về và đặt tại server cho những lần sử dụng sau. Nhờ vậy, các máy khác lần sau sẽ không cần phải mất thời gian tải các packages từ trên internet về nữa.

Hoạt động theo mô hình client server. Với apt-cacher-ng, chúng ta có thể theo dõi sự update và download các gói phần mềm được thiết lập và hỗ trợ sử dụng trong cả các môi trường.

Warning

Bài viết này có thể không còn phù hợp với phiên bản hệ điều hành mới nhất. Khuyến nghị bạn tham khảo thêm các tài liệu cập nhật.

Các tính năng: - Người dùng có thể tích hợp dữ liệu từ file ISO - hoặc DVD vào apt-cacher-ng bằng cách sử dụng tùy chọn “import”. - Giúp giảm băng thông đường truyền ra Internet. - Tăng tốc độ download package. - Tăng tính đồng bộ về các phiên bản của các package.

Cấu hình#

Cấu hình trên server ubuntu 16.04#

Cài đặt apt-cacher-ng

apt-get install apt-cacher-ng -y

Sau khi đã cài đặt, apt-cacher-ng sẽ tự động được khởi động. Mở file cấu hình của apt-cacher-ng (/etc/apt-cacher-ng/acng.conf) và chỉnh sửa các nội dung như sau:

Bỏ comment các nội dung sau

Cấu hình thư mục chứa các tất cả các package được cài đặt và cập nhật:

CacheDir: /var/cache/apt-cacher-ng

Kích hoạt chế độ ghi lại log để tiện theo dõi sau này:

LogDir: /var/log/apt-cacher-ng

Cấu hình port của apt-cacher-ng (mặc định là 3142, có thể thay đổi được):

Port:3142

Cấu hình BindAddress là những địa chỉ mà server dùng để nhận request từ các client, 0.0.0.0 đại diện cho tất cả địa chỉ IPv4:

# BindAddress: localhost 192.168.7.254 publicNameOnMainInterface
BindAddress: 0.0.0.0
Kích hoạt chế độ ghi lại report về lưu lượng và request qua apt-cacher-ng trên giao diện web (mặc định đã kích hoạt)

ReportPage: acng-report.html

Để chạy dịch vụ apt-cacher, cần kích hoạt pid file như sau:

PidFile: /var/run/apt-cacher-ng/pid
Để sử dụng các repo https thông qua ssl/tls, thêm cấu hình sau:

PassThroughPattern: .*

Cấu hình ngày hết hạn cho các file cache, mặc định là 4 ngày.

ExTreshold: 4

Thiết lập để lưu cache cho cả centos

Thêm vào file config những dòng sau để cấu hình các mirror, và cấu hình cho phép các client tìm kiếm mirror

Remap-centos: file:centos_mirrors /centos
VfilePatternEx: ^/\?release=[0-9]+&arch=
VfilePatternEx: ^(/\?release=[0-9]+&arch=.*|.*/RPM-GPG-KEY-examplevendor)$

Lưu lại cấu hình.

Chạy lệnh sau để tiến hành tạo mirror list và ghi vào file /etc/apt-cacher-ng/centos_mirrors:

curl https://git.centos.org/centos/centos.org/raw/401d0737fb265da6b783c08aebdc6f30307503d0/f/download/full-mirrorlist.csv | sed 's/^.*"http:/http:/' | sed 's/".*$//' | grep ^http >/etc/apt-cacher-ng/centos_mirrors

Khởi động lại dịch vụ apt-cacher:

sudo /etc/init.d/apt-cacher-ng restart 
# or
sudo service apt-cacher-ng restart 

Cấu hình trên máy client#

Tiến hành cấu hình cho các client để sử dụng server như một proxy cài package.

Với client là ubuntu, chạy lệnh sau vơi x.x.x.x là IP nhận request của server:

echo 'Acquire::http { Proxy "http://x.x.x.x:3142"; };' > /etc/apt/apt.conf.d/01proxy

Với client là centos, chạy lệnh sau:

echo "proxy=http://x.x.x.x:3142" >> /etc/yum.conf