چگونه با استفاده از PI تمشک با apt-cacher-ng ، پروکسی APT ایجاد کنیم؟

اگر در جایی زندگی می کنید و با کندتر اینترنت کار می کنید و نیاز به داشتن یک سیستم سیستم دبیان و / یا اوبونتو دارید که این پروکسی مناسب به روز شده است زندگی شما را بسیار ساده تر و سریع تر انجام می دهد.


APT برنامه ای است که توزیع های Debian و Ubuntu Linux برای نصب و بروزرسانی نرم افزار خود استفاده می کنند. در پیکربندی خارج از جعبه آنها ، هنگام استفاده از برنامه برای نصب یک برنامه ، به عنوان مثال:

sudo apt install inkscape

APT بایگانی نرم افزار را از سرورهای مخزن توزیع بارگیری و نصب می کند. این کار در صورتی که بسته نرم افزاری کوچک باشد ، بسیار مفید است ، فقط چند پرونده وجود دارد که نیاز به بارگیری دارند ، و اتصال اینترنت شما سریع است.

اما اگر نرم افزار زیادی برای نصب و دفاتر پر از دستگاه های خود دارید که همه به بروزرسانی نیاز دارند و اتصال اینترنتی شما آهسته ای دارد می توانید مدت زمان زیادی طول بکشد تا همه چیزهای موجود در هر دستگاه بارگیری و نصب شوند..

سرور پروکسی ، به طور خاص یک پروکسی حافظه پنهان ، مانند apt-cacher-ng برنامه ای است که بین رایانه ای که می خواهید آن را به روز کنید و سرور مخزن که نرم افزاری را که بارگیری می کنید قرار دارد قرار دارد. دستگاهی که به روز می کنید ، به جای مخزن ، نرم افزار را از سرور پروکسی درخواست می کند ، و پروکسی پس از آن درخواست را به مخزن ارسال می کند ، نرم افزار را بارگیری کرده و آنرا دوباره به دستگاه بروزرسانی می دهد..

نکته هوشمندانه این است که پروکسی یک نسخه از تمام فایلهای نرم افزاری را که بارگیری کرده است نگه می دارد. هنگامی که یک دستگاه دیگر در شبکه محلی سعی در بارگیری همان پرونده ها دارد ، یعنی می خواهد همان نرم افزار را نصب یا به روز کند ، پروکسی در حال حاضر دارای نسخه ای است که می تواند بدون نیاز به بارگیری آن ، به دستگاه درخواست کننده بدهد..

پس از اولین بارگیری ، تمام بارگیریهای بعدی با سرعت شبکه محلی شما همراه خواهد بود.

الزامات

برای تکمیل این راهنما به موارد زیر نیاز دارید:

  • صفحه و صفحه کلید برای وصل کردن Raspberry Pi خود. اگر می توانید S Raspberry Pi خود را وارد کنید ، اختیاری هستند.
  • یک کاربر غیر root و غیر فعال در Raspberry Pi.
  • سیستم دبیان یا اوبونتو در شبکه محلی شما.

پس از تمام این نیازها ، در Raspberry PI خود به عنوان کاربر sudo وارد یک ترمینال شوید و به قسمت بعدی بروید.

نصب apt-cacher-ng

قبل از نصب هر بسته جدید در لینوکس ، همیشه انجام یک بروزرسانی سیستم ایده خوبی است. این اطمینان حاصل خواهد کرد که سیستم شما نسخه های مشابه بسته های موجود در مخازن توزیع را اجرا می کند و همچنین به روز بودن لیست محلی شما در نسخه ها. با انجام این کار اطمینان حاصل می شود که در هنگام نصب apt-cacher-ng با خطایی مواجه نشوید.

دستورات زیر سیستم شما را به روز می کنند:

$ sudo به روزرسانی مناسب
$ sudo به روز رسانی مناسب

اکنون که PI تمشک شما به روز شده است ، نصب apt-cacher-ng را نصب کنید:

$ sudo apt-apt-cacher-ng را نصب کنید

نصب کننده از شما سؤال می کند که آیا می خواهید تونل های HTTPS را از طریق apt-cacher-ng فعال کنید. شما باید به این سؤال “نه” پاسخ دهید. ما به جای نیاز به تونل ، APT را به اتصالات HTTPS پروکسی از طریق ct-cchher-ng پیکربندی می کنیم. علاوه بر این ، در صورت نیاز می توانید این گزینه ها را در پرونده پیکربندی apt-cacher-ng تغییر دهید.

