آنچه در این مقاله میخوانید
میرور نرم افزاری چیست؟ مخزنی، مناسب اینترنت ملی
۱۳ اردیبهشت ۱۴۰۵
فرقی نمیکند که یک توسعهدهنده باشید یا یک کارشناس ارشد شبکه؛ همواره در محیط کاری خود، نیاز به ابزاری نرمافزاری خواهید داشت که لازمه دسترسی به آن، در اکثر مواقع، اینترنت است. فرض کنید که یک توسعهدهنده React هستید و میخواهید طراحی فرانتاند یک پروژه زیبا را، آغاز کنید. در این مرحله، اولین کاری که باید بکنید، شاید اجرای دستور زیر باشد:
npx create-react-router@latest
در مواقع اینچنینی، باید حتماً به اینترنت بینالمللی دسترسی داشته باشید (به طور خوشبینانه، اگر که سایت هدف، ایران را تحریم نکرده باشد). اما ممکن است شرایط، عادی نباشد و به دلایل مختلف، دسترسی به اینترنت بینالملل، با محدودیتهای خیلی شدید و یا قطعی کامل، مواجه باشد.
اینجاست که میرورهای لیارا، به کار میآیند. در ادامه، به معرفی میرور نرمافزاری و نحوه عملکرد آن، خواهیم پرداخت. با ما همراه باشید:
- میرور نرمافزاری چیست؟
- مخزن نرمافزاری چگونه کار میکند؟
- لیارا چه میرورهایی را ارائه میدهد؟
- نتیجهگیری
- سوالات متداول

میرور نرم افزاری چیست؟
میرور رجیستری (Mirror Registry) که به آن، مخزن/میرور نرمافزاری نیز گفته میشود؛ یک نسخه کپی از یک Repository رسمی و اصلی است. به عنوان مثال، وقتی میگوییم لیارا، میرور داکرهاب را ارائه میدهد، یعنی یک نسخه کپی از داکرهاب دارد که تقریباً شامل تمامی Docker Imageهایی است که خود داکرهاب، ارائه میدهد.
میرور نرمافزاری، یک واسطه است و به کاربران ایرانی، این امکان را میدهد تا به جای دانلود از سرورهای اصلی (که خارج از کشور مستقر هستند)، از سرورهای داخلی، دانلود خود را انجام بدهند.
مخازن نرمافزاری انواع مختلفی دارند، از جمله:
- میرورهای توزیع لینوکسی مانند میرور اوبونتو (شامل ابزارهای لینوکس)
- میرورهای پکیجی مانند میرور npm (شامل پکیجهای زبانهای برنامهنویسی)
- میرورهای کانتینری مانند میرور مایکروسافت (شامل ایمیجهای Docker و کوبرنتیز)
مخزن نرم افزاری چگونه کار می کند؟
یک میرور نرمافزاری کار خود را در سه مرحله انجام میدهد:
- ذخیرهسازی دادهها
- مدیریت وابستگیها
- درخواست/دریافت
در ادامه، به توضیح مختصر هر مرحله، پرداخته شده است.
مرحله اول: ذخیره سازی داده ها
یک میرور رجیستری خوب در ابتدای کار خود، پکیجها، داکرایمیجها و سایر دادههای مورد نیاز خود را با روشهای مختلف از منبع اصلی، دانلود میکند. افزون بر خود نرمافزار، متادیتا (اطلاعات اضافی و وابستگیهای نرمافزار) آن نرمافزار نیز، توسط سیستم، دانلود میشود.
مرحله دوم: مدیریت وابستگی ها
فرض کنید که قصد دارید از نرمافزار A استفاده کنید. اما این نرمافزار برای اجرا به نرمافزار B و C نیز، نیاز دارد. در واقع نرمافزارهای B و C وابستگیهای نرم افزار A به شمار میروند که سیستم در حین دانلود نرمافزار A، اطلاعات مربوط به وابستگیها را در متادیتای نرمافزار A، قرار داده است.
وقتی که شما تصمیم به دانلود نرمافزار A از میرور رجیستری دارید، میرور ابتدا وابستگیها را بررسی و دانلود میکند و سپس به سراغ دانلود نرمافزار اصلی، میرود. بدین شکل، وابستگیها، توسط میرور، مدیریت میشود.
مرحله سوم: درخواست/دریافت
این مرحله، سادهترین بخش میرور است. شما درخواست دانلود میدهید؛ میرور نام نرمافزار را چک میکند و اگر آن را داشته باشد، اجازه دسترسی به آن را برای شما صادر میکند و در نهایت، شما نرمافزار را در سیستم خود، خواهید داشت.

لیارا چه میرورهایی را ارائه می دهد؟
در حال حاضر، تا اردیبهشت 1405، لیارا، میرورهای نرمافزاری زیر را ارائه میدهد:
میرورهای توزیعهای لینوکسی:
- ubuntu
- debian
- fedora
- centos
- opensuse
- rocky linux
- alpine linux
- arch linux
- manjaro
میرورهای رجیستری کانتینرها:
- dockerhub
- ghcr
- quay
- k8s
- mcr
میرورهای پکیجمنیجرها و زبانهای برنامهنویسی:
- composer (laravel & php)
- go
- npm (nodejs)
- nuget (dotnet)
- pypi (python)
برای کار با میرورها، میتوانید به صفحه مخزن نرم افزاری لیارا، مراجعه کنید.
نتیجه گیری
برنامهنویسی، همواره چالش برانگیز بوده و هست؛ و عدم دسترسی به اینترنت بینالمللی، یکی از مهمترین محدودیتهایی است که یک توسعهدهنده ممکن است با آن مواجه شود. عدم امکان دانلود یک پکیج ساده، شاید آخرین چیزی باشد که یک توسعهدهنده در مسیر پر پیچ و خم توسعه برنامه خود، میخواهد.
خوشبختانه، لیارا این چالش را برای geekهای ایرانی، حل کرده است. شما میتوانید تنها با دنبال کردن مستندات اتصال به میرورهای نرمافزاری، به سادگی، به صورت کاملاً رایگان، از میرورهای نرمافزاری لیارا، استفاده کنید.

سوالات متداول
مزایای میرور نرم افزاری چیست؟
از جمله مزایای میرور نرمافزاری، میتوان به موارد زیر اشاره کرد:
- عدم نیاز به اینترنت بینالمللی برای دانلود نرمافزارها
- دور زدن تحریمها بدون نیاز به استفاده از آیپیهای غیر ایرانی
- افزایش سرعت دانلود به خاطر سرورهای داخل ایران
- کاهش ملموس هزینههای تمامشده از جمله هزینه ترافیک
- پایداری و در دسترس بودن در شرایط مختلف نظیر نت ملی و جنگ
مدل های همگام سازی در میرورها به چه صورت است؟
میرورها، به صورت کلی، سه مدل همگامسازی دارند:
- میرور کامل (Full) که در یک زمانبندی خاص، تمامی موارد از مخزن اصلی، مو به مو، کپی میشوند.
- میرور بر اساس تقاضا (On-Demand) که طبق نیاز کاربر خودش را با مخزن اصلی، آپدیت میکند.
- میرور انتخابی (Selective): ترکیبی از دو مدل اول شامل یکسری نسخهها یا نرمافزارهای خاص.