وقتی یک مجموعه و سازمان امنیتی یا شرکتهایی که تراکنش زیادی برای پروسههای نصب و به روزآوری نرمافزارهای خود از سیستم عاملهای بر پایه لینوکس استفاده میکنند، راه اندازی یک یا چند مخزن نرم افزاری لوکال و پرایویت نیاز است. این کار زمانی کاربردیتر میشود که آن مجموعه یا سازمان یا شرکت به دلایل امنیتی استفاده از مخازن خارج شبکه خود و حتی در بدترین حالت مخازن خارج از ایران را برای همه سیستمها جز خط قرمزهای خود به حساب بیاورد ! (تجربه شخصی)
مدتی پیش برای یکی از پروژهها که از CentOS 6 برای سرورها و Fedora 19 برای کلاینتها استفاده میشد به این مورد نیاز پیدا کردیم که یک مجموعه مخزن نرم افزاری لوکال/ پرایویت بر روی چند سرور پیاده سازی کنیم. به واسطه تعدد سرورها و مخازن، استفاده از کامند برای تکتک سرورها و همچنین اجرای دورهای آنها برای سینک کردن آنها با مخازن اصلی CentOS و Fedora از اسکریپتی که برای این کار نوشتم استفاده شد که از لینک پایین میتوانید آنرا دانلود کنید.
این اسکریپت شامل مخازن رسمی CentOS 6 و EPEL 6 و Fedora 19 میباشد. برای راه اندازی مخازن اختصاصی برای مجموعه و شرکت خود یا ایجاد مخزن Mirror به صورت عمومی جهت کمک به این دو پروژه آزاد و اوپن سورس در درجه اول به یک کانکشن اینترنت با سرعت بالا نیاز دارید. در درجه دوم یک سرور با مشخصات سخت افزاری خوب بسته به ترافیکی که روی آن خواهد بود و مقدار فضای ۵۰۰ گیگابایت هارددیسک برای ذخیره سازی پکیجهای نرم افزاری.
پس از دانلود اسکریپت از لینک انتهای همین پست با استفاده از کامند زیر آنرا اجرا کنید. اجرای این اسکریپت به واسطه دانلود حجم زیادی از فایلها (حدود ۳۰۰ گیگ) و سرعت کانکشن اینترنتتان مدتی از زمان شما را خواهد گرفت.
sh Fedora-CentOS-Repositories-Mirror-Creator.sh
پس از اجرای این اسکریپت و اتمام آن با موفقیت، مخزن Mirror شما آماده برای استفاده است. ولی نیاز است که به صورت پریودهای زمانی، مخزن شما با مخازن اصلی CentOS و Fedora همگامسازی یا اصطلاحا سینک شود. این دوره زمانی به صورت هر ۱۵ یا ۳۰ دقیقه یکبار کافی است. پس برای این کار نیاز است که ابتدا CronJobs سرور مخزن را با کامند زیر باز کنید:
crontab -e
و مقدار زیر را به آن اضافه کنید. به این نکته دقت کنید که اسکریپت دانلود شده را در مسیر /root/scripts قرار دهید یا بسته به نگهداری اسکریپت در مسیر مورد نظرتان خط پایین را ویرایش کنید:
*/۳۰ * * * * sh /root/scripts/Fedora-CentOS-Repositories-Mirror-Creator.sh
و در نهایت سرویس Crond را با دستور زیر ریستارت کنید:
service crond restart
حال از این به بعد شما یک سرور دارید که هر ۳۰ دقیقه یکبار با سرورهای اصلی سینک میشود و سرورها و کلاینتهای شبکه شما میتوانند از آن به عنوان مخازن نرم افزاری خود استفاده کنند. و در نهایت نیاز دارید که فایلهای .repo ویرایش شده برای سرور و کلاینتهای خود استفاده کنید. فایلها مورد نظر همراه با اسکریپت معرفی شده قابل دانلود است. کافیست که آنها را در مسیر /etc/yum.repo.d هر سرور یا کلاینت قرار دهید. البته استفاده از آن مستلزم این است که بسته به مسیر ایجاد مخازن نرم افزاری آنها را ویرایش کنید.
پینوشت: قبل از اجرای اسکریپت و فایلهای مخازن آنها را یکبار بازکنید و مسیر ایجاد مخزن را بسته به نیاز خود تغییر دهید. این مسیر به صورت پیشفرض بر روی /home/sudoers/public_html/repo میباشد.