How to cache all deb and rmp files using squid

  • در این مستند، مراحل راه‌اندازی یک سرور cache به منظور ذخیره کردن فایل‌های Deb و Rmp رو دنبال خواهیم کرد.
  • همچنین یک Parent Proxy برای سرویس squid در نظر خواهیم گرفت تا مخازنی که با IP مشکل دارد نیز cache شوند.
  • نکته : مخازنی که بر روی بستر https هستند قابلیت cache شدن رو ندارن
  • برای این منظور ابتدا بسته‌ی squid رو نصب کنید.
# apt-get update
# apt-get install squid
  • از پرونده‌ی تنظیمات نسخه‌ی پشتیبان تهیه کنید.
# mv /etc/squid/squid.conf /etc/squid/squid.conf.backup
  • محتویات زیر را برای پرونده‌ی تنظیمات در نظر بگیرید.
http_port 3128
acl all_sub src 0.0.0.0/0
http_access allow all_sub
acl iran_mirrors dstdomain .aminidc.com
cache_dir ufs /var/squid/cache 2000000 16 256
cache_replacement_policy heap LFUDA
maximum_object_size 100960 MB
refresh_pattern -i .rpm$ 5256000 100% 5256000 refresh-ims override-expire
# refresh_pattern -i .iso$ 5256000 100% 5256000 refresh-ims override-expire
refresh_pattern -i .deb$ 5256000 100% 5256000 refresh-ims override-expire
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
cache_peer 1.2.3.4 parent 1234 0 no-query default
never_direct deny iran_mirrors
never_direct allow all
  • در خط چهارم دامنه‌هایی که نیازی به استفاده از Parent Proxy ندارد را مشخص نموده‌ایم
  • در خط پانزدهم آدرس IP سرور Parent Proxy و پورت آن را مشخص نموده‌ایم.
  • می‌توانید پرونده‌های ISO را نیز در خط نهم فعال کنید.
  • محل ذخیره سازی cache آدرس زیر می‌باشد. (در خط پنجم اشاره شده است.)
/var/squid/cache
  • این مسیر را در سیستم ایجاد کنید.
# mkdir -p /var/squid/cache
  • گروه و کاربر این پوشه را تغییر دهید.
# chown -R proxy:proxy /var/squid/
  • در نهایت سرویس squid را راه‌اندازی مجدد نمایید.
# systemctl restart squid
  • به منظور تنظیم پروکسی بر روی اوبونتو برای دستور apt به این مستند مراجعه کنید.
  • تست شده بر روی Ubuntu 20.04