PDA

View Full Version : Sử dụng apt-cacher để update nhanh



lelongt1k4
02-10-2009, 12:55 AM
Trong công ty bạn có nhiều máy cài ubuntu mà lại không có điều kiện triển khai local repo, mỗi khi update thì vừa tốn bandwith lại vừa chậm.Sau đây là một số cách để giảm thiểu thời gian chờ đợi update của bạn.
+) Cách thủ công : Để 1 máy update xong rồi cop toàn bộ file .deb trong thư mục /var/cache/apt/archives của máy đó sang các máy còn lại, rồi update các máy còn lại như bình thường.
+) Cách chuyên nghiệp hơn : Dùng apt-cacher. Sau đây mình sẽ hướng dẫn cài đặt và cấu hình apt-cacher.
- Trước hết, ta sẽ tìm hiểu qua xem apt-cacher làm việc như thế nào?
Đơn giản apt-cacher làm việc như proxy server, nhận request cài đặt(update) (các gói) từ các máy trong mạng LAN, nếu các gói đó chưa có sẵn, apt-cacher sẽ down các gói đấy từ repo trên Internet về, lưu lại rồi chuyển cho các máy trong LAN, nếu có sẵn từ lần request trước thì apt-cacher sẽ chuyển ngay cho các máy trong LAN. Như vậy có thể thấy không tốn nhiều dung lượng đĩa để có thể triển khai được apt-cacher.
- Cài đặt : Khá đơn giản, bạn chỉ cần gõ:


sudo aptitude install apt-cacher


- Cấu hình: Hướng dẫn một số cấu hình cơ bản

+ File config của apt-cacher có nội dung sau (without comment)


cache_dir=/var/cache/apt-cacher
admin_email=root@localhost
daemon_port=3142
group=www-data
user=www-data
allowed_hosts=*
denied_hosts=
allowed_hosts_6=fec0::/16
denied_hosts_6=
generate_reports=1
clean_cache=1
offline_mode=0
logdir=/var/log/apt-cacher
expire_hours=0
use_proxy=0
use_proxy_auth=0
limit=0
debug=0

+ sửa allowed_hosts=192.168.1.0/24 (192.168.1.0/24 là dải mạng ở cty bạn )
+ generate_reports : set giá trị 1 thì apt-cacher sẽ ghi lại report hàng ngày, nếu không có nhu cầu bạn để giá trị 0.
+ thêm dòng sau đây:


path_map = ubuntu archive.ubuntu.com/ubuntu; ubuntu-updates archive.ubuntu.com/ubuntu ; ubuntu-security security.ubuntu.com/ubuntu

Có nghĩa là ta gán tên ubuntu cho link archive.ubuntu.com/ubuntu, tên ubuntu-updates cho link rchive.ubuntu.com/ubuntu.
+ Nếu muốn cài một phần mềm cần link mới thì như thế nào? Ví dụ để cài ibus-unikey có link là http://ppa.launchpad.net/mr.lequoctuan/ppa/ubuntu thì bạn thêm vào path_map như sau:


ibus-unikey ppa.launchpad.net/mr.lequoctuan/ppa/ubuntu


Khi đó path_map trở thành:


path_map = ubuntu archive.ubuntu.com/ubuntu; ubuntu-updates archive.ubuntu.com/ubuntu ; ubuntu-security security.ubuntu.com/ubuntu ; ibus-unikey ppa.launchpad.net/mr.lequoctuan/ppa/ubuntu


+ Đổi giá trị cho biến AUTOSTART thành 1 trong file /etc/default/apt-cacher
- Import cache cũ :


sudo /usr/share/apt-cacher/apt-cacher-import.pl /var/cache/apt/archives

- Khởi động lại apt-cacher


$sudo /etc/init.d/apt-cacher restart


- Kiểm tra apt-cacher chạy chưa:


http://localhost:3142


- Tại các máy trong LAN, sửa lại file source list thành :


deb http://[ip của máy chạy apt-cacher]:3142/ubuntu jaunty main restricted
deb http://[ip của máy chạy apt-cacher]:3142/ubuntu-security jaunty main restricted
.....

- Sau đấy update bình thường