Debian va Fedora bog'liqliklar muammosini hal qilishga harakat qilmoqda

Linux tarqatish tobora ortib borayotgan bog'liqlik muammosiga duch keladi ammo, loyihalarning Python, Perl va Ruby kodlari uchun bog'liqliklar soni saqlanib qoladi O'rtacha chegaralar ichida JavaScript loyihalari juda oddiy kutubxonalarga bo'linishni mashq qiladi.

NPM omborida allaqachon milliondan ortiq paket mavjud va odatiy dasturlar yuzlab bog'liqliklarga bog'lanish, bu o'z navbatida o'ziga xos bog'liqliklarga ega bo'lib, Linux tarqatish bo'yicha JavaScript dasturlari bilan an'anaviy paketlarni saqlash va tarqatishni qiyinlashtiradi.

JavaScript kutubxonasiga bog'liqliklarning bir-biri bilan chambarchas bog'liqligi sababli har qanday to'plamni tarqatishda ushbu kutubxonalar bilan yangilang u boshqa paketlarni buzishi mumkin.

Versiyalarni bog'lash muammoni yanada kuchaytiradi: bitta kutubxona qaramlikning bitta versiyasini barqaror ishlashini talab qilishi mumkin, boshqasiga boshqasini talab qilishi mumkin.

Ko'pgina loyihalar uchun kutubxonalarning so'nggi versiyalari ishlashi kerak, har doim ham taqsimotning barqarorligi talablariga javob bera olmaydi (uzluksiz rivojlanish Node.js ekotizimida so'nggi ramkalar versiyalari yordamida amalga oshiriladi va tarqatish bir necha yil davomida qo'llab-quvvatlashga muhtoj).

Faqat tarqatishda paket versiyalarini tuzatishga urinishlar eskirgan versiyalarning ko'payishiga olib keladi yillar davomida yangilanmagan omborda. Bitta paketga texnik xizmat ko'rsatishning uzilishi ko'plab boshqa paketlarga salbiy ta'sir qiladi va bundan ham ko'proq muammolarni keltirib chiqaradi.

Bundan tashqari, lo'zaro bog'liqlik ko'plab kutubxonalar mavjudligiga olib keladi Node.js-ni tizimdan o'chirib bo'lmaydibu esa o'z navbatida boshqa Node.js dasturlarini o'chirishga xalaqit beradi.

Buni hal qilish uchun Fedora loyihasi yaqinda Node.js asosidagi loyihalarda ishlatiladigan kutubxonalar bilan alohida paketlarning standart shakllanishini to'xtatish rejasini tasdiqladi.

U Fedora 34 dan boshlab, faqat Node.js uchun asosiy paketlarni tarjimon, sarlavhalar, asosiy kutubxonalar, ikkilik fayllar va paketlarni boshqarish uchun asosiy vositalar (NPM, ip) bilan ta'minlashga qaror qildi.

Node.js dan foydalanadigan Fedora ombor dasturlarida, mavjud bo'lgan barcha bog'liqliklarni paketga joylashtirishga, alohida paketlarda ishlatiladigan kutubxonalarni ajratmasdan va ajratmasdan ruxsat etiladi.

Kutubxonalarni kiritish kichik paketlardan xalos bo'ladi, paketga xizmat ko'rsatishni soddalashtiradi (ilgari xizmat ko'rsatuvchi dastur bilan ta'minlangan asosiy paketga qaraganda yuzlab paketlarni ko'rib chiqish va sinab ko'rish uchun ko'proq vaqt sarflagan), infratuzilmani to'qnashuvlardan xalos qiladi kutubxonalar va kutubxona versiyalariga ulanish bilan bog'liq muammolarni hal qilish (xizmat ko'rsatuvchilar paketga sinovdan o'tgan va ishlab chiqarishda sinovdan o'tgan versiyalarni kiritishadi).

Integratsiyaning salbiy tomoni tuzatishlarni kiritish jarayonining murakkabligi bo'ladi kutubxonalardagi zaifliklarga, bu zaif kutubxonani o'z ichiga olgan barcha paketlar xizmat ko'rsatuvchilarining muvofiqlashtirilgan ishini talab qiladi. Paket himoyasiz ichki kutubxonani yangilashni unutishi va paket e'tiborga olinmasligi xavfi mavjud.

Ishlab chiquvchilar Debian shuningdek, paketga bog'liqlikning o'xshash modeliga o'tishni muhokama qilmoqda. Node.js-dan tashqari, munozarada Kubernetes platformasi va PHP va Go tillaridagi loyihalar uchun paketlar yaratish masalalari ko'rib chiqilmoqda, ular uchun kichik bog'liqliklarga bo'lish tendentsiyasi mavjud. Hali ham qaror qabul qilinmagan, ammo vaqt o'tishi bilan muammo yanada kuchayadi va ertami-kechmi loyiha biror narsa qilishga majbur bo'ladi degan umidda.

Gvm (Greenbone Vulnerability Management) xavfsizlik skaneri uchun gsa (Greenbone Security Assistant) veb-interfeysi paketlarni qo'llab-quvvatlovchilaridagi muammolarga misol sifatida keltirilgan.

Debian tomonidan yuborilgan gsa versiyasi gvm-ning yangi versiyalari bilan mos kelmadi, ammo gsa-ni joriy versiyasiga yangilashning iloji bo'lmadi, chunki u muhim o'zgarishlarni o'z ichiga oladi va kerakli Node.js kutubxonalarini yuklab olish uchun npm-dan foydalanadi.

So'ralgan kutubxonalar juda ko'p va kimdir ularni saqlab qolishi uchun Debian-da yangi paketlarni yaratishni talab qiladi, chunki Debian qoidalari qurilish jarayonida tashqi komponentlarni yuklashni taqiqlaydi.

Manba: https://lwn.net/


Maqolaning mazmuni bizning printsiplarimizga rioya qiladi muharrirlik etikasi. Xato haqida xabar berish uchun bosing bu erda.

Izoh, o'zingiznikini qoldiring

Fikringizni qoldiring

Sizning email manzilingiz chop qilinmaydi.

*

*

  1. Ma'lumotlar uchun javobgardir: Migel Anxel Gaton
  2. Ma'lumotlarning maqsadi: SPAMni boshqarish, izohlarni boshqarish.
  3. Qonuniylashtirish: Sizning roziligingiz
  4. Ma'lumotlar haqida ma'lumot: qonuniy majburiyatlar bundan mustasno, ma'lumotlar uchinchi shaxslarga etkazilmaydi.
  5. Ma'lumotlarni saqlash: Occentus Networks (EU) tomonidan joylashtirilgan ma'lumotlar bazasi
  6. Huquqlar: istalgan vaqtda siz ma'lumotlaringizni cheklashingiz, tiklashingiz va o'chirishingiz mumkin.

  1.   Qtkk dijo

    ECMAscriptdagi ramkalar va kutubxonalarning bu bo'lagi qo'ldan chiqdi.
    Yaxshi maqola.