مطابق با قراردادهای نرم افزاری مدرن ، هنگام نصب apt-cacher-ng ، یک فایل خدمات سیستمی ایجاد و فعال می شود. این بدان معنی است که apt-cacher-ng به طور خودکار از بوت شروع می شود و شما همچنین می توانید apt-cacher-ng را با دستورات سرویس نرمال سیستمی مدیریت کنید:

$ sudo systemctl شروع apt-cacher-ng.service
$ sudo systemctl stop apt-cacher-ng.service
$ sudo systemctl apt-cacher-ng.service را مجدداً راه اندازی کنید

apt-cacher-ng اکنون به عنوان یک Daemon سیستم در بندر 3142 گوش می دهد و آماده پذیرش اتصالات از آپارتمان است.

پیکربندی مناسب در Raspberry PI

اولین سیستمی که برای استفاده از پروکسی apt-cacher-ng پیکربندی خواهیم کرد در Raspberry PI مناسب خواهد بود. روشی که ما پیکربندی کنیم تا از پروکسی apt-cacher-ng استفاده کنیم ، نوشتن مجدد آدرس ها در پرونده منابع apt‘ است. پرونده منبع شامل لیستی از URL های مخازن است که نرم افزار توزیع برای بارگیری در دسترس است.

فایل اصلی منابع Raspbian را در /etc/apt/source.list و در نصب جدید به شرح زیر خواهید یافت:

deb http://raspbian.raspberrypi.org/raspbian/ buster نقش اصلی rpi غیر رایگان
# خط نارضایتی زیر و سپس «به روزرسانی مناسب» را فعال کنید تا منبع «مناسب-دریافت» را فعال کنید
# deb-src http://raspbian.raspberrypi.org/raspbian/ buster سهم اصلی rpi غیر رایگان

تنها خط فعال (بدون اظهار نظر) در اینجا اولین مورد است: یعنی:

deb http://raspbian.raspberrypi.org/raspbian/ buster نقش اصلی rpi غیر رایگان

ما باید این خط را تغییر دهیم بنابراین پرونده را با ویرایشگر متن باز کنید ، در اینجا از نانو استفاده می کنیم:

$ sudo nano /etc/apt/source.list

خط اول را طوری تغییر دهید که به شکل زیر باشد:

deb http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian/ buster سهم اصلی rpi غیر رایگان

کاری که شما اینجا کردید این بود که 127.0.0.1:3142 را در URL وارد کنید.

آدرس IP 127.0.0.1 همیشه IP رایانه محلی است که اغلب به عنوان “localhost” خوانده می شود. قسمت: 3142 پورت را نشان می دهد.

با فشار دادن CTRL + o ، ENTER ، CTRL + x نانو را ذخیره کرده و از آن خارج شوید.

اکنون باید تغییر مشابه در یک فایل منبع را در /etc/apt/source.list.d/raspi.list انجام دهید.

هم اکنون apt-cacher-ng آماده آزمایش هستند.

تست آپت با ct-cacher-ng

هر وقت برنامه را اجرا کنید ، کپی از پرونده های بارگیری شده را ذخیره می کند. apt این کار را انجام می دهد تا در صورت عدم نیاز به نصب مجدد بسته و در صورت عدم نصب مجدد یک نسخه محلی از بایگانی های نصب ، این کار را انجام دهد..

اگر این مخزن تغییر نکرده باشد ، این حافظه محلی به معنای آن است که هنگام اجرای به روزرسانی مناسب یا به روزرسانی مناسب ، با پروکسی تماس برقرار نخواهید کرد. بنابراین ، برای آزمایش پروکسی ، ما نیاز به پاک کردن حافظه نهان بصورت دستی داریم. دستورات زیر کلیه بسته های ذخیره شده apt clear را پاک می کند:

$ sudo rm -rf / var / lib / apt / لیست /
$ sudo rm -rf / var / cache / apt / *

اکنون با اجرای یک به روزرسانی و بررسی هرگونه خطا ، آزمایش کنید:

$ sudo به روزرسانی مناسب

شما باید چندین خط خروجی را مشاهده کنید که به نظر می رسد:

دریافت: 1 http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]

ابتدای URL http://127.0.0.1:3142/ نشان می دهد که در حال دریافت فایلهای به روز رسانی از apt-cacher-ng.

با اجرای این دستور همچنین می توانید فایل ورود به سیستم apt-cacher-ng را برای خطاها مشاهده کنید:

$ tail -f /var/log/apt-cacher-ng/apt-cacher.log

