repo لینوکس بونرا برای بهروزرسانی، راهاندازی اولیه و ایمیج build سریعتر
وقتی هر سرور، هر pipeline و هر base ایمیج مجبور باشد برای نصب و بهروزرسانی به آینههای دوردست برود، اتلاف زمان کمکم در کل تیم پخش میشود. mirror.bounera.com برای کوتاهکردن همین چرخه طراحی شده است.
بهروزرسانی و راهاندازی اولیه فقط عملیات نگهداری نیستند؛ بخشی از سرعت deployment و امنیت روزمرهی تیماند.
روی CI، base ایمیجها، راهاندازی اولیه ماشینهای جدید، patchهای امنیتی و هرجایی که نصب بسته تکرار میشود.
mirror.bounera.com
شروع سریع
برای Ubuntu سادهترین سناریو این است که archive و security را مستقیم به آینه بونرا سوییچ کنید و سپس لیست بستهها را refresh بگیرید.
sudo sed -i 's|http://archive.ubuntu.com/ubuntu|https://mirror.bounera.com/ubuntu|g; s|http://security.ubuntu.com/ubuntu|https://mirror.bounera.com/ubuntu|g' /etc/apt/sources.list && sudo apt updateتنظیم دستی و کنترلشده
سیستمعامل موردنظرتان را انتخاب کنید تا فرمان مناسب همان سناریو را ببینید.
روی Ubuntu، تعویض archive و security repository با آینه بونرا سریعترین مسیر برای migration روزمره است.
sudo sed -i 's|http://archive.ubuntu.com/ubuntu|https://mirror.bounera.com/ubuntu|g; s|http://security.ubuntu.com/ubuntu|https://mirror.bounera.com/ubuntu|g' /etc/apt/sources.list && sudo apt updateاگر فایلهای جداگانه در `sources.list.d` دارید، آنها را هم بازبینی کنید.
برای release تیمی، بهتر است همین دستور داخل automation یا config management ثبت شود.
تنظیم دستی و کنترلشده
اگر میخواهید release تمیزتری داشته باشید، بهتر است قبل از sed مستقیم از فایلها بکاپ بگیرید و repository definition را صریح بنویسید؛ مخصوصاً وقتی چند distro یا config management دارید.
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak && printf 'deb https://mirror.bounera.com/ubuntu noble main restricted universe multiverse\ndeb https://mirror.bounera.com/ubuntu noble-updates main restricted universe multiverse\ndeb https://mirror.bounera.com/ubuntu noble-security main restricted universe multiverse\n' | sudo tee /etc/apt/sources.list >/dev/null && sudo apt updatesudo cp /etc/apt/sources.list /etc/apt/sources.list.bak && printf 'deb https://mirror.bounera.com/debian bookworm main contrib non-free non-free-firmware\ndeb https://mirror.bounera.com/debian-security bookworm-security main contrib non-free non-free-firmware\n' | sudo tee /etc/apt/sources.list >/dev/null && sudo apt updateprintf '%s\n%s\n' 'https://mirror.bounera.com/alpine/v3.20/main' 'https://mirror.bounera.com/alpine/v3.20/community' | sudo tee /etc/apk/repositories >/dev/null && sudo apk updatesudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak && sudo sed -i 's|^mirrorlist=|#mirrorlist=|g; s|^#baseurl=http://mirror.centos.org|baseurl=https://mirror.bounera.com/centos|g' /etc/yum.repos.d/CentOS-*.repo && sudo yum makecacheبعد از تغییر چه چیزهایی را بررسی کنیم؟
- با `apt سیاست`، `apk سیاست` یا `yum repolist` مطمئن شوید نشانی جدید واقعاً فعال شده است.
- یک نصب واقعی از پکیجهای پرتکرار بگیرید تا latency و throughput را در سناریوی عملی بسنجید.
- اگر از cloud-init، Packer یا Ansible استفاده میکنید، همین تغییر را در راهاندازی اولیه script مرکزی هم ثبت کنید.
بازگشت امن
- اگر از بکاپ فایل repo گرفتهاید، بازگشت فقط با restore همان فایل و یک بهروزرسانی مجدد انجام میشود.
- روی عملیاتی، قبل از release سراسری ابتدا روی یک node یا یک template آزمایش کنید.
- اگر چند فایل در `sources.list.d` یا `yum.repos.d` دارید، بازگشت را برای همهی آنها هماهنگ نگه دارید.
سناریوهایی که این آینه بیشترین اثر را میگذارد
راهاندازی اولیه ماشینهای جدید
وقتی nodeهای جدید مکرراً بالا میآیند، هر ثانیه در نصب اولیه خودش را چندبار نشان میدهد.
CI و ایمیج build
هر Docker build یا Packer ایمیج که بسته نصب میکند، مستقیماً از آینه سریعتر سود میبرد.
patch امنیتی و بهروزرسانی دورهای
وقتی window نگهداری کوتاه است، سرعت و پایداری repo اهمیت عملی پیدا میکند.