Update — dasturiy ta’minot, firmware, ma’lumot yoki konfiguratsiyani yangi holatga o‘tkazadigan tarqatma va jarayondir. U xato tuzatishi, xavfsizlik patchi, yangi imkoniyat, compatibility o‘zgarishi yoki ma’lumot bazasi migratsiyasini o‘z ichiga olishi mumkin. Update faqat faylni yuklab olish emas; paketni tekshirish, o‘rnatish, aktivlashtirish va natijani tasdiqlash bosqichlariga ega.
Paket va kanal
Updater manifestdan mavjud versiya, yangi versiya, dependency, platforma va download manzilini oladi. Full update butun artefaktni, delta update esa eski va yangi holat orasidagi farqni uzatadi. Delta tarmoq hajmini kamaytiradi, ammo aynan kutilgan base versionga qo‘llanishi va yakuniy digest tekshirilishi kerak.
Stable, beta va development kanallari turli release tezligi va kafolatini bildiradi. Qurilma qaysi kanalga biriktirilgani policy bilan boshqariladi. Hujumchi update URL yoki kanal qiymatini o‘zgartirib eski, zaif releasega tushira olmasligi uchun metadata ham imzolangan himoyaga kiradi.
Ishonch va yaxlitlik
Update paketi publisher signing key bilan imzolanadi. Qurilma signature, certificate yoki trust metadata, paket hash, target platforma va versionni o‘rnatishdan oldin tekshiradi. Faqat TLSga tayanish mirror yoki storage komprometatsiyasida yetarli bo‘lmasligi mumkin; end-to-end imzo artefaktni transportdan mustaqil tekshiradi.
Rollback attackda haqiqiy imzolangan, lekin eski zaif versiya qayta o‘rnatiladi. Minimum version counter, expiry va trusted metadata rotation buni cheklaydi. Signing key komprometatsiyasi uchun offline root, delegated key, threshold signature yoki emergency revocation jarayoni rejalashtiriladi.
O‘rnatish modeli
In-place update amaldagi fayllarni almashtiradi va yarim bajarilsa tizimni buzishi mumkin. A/B model yangi versiyani passiv bo‘limga yozib, tekshiruvdan keyin boot targetni almashtiradi. Container yoki immutable image muhitida yangi image deploy qilinadi, eski instance esa muvaffaqiyat tasdiqlangach chiqariladi.
Operatsiya quvvat uzilishi va disk to‘lishiga chidamli bo‘lishi kerak. Temporary fayl, fsync va atomic rename file-level yaxlitlikni saqlaydi. Firmware update bootloader recovery yoki dual-bank mexanizmi bilan brick holatini kamaytiradi.
Schema va moslik
Yangi binary database schema yoki konfiguratsiyani o‘zgartirsa, rolling deployment vaqtida eski va yangi instance birga ishlashi hisobga olinadi. Expand-and-contract migratsiya avval backward-compatible element qo‘shadi, keyin kodni o‘tkazadi va oxirida eskisini olib tashlaydi. Bir yo‘nalishli data transform oddiy binary rollbackni imkonsiz qilishi mumkin.
Config defaultining o‘zgarishi ham behavioral update hisoblanadi. Release note operator bajarishi kerak bo‘lgan qadam, deprecation va restart talabini ko‘rsatadi. Silent update foydalanuvchini bezovta qilmaydi, lekin audit va nazorat siyosatini chetlab o‘tmasligi kerak.
Rollout va kuzatuv
Fleet update kichik canary guruhdan boshlanadi. Install success, crash, boot loop, latency va biznes metrikasi kuzatiladi. Tizim avtomatik pause qilishi mumkin; avtomatik rollback faqat oldingi versiya yangi ma’lumot formatini xavfsiz o‘qisa bajariladi. Offline qurilma keyin qaytganda oraliq versiyalar zarurmi yoki to‘g‘ridan-to‘g‘ri yangilanish mumkinmi manifest belgilaydi.
Update tugagach faqat installer exit kodi emas, ishlayotgan version, health check va asosiy funksiya tekshiriladi. Inventar pending, failed va unsupported qurilmalarni ko‘rsatadi. Foydalanuvchi kechiktira olsa, security deadline va majburiy o‘rnatish sharti aniq siyosatga bog‘lanadi.
Bandwidth va batareya cheklangan qurilmada download scheduling, resumable transfer va paket cache zarur bo‘lishi mumkin. Cache kaliti faqat URL emas, kutilgan digest bo‘ladi; aks holda mutable manzil ostidagi eski yoki noto‘g‘ri paket qayta tarqatilishi mumkin.
Bog‘liq tushunchalar
Upgrade, Security patch, Release, Software distribution, Code signing, Rollback, A/B partition