در ترمینال دوم اگر با خطایی مواجه نشدید می توانید پیکربندی یک سیستم Debian یا Ubuntu را در شبکه محلی خود انجام دهید.

پیکربندی سیستم اوبونتو یا Debian برای استفاده از ct-cacher-ng

سیستم های Debian یا Ubuntu در شبکه محلی شما که می خواهید از پروکسی apt-cacher-ng بهره مند شوید ، به هیچ نرم افزاری اضافی نصب نشده نیاز دارید. تمام کاری که شما باید انجام دهید این است که مجدداً پرونده های منبع خود را بنویسید تا آنها بجای تماس مستقیم با مخزن ، تمام به روزرسانی های خود را از apt-cacher-ng جمع کنند..

تغییری که شما نیاز به ایجاد پرونده های منابع دارید دقیقاً مشابه با ویرایشی است که شما در منابع Raspberry PI ایجاد کرده اید به جز اینکه شما نیاز دارید از آدرس IP Raspberry PI به جای 127.0.0.1 استفاده کنید.

این بدان معناست که ابتدا باید IP IP Raspberry Pi خود را تهیه کنید. ساده ترین راه برای به دست آوردن آدرس IP Raspberry PI ، اجرای دستور زیر در یک ترمینال در Raspberry PI است:

$ hostname -I

با این کار آدرس های IP را که Raspberry PI در آن قرار دارد چاپ می کند. از اولین آدرس IP IPv4 استفاده کنید. در اینجا از آدرس مثال 192.168.0.2 استفاده خواهم کرد. شما باید IP IP Raspberry PI خود را جایگزین کنید.

به دستگاه مشتری برگردید ، فایل اصلی را با استفاده از ویرایشگر متن باز کنید ، در اینجا ما از نانو استفاده می کنیم:

$ sudo nano /etc/apt/source.list

این پرونده حاوی خط هایی با همان فرمت با لیست های /etc/apt/source.list Raspberry PI است. در اینجا نمونه ای از نصب Debian Buster آورده شده است:

deb http://ftp.debian.org/debian buster main

شما باید این خطوط را به شرح زیر ویرایش کنید با استفاده از IP Raspberry PI خود به عنوان مثال:

deb http://192.168.0.2:3142/ftp.debian.org/debian buster main

کلیه خطوط را در /etc/apt/source.list و هر پرونده منابع دیگر در زیر /etc/apt/source.list.d/ ویرایش کنید. سپس هر پرونده محلی را برای آزمایش حذف کنید:

$ sudo rm -rf / var / lib / apt / لیست / *
$ sudo rm -rf / var / cache / apt / *

دوباره سیستم را به روز کنید:

$ sudo به روزرسانی مناسب
$ sudo به روز رسانی مناسب

خروجی از apt باید نشان دهد که پرونده های به روزرسانی از طریق پروکسی apt-cacher-ng با چاپ خطوط مانند موارد زیر که شامل IP پروکسی است ، نشان می دهد:

آمار: 1 http://192.168.0.2:3142/ftp.debian.org/debian buster InRelease

این دستگاه اکنون کاملاً پیکربندی شده است تا از پروکسی جدید شما استفاده کند. شما باید در آینده فایلهای جدیدی را که در آینده به این دستگاه اضافه می کنید ویرایش کنید ، شامل هر خط جدیدی که برای ارتقاء توزیع اضافه می شود.

APT از طریق HTTPS

فایلهای منبعی که تاکنون به بررسی آنها رفته ایم ، همگی از اتصالات HTTP استفاده کرده اند. این یک تصمیم طراحی آگاهانه دبیان و اوبونتو است زیرا بایگانی های نصب دارای امضاهای رمزنگاری داخلی هستند که جلوی دستکاری سوء استفاده را می گیرند. بنابراین HTTPS امنیت زیادی را به وجود نمی آورد ، در حالی که به طور قابل توجهی به بار مهندسی داشتن تعداد زیادی آینه های جغرافیایی متنوع اضافه می کند..

با این حال ، استفاده از HTTPS چند مزیت دارد که به معنی برخی از مخازن غیر رسمی ، از HTTPS استفاده می کند. apt-cacher-ng از دو روش دست زدن به مخازن HTTPS پشتیبانی می کند.

اولین مورد انتقال اتصالات از مشتری به طور مستقیم به سرور مخزن است. این نتیجه ناگوار دارد که بسته ها توسط apt-cacher-ng ذخیره نمی شوند. اگر می خواهید apt-cacher-ng را در این حالت اجرا کنید ، سپس ویرایشگر متن /etc/apt-cacher-ng/acng.conf را باز کنید:

