hamed sheykhlou
hamed sheykhlou
خواندن ۲ دقیقه·۴ سال پیش

راه‌اندازی میرور ریپازیتوری اوبونتو برای کتابخانه‌های تحریمی

سلام

در مورد اینترنت تو ایران مثلی هست که میگه: می‌بندی یا ببندم؟!. نصف اینترنت رو خودمون بستیم، نصف دیگش رو اونا بستن و تحریم کردن. متاسفانه بسته های تحریم شده هم در حال افزایش هستند. به همین دلیل در این آموزش به بررسی اینکه چطور میشه یک ریپازیتوری میرور برای بسته‌های تحریم شده راه‌اندازی کرد میپردازیم. با امید به اینکه شرکتها این روندها رو انجام بدن و دسترسی به ریپازیتوری ها رو راحت تر بکنن.

مرحله ۱: نصب بسته های لازم

در این مرحله نیاز به نصب یک سرویس‌دهنده وب داریم. برای این منظور میتوان از apache یا nginx استفاده کرد. با دستور زیر بسته مورد نظر نصب خواهد شد:

sudo apt install apache2

راه‌اندازی ریپازیتوری با برنامه apt-mirror انجام میشود. در این مرحله این بسته نصب میشود (مشخصا دو بسته اشاره شده در ۱ دستور هم قابل نصب بودند)

sudo apt install apt-mirror

مرحله ۲: آماده سازی فضای ذخیره‌سازی

فضای ذخیره سازی و فضای دانلود بسته‌ها در این مرحله ساخته میشود. برای این منظور میتوان از هر آدرسی که وب سرور به آن دسترسی داشته باشد استفاده کرد. برای مثال روند زیر قابل استفاده است:

mkdir /var/www/html/repo chown www-data:www-data /var/www/html/repo

فایل تنظیمات آپاچی برای دسترسی به این آدرس به صورت زیر میتواند باشد. مساله مهم، اضافه کردن Options Indexes MultiViews برای مشاهده لیست فایل‌ها است.

<VirtualHost *:80> ServerAdmin webmaster@merepo.com ServerName merepo.com ServerAlias merepo.com DocumentRoot /var/www/html/repo <Directory &quot/var/www/html/repo&quot> Options Indexes MultiViews AllowOverride All Require all granted </Directory> SetEnvIf Request_URI &quot\.(jpg|xml|png|gif|ico|js|css|swf|js?.|css?.)$&quot DontLog SetEnvIfNoCase User-Agent &quotGooglebot&quot DontLog SetEnvIfNoCase User-Agent &quotbingbot&quot DontLog SetEnvIfNoCase User-Agent &quotMauiBot&quot DontLog SetEnvIfNoCase User-Agent baiduspider DontLog CustomLog /var/log/apache2/repo.log combined Env=!DontLog ErrorLog /var/log/apache2/repo_error.log </VirtualHost>

در ادامه وب سرور ریستارت و تست شود.

مرحله ۳: تظیمات دانلود بسته‌ها

این مرحله مرحله نهایی در سرور است. در این مرحله فایل /etc/atp/mirror.list را با ویرایشگر خود باز کنید و تغییرات زیر را اعمال کنید (تغییر آدرس ذخیره‌سازی بسته ها و اضافه کردن آدرس ریپازیتوری مورد نظر که در اینجا mysql8 است):

جایگذاری فایل شل زیر در محل مشخص شده:

sudo mkdir /var/www/html/repo/var sudo cp /var/spool/apt-mirror/var/postmirror.sh /var/www/html/repo/var

مرحله ۴: دانلود بسته‌ها

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

sudo apt-mirror

خروجی مشابه زیر خواهد بود:

استفاده از ریپازیتوری

در این آموزش، در مرحله ۲ از آدرس merepo.com به عنوان آدرس ریپازیتوری استفاده شده است. این آدرس در فایلهای شاخه /etc/apt/sources.list.d/ قابل استفاده کردن است.

برای مثال، فایلی زیر را ایجاد کنید

/etc/apt/sources.list.d/mysql8list

و محتوای زیر رو به اون اضافه کنید

deb [trusted=yes] http://merepo.com/mysql8/release/ubuntu focal main


ubunturepositorymysql8ریپازیتوریتحریم
شاید از این پست‌ها خوشتان بیاید