اگر در خانه یا شرکت، چند سامانهٔ راینشی مانند لپتاپ و رایانهٔ شخصی داشته و روی تمامشان توزیعهای گنو/لینوکس مشترکی داشته باشید، برای ارتقای آنها باید چندین بار بستههای مشترکی را بارگیری کنید. به نظر بسیار مناسب بود، اگر میتوانستیم این بستهها را یک بار گرفته و چندین بار بدون دردسر استفاده کنیم. اگر چنین موردی ذهن شما را مشغول کرده، به apt-cacher-ng سلام کنید!
به طور خیلی ساده، سامانههایی که میخواهند ارتقا یابند، به جای اتّصال مستقیم به مخزن بستههای آن توزیع، به apt-cacher-ng وصل میشوند. apt-cacher-ng بستهها را بارگیری کرده و در خود نگهداری میکند؛ و همزمان یک رونوشت از آن بسته را به رایانهای که بسته را درخواست کرده، تحویل میدهد. هنگامی که رایانهٔ دیگری آن بسته را از کارساز apt-cache-ng درخواست کند، دیگر apt-cache-ng آن بسته را بارگیری نمیکند.
نصب برنامه
برای نصب برنامه کافی است تا در ترمینال دستور زیر را اجرا کنید:
sudo apt-get install apt-cacher-ng
تنظیمات سرور
این برنامه بر روی پورت ۳۱۴۲ به صورت پیش فرض ارائه سرویس می کند.فایل تنظیمات این برنامه در مسیر etc/apt-cacher-ng/acng.conf/ قرار دارد که به به قرار زیر است:
CacheDir: /var/cache/apt-cacher-ng: تعیین مسیر برای قرار گرفتن بسته ها.
Port:3142: تعیین پورت مورد استفاده این برنامه.
ReportPage: acng-report.html: تعیین نام فایل گزارشات مربوط به مسیر زیر
http://localhost:3142/acng-report.html
تنظیمات کلاینت
از آنجایی که این برنامه به صورت پراکسی سرور به کلاینت ها سرویس دهی می کند. لازم است تا کلاینت هایی که نیاز به استفاده از این سرویس دارند یک فایل با هر نامی در مسیر etc/apt/apt.cond.d/ ایجاد کنند و کد زیر را داخل آن قرار دهند. برای مثال نام آن فایل را etc/apt/apt.conf.d/01proxy/ می گزاریم:
Acquire::http::Proxy "http://<domain_name>:3142";
و در کلاینت هایی که RedHat base می باشند، لازم است تا این پروکسی در فایل تنظیمات yum در مسیر etc/yum.conf کد زیر اضافه شود:
proxy=http://<domain_name>:3142
بعد از آن تمامی کلاینت ها بسته های مورد نیاز خود را از طریق آن سرور دریافت می کنند.
کنترل سرویس
این برنامه یک محیط تحت وب جهت کنترل و حتی وارد کردن برخی بسته هااز روی cd/dvd و یا حتی برخی بسته ها که دستی تولید می شوند، می باشد. که از طریق آدرس زیر امکان پذیر است:
http://<domain_name>:3142/acng-report.html