$ sudo nano /etc/apt-cacher-ng/acng.conf

و خط زیر را اضافه کنید:

PassThroughPattern:. *

با استفاده از cacher-ng ، این امکان را می دهد که اتصالات HTTPS از مشتری به مخزن منتقل شود..

روش دوم اصلاح خطوط مخزن در پرونده های منبع مشتری است به طوری که مشتری از طریق HTTP به ct-cacher-ng وصل شود اما apt-cacher-ng از طریق HTTPS به مخزن متصل می شود. بسته ها بارگیری می شوند و از طریق HTTPS به ct-cacher-ng منتقل می شوند ، سپس از طریق HTTP به دستگاه مشتری ارسال می شوند. apt-cacher-ng قادر به ذخیره کردن بسته ها است و ما مزایای HTTPS را از دست نمی دهیم.

خط منابع زیر برای دسترسی به مخزن Docker از طریق HTTPS است:

deb [arch = amd64] https://download.docker.com/linux/debian Buster پایدار

هنگام ویرایش خطوط HTTP ، 192.168.0.2:3142 را به URL اضافه کردید. وقتی خطوط HTTPS را ویرایش می کنید ، باید 192.168.0.2:3142/HTTPS//// به عنوان مثال اضافه کنید:

deb [arch = amd64] http://192.168.1.67:3142/HTTPS///download.docker.com/linux/ شیب شکن پایدار

اکنون دستگاه مشتری از طریق HTTP بسته را از apt-cacher-ng درخواست می کند و apt-cacher-ng بسته های Docker را از طریق HTTPS بارگیری و ذخیره می کند..

مدیریت apt-cacher-ng

یک رابط کاربری گرافیکی وب برای مدیریت برنامه های مختلف در شبکه محلی شما در دسترس است. برای دسترسی به این رابط کاربری گرافیکی ، باید مرورگر خود را به این موارد اشاره کنید:

http: //: 3142 / acng-report.html

جایگزینی مثال شبکه محلی IP ، 192.168.0.2 ، به ما می دهد:

http://192.168.0.2:3142/acng-report.html

بخش اول و مهمترین بخش رابط کاربری گرافیکی ، “آمار انتقال” ، مقدار داده های بارگیری شده از داده های Vs مخازن را که از حافظه نهانگاه ذخیره شده است ، به شما اطلاعات می دهد. تصویر زیر این بخش از GUI را نشان می دهد:

بخش “راندمان حافظه نهان” به شما اطلاع می دهد که چند پرونده apt-cacher-ng‘ از حافظه نهان خود که در پشتیبان حافظه نهان قرار دارند ، خدمت می کنند. “بازدید” فایلهایی را نشان می دهد که پروکسی که از حافظه پنهان و “گمشده ها” ارائه می شود پرونده هایی هستند که دستگاه پروکسی از مخزن بارگیری کرده و به حافظه نهان اضافه شده است..

مدیریت حافظه نهان

پرونده هایی که برنامه نویسی برنامه نویسی را بارگیری کرده و به دستگاههای مشتری در شبکه محلی شما منتقل می شوند ، با توسعه دهندگان نسخه جدیدی را به مخزن اضافه می کنند. هنگامی که این اتفاق می افتد ، این استک آپ های cacher-ng باید آنها را از حافظه نهان پاک کنند زیرا دیگر لازم نیست و فضای درایو شما را اشغال می کند. Raspberry PI حافظه پنهان را مرور می کند و پرونده های قدیمی را بطور خودکار حذف می کند.

هنگامی که apt-cacher-ng را نصب کردید ، یک فایل cron نیز در آن نصب کردید:

/etc/cron.daily/apt-cacher-ng

این کار هر روز توسط کرون اجرا می شود که حافظه نهان را برای شما پاک می کند.

اگر می خواهید حافظه نهان را به صورت دستی مرور و پاک کنید ، باید وارد GUI وب شوید و روی دکمه “شروع اسکن و / یا انقضا” با کلیک بر روی کلیک کنید. انجام این کار معمولاً ضروری نیست ، اما در صورت بروزرسانی سریع مخازن ، ممکن است لازم باشد این کار را انجام دهید.

اکنون یک پروکسی مناسب و کارآمد دارید که بار شبکه به روزرسانی های بزرگ و مکرر سیستم را در مطب یا خانه شما کاهش می دهد.

علاقه مند به کاوش تمشک پی, این دوره آنلاین را ببینید.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map