Linux чеҳраҳои зиёд дорад: чӣ гуна бояд дар ҳама гуна тақсимот кор кард

Linux чеҳраҳои зиёд дорад: чӣ гуна бояд дар ҳама гуна тақсимот кор кард

Эҷоди барномаи эҳтиётӣ, ки дар ҳама гуна тақсимот кор мекунад, кори осон нест. Барои он ки Veeam Agent барои Linux дар дистрибюсияҳо аз Red Hat 6 ва Debian 6, то OpenSUSE 15.1 ва Ubuntu 19.04 кор кунад, шумо бояд як қатор мушкилотро ҳал кунед, бахусус бо назардошти он, ки маҳсулоти нармафзор модули ядроро дар бар мегирад.

Макола аз руи материалхои нутк дар конференция тартиб дода шудааст Linux Peter 2019.

Linux на танҳо яке аз системаҳои оператсионии маъмултарин аст. Аслан, ин платформаест, ки дар асоси он шумо метавонед як чизи беназир, чизи шахсии худ созед. Ба шарофати ин, Linux дистрибюсияҳои зиёде дорад, ки дар маҷмӯи ҷузъҳои нармафзори худ фарқ мекунанд. Ва дар ин ҷо мушкилот ба миён меояд: барои он ки маҳсулоти нармафзор дар ҳама гуна тақсимот кор кунад, шумо бояд хусусиятҳои ҳар яки онро ба назар гиред.

Менеҷерони бастаҳо. .deb против .rpm

Биёед аз мушкилоти равшани тақсимоти маҳсулот дар тақсимоти гуногун оғоз кунем.
Тарзи маъмултарини паҳн кардани маҳсулоти нармафзор ин гузоштани баста ба анбор аст, то мудири бастаи дар система сохташуда тавонад онро аз он ҷо насб кунад.
Аммо, мо ду формати бастаи маъмул дорем: rpm и дур. Ин маънои онро дорад, ки ҳама бояд дастгирӣ кунанд.

Дар ҷаҳони бастаҳои deb, сатҳи мутобиқат аҷиб аст. Як баста ҳам дар Debian 6 ва ҳам Ubuntu 19.04 яксон насб мекунад ва кор мекунад. Стандартҳои раванди сохтани бастаҳо ва кор бо онҳо, ки дар дистрибюторҳои кӯҳнаи Debian оварда шудаанд, дар Linux Mint ва OS ибтидоӣ мувофиқ боқӣ мемонанд. Аз ин рӯ, дар мавриди Veeam Agent for Linux, як бастаи deb барои ҳар як платформаи сахтафзор кофӣ аст.

Аммо дар ҷаҳони бастаҳои rpm, фарқиятҳо бузурганд. Аввалан, аз сабаби он, ки ду дистрибютори комилан мустақил мавҷуданд, Red Hat ва SUSE, ки мутобиқати онҳо комилан нолозим аст. Дуюм, ин дистрибюторҳо маҷмӯаҳои тақсимотро аз онҳо доранд. дастгирӣ ва таҷрибавӣ. Дар байни онҳо ҳам мувофиқат кардан лозим нест. Маълум шуд, ки el6, el7 ва el8 бастаҳои худро доранд. Бастаи алоҳида барои Fedora. Бастаҳо барои SLES11 ва 12 ва бастаи алоҳида барои openSUSE. Мушкилоти асосӣ вобастагӣ ва номҳои бастаҳост.

Мушкилоти вобастагӣ

Мутаассифона, як бастаҳо аксар вақт бо номҳои гуногун дар тақсимоти гуногун хотима меёбанд. Дар зер рӯйхати қисман вобастагии бастаи veeam оварда шудааст.

Барои EL7:
Барои SLES 12:

  • libblkid
  • libgcc
  • libstdc++
  • ncurses-libs
  • фишур-либхо
  • файл-либҳо
  • veeamsnap = 3.0.2.1185
  • libblkid1
  • libgcc_s1
  • libstdc++6
  • libmagic1
  • libfuse2
  • veeamsnap-kmp = 3.0.2.1185

Дар натиҷа, рӯйхати вобастагӣ барои тақсимот беназир аст.

Чӣ бадтар мешавад, вақте ки версияи навшуда зери номи бастаи кӯҳна пинҳон мешавад.

Мисол:

Баста дар Fedora 24 навсозӣ шудааст ҳамшираҳо аз версияи 5 то версияи 6. Маҳсулоти мо бо версияи 5 сохта шудааст, то мутобиқат бо тақсимоти кӯҳнаро таъмин кунад. Барои истифодаи версияи кӯҳнаи 5-уми китобхона дар Fedora 24, ман маҷбур будам, ки бастаро истифода барам ncurses-compat-libs.

Дар натиҷа, ду баста барои Fedora мавҷуданд, ки вобастагии гуногун доранд.

Боз ҳам ҷолибтар. Пас аз навсозии тақсимоти навбатӣ, баста ncurses-compat-libs бо версияи 5-и китобхона он дастрас нест. Барои дистрибютор кашола кардани китобхонаҳои кӯҳна ба версияи нави паҳнкунӣ гарон аст. Пас аз чанд вақт, мушкилот дар тақсимоти SUSE такрор шуд.

Дар натиҷа, баъзе тақсимотҳо маҷбур шуданд, ки вобастагии возеҳро аз онҳо дур кунанд ncurses-libs, ва маҳсулотро ислоҳ кунед, то он бо ҳама гуна версияи китобхона кор кунад.

Дар омади гап, дар версияи 8 Red Hat дигар бастаи мета вуҷуд надорад python, ки ба кадимаи хуб ишора мекард питон 2.7... ҳаст Python2 и python3.

Алтернатива ба менеҷерони бастаҳо

Мушкилот бо вобастагӣ кӯҳна аст ва кайҳо боз маълум аст. Танҳо дӯзах аз вобастагӣ ба ёд оред.
Якҷоя кардани китобхонаҳо ва замимаҳои гуногун, то ки ҳамаашон мӯътадил кор кунанд ва ихтилоф накунанд - дар асл, ин вазифаест, ки ҳар як паҳнкунандаи Linux кӯшиш мекунад, ки ҳал кунад.

Менеҷери бастаҳо кӯшиш мекунад, ки ин мушкилотро бо роҳи тамоман дигар ҳал кунад. Шабака аз Canonical. Идеяи асосӣ: барнома дар қуттии қуттии ҷудошуда ва муҳофизатшуда аз системаи асосӣ кор мекунад. Агар барнома китобхонаҳоро талаб кунад, онҳо бо худи барнома таъмин карда мешаванд.

Flatpak инчунин ба шумо имкон медиҳад, ки барномаҳоро дар қуттии қум бо истифода аз контейнерҳои Linux иҷро кунед. Идеяи қуттии қум низ истифода мешавад Арзиши.

Ин қарорҳо ба шумо имкон медиҳанд, ки як бастаро барои ҳама тақсимот эҷод кунед. Дар сурати Flatpak насб ва оғози барнома ҳатто бе огоҳии маъмур имконпазир аст.

Мушкилоти асосӣ дар он аст, ки на ҳама барномаҳо метавонанд дар қуттии қум кор кунанд. Баъзе одамон ба дастрасии мустақим ба платформа ниёз доранд. Ман ҳатто дар бораи модулҳои ядро, ки ба таври қатъӣ аз ядро ​​вобастаанд ва ба консепсияи қуттии қум мувофиқат намекунанд, ҳарф намезанам.

Мушкилоти дуюм дар он аст, ки дистрибюсияҳои маъмул дар муҳити корхона аз Red Hat ва SUSE то ҳол дастгирии Snappy ва Flatpak надоранд.

Дар ин робита, Veeam Agent барои Linux дастрас нест snapcraft.io на дар flathub.org.

Барои ҷамъбаст кардани савол дар бораи менеҷерҳои бастаҳо, ман мехоҳам қайд намоям, ки имкони даст кашидан аз менеҷерони бастаҳо бо якҷоя кардани файлҳои дуӣ ва скрипт барои насб кардани онҳо дар як баста мавҷуд аст.

Чунин маҷмӯа ба шумо имкон медиҳад, ки як бастаи умумиро барои дистрибюсияҳо ва платформаҳои гуногун эҷод кунед, раванди насбкунии интерактивиро анҷом диҳед ва мутобиқсозии заруриро анҷом диҳед. Ман танҳо бо чунин бастаҳо барои Linux аз VMware дучор омадаам.

Мушкилоти навсозӣ

Linux чеҳраҳои зиёд дорад: чӣ гуна бояд дар ҳама гуна тақсимот кор кард
Ҳатто агар ҳамаи масъалаҳои вобастагӣ ҳал карда шаванд ҳам, барнома метавонад дар як тақсимот ба таври гуногун кор кунад. Ин масъалаи навсозӣ аст.

3 стратегияи навсозӣ вуҷуд дорад:

  • Соддатарин чизе ин аст, ки ҳеҷ гоҳ навсозӣ накунед. Ман серверро насб кардам ва онро фаромӯш кардам. Агар ҳама чиз кор кунад, чаро навсозӣ кунед? Мушкилот бори аввал ҳангоми тамос бо дастгирии дастгирӣ оғоз меёбад. Офарандаи тақсимот танҳо версияи навшударо дастгирӣ мекунад.
  • Шумо метавонед ба дистрибютор бовар кунед ва навсозиҳои автоматиро насб кунед. Дар ин ҳолат, занг ба дастгирӣ эҳтимолан пас аз навсозии номуваффақ аст.
  • Варианти навсозии дастӣ танҳо пас аз ба кор даровардани он дар инфрасохтори санҷишӣ боэътимодтарин, аммо гарон ва вақтро талаб мекунад. На ҳама имкони гирифтани онро доранд.

Азбаски корбарони гуногун стратегияҳои навсозии гуногунро истифода мебаранд, зарур аст, ки ҳам версияи охирин ва ҳам ҳамаи версияҳои қаблан баровардашударо дастгирӣ кунед. Ин ҳам раванди таҳия ва ҳам озмоишро мушкил мекунад ва ба дастаи дастгирӣ дарди сар меорад.

Платформаҳои гуногуни сахтафзор

Платформаҳои сахтафзори гуногун мушкилоте мебошанд, ки асосан ба рамзи модарӣ хос аст. Ҳадди ақал, шумо бояд барои ҳар як платформаи дастгирӣшаванда бинарҳоро ҷамъ кунед.

Дар лоиҳаи Veeam Agent for Linux, мо то ҳол чизе ба монанди ин RISC-ро дастгирӣ карда наметавонем.

Ман ба ин масъала муфассал истода наметавонам. Ман танҳо мушкилоти асосиро нишон медиҳам: намудҳои вобаста ба платформа, ба монанди size_t, ҳамоҳангсозии сохтор ва тартиби байт.

Пайвастшавии статикӣ ва/ё динамикӣ

Linux чеҳраҳои зиёд дорад: чӣ гуна бояд дар ҳама гуна тақсимот кор кард
Аммо савол ин аст, ки "Чӣ тавр бо китобхонаҳо пайваст шудан мумкин аст - динамикӣ ё статикӣ?" арзандаи мухокима.

Чун қоида, барномаҳои C/C++ зери Linux пайванди динамикиро истифода мебаранд. Ин хуб кор мекунад, агар барнома махсус барои тақсимоти мушаххас сохта шуда бошад.

Агар вазифа фаро гирифтани тақсимоти гуногун бо як файли бинарӣ бошад, пас шумо бояд ба паҳнкунии кӯҳнаи дастгирӣшаванда диққат диҳед. Барои мо, ин Red Hat 6 аст. Он дорои gcc 4.4 мебошад, ки ҳатто стандарти C++11 онро дастгирӣ намекунад пурра.

Мо лоиҳаи худро бо истифода аз gcc 6.3 месозем, ки C++ 14-ро пурра дастгирӣ мекунад. Табиист, ки дар ин ҳолат, дар Red Hat 6 шумо бояд libstdc++ -ро бардоред ва китобхонаҳоро бо худ пур кунед. Роҳи осонтарини пайвастшавӣ ба онҳо статикӣ аст.

Аммо афсӯс, ки на ҳама китобхонаҳоро статикӣ пайваст кардан мумкин аст.

Аввалан, китобхонаҳои системавӣ ба монанди libfuse, libblkid ба таври динамикй пайваст кардан лозим аст, то ки мувофикати онхо бо ядро ​​ва модулхои он таъмин карда шавад.

Сониян, бо иҷозатномаҳо як нозукӣ вуҷуд дорад.

Литсензияи GPL асосан ба шумо имкон медиҳад, ки китобхонаҳоро танҳо бо рамзи кушодаасос пайваст кунед. MIT ва BSD ба пайвасти статикӣ иҷозат медиҳанд ва ба китобхонаҳо имкон медиҳанд, ки ба лоиҳа дохил карда шаванд. Аммо LGPL ба назар намерасад, ки ба пайванди статикӣ мухолифат кунад, аммо талаб мекунад, ки файлҳои барои пайвастшавӣ зарурӣ мубодила шаванд.

Умуман, истифодаи пайвасти динамикӣ шуморо аз пешниҳоди чизе пешгирӣ мекунад.

Сохтани замимаҳои C/C++

Барои сохтани замимаҳои C/C++ барои платформаҳо ва дистрибюторҳои гуногун, интихоб ё сохтани версияи мувофиқи gcc ва истифода бурдани компиляторҳои кросс-компиляторҳо барои меъмории мушаххас ва ҷамъ кардани тамоми маҷмӯи китобхонаҳо кифоя аст. Ин кор хеле имконпазир, вале хеле душвор аст. Ва ҳеҷ кафолате нест, ки компилятор ва китобхонаҳои интихобшуда версияи қобили корро таъмин хоҳанд кард.

Бартарии ошкоро: инфрасохтор хеле содда карда шудааст, зеро тамоми раванди сохтмон метавонад дар як мошин анҷом дода шавад. Илова бар ин, барои як меъморӣ ҷамъ овардани як маҷмӯи бинарҳо кифоя аст ва шумо метавонед онҳоро ба бастаҳо барои тақсимоти гуногун баста кунед. Ҳамин тавр бастаҳои veeam барои Veeam Agent for Linux сохта мешаванд.

Бар хилофи ин хосият, шумо метавонед танҳо як хоҷагии сохтмон, яъне якчанд мошинҳоро барои васл омода созед. Ҳар як чунин мошин маҷмӯи барномаҳо ва маҷмӯи бастаҳоро барои тақсимоти мушаххас ва меъмории мушаххас таъмин мекунад. Дар ин ҳолат, ҷамъоварӣ бо истифода аз воситаҳои таҳиякардаи дистрибютор анҷом дода мешавад. Яъне марҳилаи омодасозии мураттиб ва интихоби китобхонаҳо аз байн меравад. Илова бар ин, раванди сохтмонро ба осонӣ параллел кардан мумкин аст.

Аммо, як манфии ин равиш вуҷуд дорад: барои ҳар як тақсимот дар як меъморӣ, шумо бояд маҷмӯи файлҳои бинарии худро ҷамъ кунед. Камбудии дигар дар он аст, ки чунин миқдори зиёди мошинҳоро нигоҳ доштан ва миқдори зиёди фазои диск ва RAM бояд ҷудо карда шавад.

Ҳамин тавр бастаҳои KMOD-и модули ядрои veeamsnap барои тақсимоти Red Hat тартиб дода мешаванд.

Хидмати Build-ро кушоед

Ҳамкорон аз SUSE кӯшиш карданд, ки баъзе заминаҳои миёнаро дар шакли хидмати махсус барои тартиб додани барномаҳо ва васл кардани бастаҳо амалӣ кунанд - openbuildservice.

Аслан, он гипервизорест, ки мошини виртуалӣ эҷод мекунад, ҳама бастаҳои заруриро дар он насб мекунад, барномаро тартиб медиҳад ва бастаро дар ин муҳити ҷудошуда месозад, ки пас аз он мошини виртуалӣ бароварда мешавад.

Linux чеҳраҳои зиёд дорад: чӣ гуна бояд дар ҳама гуна тақсимот кор кард

Нақшасозе, ки дар OpenBuildService амалӣ карда мешавад, муайян мекунад, ки чӣ қадар мошинҳои виртуалиро барои суръати оптималии сохтани бастаҳо оғоз карда метавонанд. Механизми воридшудаи имзо бастаҳоро имзо мекунад ва онҳоро ба анбори дарунсохт бор мекунад. Системаи идоракунии версияи дарунсохт таърихи тағирот ва сохтмонро ҳифз мекунад. Танҳо ин аст, ки манбаъҳои худро ба ин система илова кунед. Ба шумо ҳатто лозим нест, ки серверро худатон насб кунед; шумо метавонед сервери кушодаро истифода баред.

Бо вучуди ин, як мушкилие ба миён меояд: чунин комбайнро ба инфраструктураи мавчуда часпондан душвор аст. Масалан, назорати версия лозим нест; мо аллакай кодҳои сарчашмаи худро дорем. Механизми имзои мо гуногун аст: мо сервери махсусро истифода мебарем. Анбор низ лозим нест.

Илова бар ин, дастгирии тақсимоти дигар - масалан, Red Hat - хеле суст амалӣ карда мешавад, ки фаҳмо аст.

Бартарии чунин хидмат дастгирии зуд барои версияи навбатии тақсимоти SUSE мебошад. Пеш аз эълони расмии нашр, бастаҳои зарурӣ барои ҷамъоварӣ дар анбори ҷамъиятӣ ҷойгир карда мешаванд. Дар рӯйхати тақсимоти дастрас дар OpenBuildService як нав пайдо мешавад. Мо қуттиро тафтиш мекунем ва он ба нақшаи сохтмон илова карда мешавад. Ҳамин тариқ, илова кардани версияи нави тақсимот қариб бо як клик анҷом дода мешавад.

Дар инфрасохтори мо, бо истифода аз OpenBuildService, тамоми навъҳои бастаҳои KMP-и модули ядрои veeamsnap барои тақсимоти SUSE ҷамъ оварда шудаанд.

Баъдан, ман мехоҳам дар бораи масъалаҳои хоси модулҳои ядроӣ таваққуф кунам.

ядрои ABI

Модулҳои ядрои Linux таърихан дар шакли сарчашма тақсим карда шудаанд. Далели он аст, ки созандагони ядро ​​​​бо ташвиши дастгирии API устувор барои модулҳои ядро ​​​​ва махсусан дар сатҳи бинарӣ, ки минбаъд ҳамчун kABI номида мешаванд, бор намекунанд.

Барои сохтани модул барои ядрои ванилӣ, ба шумо ҳатман сарлавҳаҳои ин ядрои мушаххас лозим аст ва он танҳо дар ин ядро ​​кор мекунад.

DKMS ба шумо имкон медиҳад, ки раванди сохтани модулҳо ҳангоми навсозии ядро ​​​​автоматӣ кунед. Дар натиҷа, корбарони анбори Debian (ва хешовандони сершумори он) модулҳои ядроиро ё аз анбори дистрибютор истифода мебаранд ё аз манбаъ бо истифода аз DKMS тартиб дода шудаанд.

Аммо, ин вазъият махсусан ба сегменти Enterprise мувофиқат намекунад. Паҳнкунандагони рамзи хусусӣ мехоҳанд, ки маҳсулотро ҳамчун бинарҳои тартибдодашуда паҳн кунанд.

Маъмурон намехоҳанд, ки асбобҳои таҳияро дар серверҳои истеҳсолӣ бо сабабҳои амният нигоҳ доранд. Дистрибюторҳои Enterprise Linux ба монанди Red Hat ва SUSE тасмим гирифтанд, ки онҳо метавонанд барои корбарони худ KABI-и устуворро дастгирӣ кунанд. Натиҷа бастаҳои KMOD барои Red Hat ва бастаҳои KMP барои SUSE буд.

Моҳияти ин ҳалли хеле оддӣ аст. Барои версияи мушаххаси тақсимот, API ядро ​​​​яхта шудааст. Дистрибютор изҳор мекунад, ки вай ядроро истифода мебарад, масалан, 3.10 ва танҳо ислоҳ ва такмил медиҳад, ки ба интерфейсҳои ядро ​​​​таъсир намерасонанд ва модулҳое, ки барои ядрои аввал ҷамъоварӣ шудаанд, метавонанд барои ҳамаи модулҳои минбаъда бидуни азнавсозӣ истифода шаванд.

Red Hat даъвои мутобиқати kABI-ро барои паҳнкунӣ дар тамоми давраи ҳаёташ талаб мекунад. Яъне, модули ҷамъшуда барои rhel 6.0 (барориши ноябри соли 2010) инчунин бояд дар версияи 6.10 (барориши июни соли 2018) кор кунад. Ва ин қариб 8 сол аст. Табиист, ки ин вазифа хеле душвор аст.
Мо якчанд ҳолатҳоеро сабт кардем, ки модули veeamsnap аз сабаби мушкилоти мутобиқати kABI корашро қатъ кард.

Пас аз он ки модули veeamsnap, ки барои RHEL 7.0 тартиб дода шудааст, бо ядрои RHEL 7.5 номувофиқ баромад, аммо он бор карда шуд ва кафолат дода шуд, ки серверро вайрон кунад, мо аз истифодаи мутобиқати kABI барои RHEL 7 тамоман даст кашидаем.

Дар айни замон, бастаи KMOD барои RHEL 7 дорои маҷмӯи барои ҳар як версияи нашр ва скриптест, ки модулро бор мекунад.

SUSE ба вазифаи мутобиқати kABI бодиққат муносибат кард. Онҳо мутобиқати kABI-ро танҳо дар як бастаи хидматрасонӣ таъмин мекунанд.

Масалан, нашри SLES 12 дар моҳи сентябри соли 2014 сурат гирифт. Ва SLES 12 SP1 аллакай дар моҳи декабри соли 2015 буд, яъне каме бештар аз як сол гузашт. Гарчанде ки ҳарду релиз ядрои 3.12-ро истифода мебаранд, онҳо kABI номувофиқанд. Аён аст, ки нигоҳ доштани мутобиқати kABI дар тӯли як сол хеле осонтар аст. Давраи солонаи навсозии модули ядро ​​набояд барои созандагони модул мушкилот эҷод кунад.

Дар натиҷаи ин сиёсати SUSE, мо дар модули veeamsnap мо ягон мушкилотро бо мутобиқати kABI сабт накардаем. Дуруст аст, ки шумораи бастаҳо барои SUSE тақрибан як маротиба зиёдтар аст.

Патчҳо ва пуштибонҳо

Гарчанде ки дистрибюторҳо кӯшиш мекунанд, ки мутобиқати kABI ва устувории ядроро таъмин кунанд, онҳо инчунин кӯшиш мекунанд, ки коршоямиро беҳтар созанд ва камбудиҳои ин ядрои устуворро бартараф кунанд.

Дар айни замон, ба гайр аз «кор оид ба хатогихо»-и худ, тахиягарони ядрои корхонаи Linux тагйироти ядрои ванилинро назорат мекунанд ва онхоро ба «муътадил»-и худ мегузаронанд.

Баъзан ин боиси пайдоиши нав мегардад хатогиҳо.

Дар версияи охирини Red Hat 6, дар яке аз навсозиҳои хурд хатогӣ роҳ дода шуд. Ин ба он оварда расонд, ки модули veeamsnap кафолат дода шуда буд, ки ҳангоми баровардани аксбардорӣ системаро вайрон кунад. Пас аз муқоисаи манбаъҳои ядро ​​​​пеш ва пас аз навсозӣ, мо фаҳмидем, ки пуштибонӣ гунаҳкор аст. Ислоҳи шабеҳ дар версияи ядрои ванилини 4.19 анҷом дода шуд. Ин танҳо он аст, ки ин ислоҳ дар ядрои ванилӣ хуб кор кард, аммо ҳангоми интиқоли он ба "устувор" 2.6.32, мушкилот бо spinlock ба миён омад.

Албатта, ҳама ҳамеша хатогӣ доранд, аммо оё метавонист кодро аз 4.19 то 2.6.32 кашола карда, устувориро зери хатар гузошт?.. Ман боварӣ надорам...

Бадтарин чиз он аст, ки маркетинг дар муборизаи байни «субот» ва «модернизатсия» иштирок мекунад. Ба шӯъбаи маркетинг лозим аст, ки асосии тақсимоти навсозӣ устувор бошад, аз як тараф устувор бошад ва дар айни замон дар иҷроиш беҳтар ва дорои хусусиятҳои нав бошад. Ин ба созишҳои аҷиб оварда мерасонад.

Вақте ки ман кӯшиш кардам, ки модулро дар ядрои 4.4 аз SLES 12 SP3 созам, ман ҳайрон шудам, ки функсияи ванилин 4.8 дар он пайдо шуд. Ба андешаи ман, татбиқи блоки I/O-и ядрои 4.4 аз SLES 12 SP3 нисбат ба барориши қаблии ядрои устувори 4.8 аз SLES4.4 SP12 бештар ба ядрои 2 монанд аст. Ман ҳукм карда наметавонам, ки чанд фоизи код аз ядрои 4.8 ба SLES 4.4 барои SP3 интиқол дода шудааст, аммо ман ҳатто ядроро ҳамон устувори 4.4 номида наметавонам.

Аз ҳама нохушоянд дар ин аст, ки ҳангоми навиштани модуле, ки дар ядроҳои гуногун баробар хуб кор мекунад, шумо дигар ба версияи ядро ​​​​такя карда наметавонед. Шумо инчунин бояд тақсимотро ба назар гиред. Хуб аст, ки баъзан шумо метавонед ба таърифе, ки дар баробари функсияҳои нав пайдо мешавад, иштирок кунед, аммо ин имконият на ҳамеша пайдо мешавад.

Дар натиҷа, код бо дастурҳои аҷиби тартибдиҳии шартӣ фаро гирифта мешавад.

Инчунин часбчаҳое мавҷуданд, ки API-и ҳуҷҷати ядроиро тағир медиҳанд.
Ман ба тақсимот дучор омадам KDE neon 5.16 ва аз дидани он, ки занги lookup_bdev дар ин версияи ядро ​​​​рӯйхати параметрҳои вурудро тағир додааст, хеле ҳайрон шуд.

Барои якҷоя кардани он, ман бояд ба makefile скрипт илова кунам, ки тафтиш мекунад, ки оё функсияи lookup_bdev дорои параметри ниқоб аст.

Имзои модулҳои ядро ​​​​

Аммо биёед ба масъалаи тақсимоти бастаҳо бармегардем.

Яке аз бартариҳои kABI устувор дар он аст, ки модулҳои ядроро метавон ҳамчун файли бинарӣ имзо кард. Дар ин ҳолат, таҳиякунанда метавонад боварӣ дошта бошад, ки модул тасодуфан осеб надидааст ё дидаву дониста тағир дода нашудааст. Шумо метавонед инро бо фармони modinfo тафтиш кунед.

Дистрибюцияҳои Red Hat ва SUSE ба шумо имкон медиҳанд, ки имзои модулро тафтиш кунед ва онро танҳо дар сурати ба қайд гирифта шудани сертификати мувофиқ дар система бор кунед. Шаҳодатнома калиди оммавӣ мебошад, ки бо он модул имзо карда мешавад. Мо онро ҳамчун бастаи алоҳида тақсим мекунем.

Мушкилот дар ин ҷо дар он аст, ки сертификатҳо метавонанд ё дар ядро ​​сохта шаванд (дистрибюторҳо аз онҳо истифода мебаранд) ё бояд бо истифода аз утилита ба хотираи идоранашавандаи EFI навишта шаванд. мокутил. Утилита мокутил Ҳангоми насб кардани сертификат, он аз шумо талаб мекунад, ки системаро бозоғоз намоед ва ҳатто пеш аз бор кардани ядрои системаи амалиётӣ, аз маъмур хоҳиш мекунад, ки барои боркунии сертификати нав иҷозат диҳад.

Ҳамин тариқ, илова кардани сертификат дастрасии маъмури ҷисмониро ба система талаб мекунад. Агар мошин дар ҷое дар абр ё танҳо дар як ҳуҷраи сервери дур ҷойгир бошад ва дастрасӣ танҳо тавассути шабака (масалан, тавассути ssh) бошад, он гоҳ илова кардани сертификат ғайриимкон хоҳад буд.

EFI дар мошинҳои виртуалӣ

Сарфи назар аз он, ки EFI аз ҷониби қариб ҳама истеҳсолкунандагони motherboard муддати тӯлонӣ дастгирӣ карда мешавад, ҳангоми насб кардани система, маъмур метавонад дар бораи зарурати EFI фикр накунад ва он метавонад хомӯш карда шавад.

На ҳама гипервизорҳо EFI-ро дастгирӣ мекунанд. VMWare vSphere EFI-ро аз версияи 5 дастгирӣ мекунад.
Microsoft Hyper-V инчунин дастгирии EFI-ро аз Hyper-V барои Windows Server 2012R2 оғоз кард.

Аммо, дар конфигуратсияи пешфарз ин функсия барои мошинҳои Linux ғайрифаъол аст, ки ин маънои онро дорад, ки сертификат насб карда намешавад.

Дар vSphere 6.5, интихобро таъин кунед Диски бехатар танҳо дар версияи кӯҳнаи интерфейси веб, ки тавассути Flash кор мекунад, имконпазир аст. Web UI дар HTML-5 ҳанӯз хеле ақиб мондааст.

Тақсимоти таҷрибавӣ

Ва ниҳоят, биёед масъалаи тақсимот ва тақсимоти озмоиширо бидуни дастгирии расмӣ баррасӣ кунем. Аз як тараф, чунин тақсимот дар серверҳои созмонҳои ҷиддӣ ба гумон аст. Дастгирии расмӣ барои ин гуна тақсимот вуҷуд надорад. Аз ин рӯ, онҳоро таъмин кунед. Маҳсулотро дар чунин тақсимот дастгирӣ кардан мумкин нест.

Бо вуҷуди ин, чунин тақсимот як платформаи мувофиқ барои озмоиши қарорҳои нави таҷрибавӣ мегардад. Масалан, Fedora, OpenSUSE Tumbleweed ё версияҳои ноустувори Debian. Онҳо хеле устуворанд. Онҳо ҳамеша версияҳои нави барномаҳо ва ҳамеша ядрои нав доранд. Дар як сол, ин функсияи таҷрибавӣ метавонад дар RHEL, SLES ё Ubuntu навсозӣ анҷом ёбад.

Пас, агар чизе дар тақсимоти таҷрибавӣ кор накунад, ин як сабаб барои фаҳмидани мушкилот ва ҳалли он аст. Шумо бояд барои он омода бошед, ки ин функсия ба зудӣ дар серверҳои истеҳсолии корбарон пайдо мешавад.

Шумо метавонед рӯйхати ҷории тақсимоти расман дастгирӣшавандаро барои версияи 3.0 омӯзед дар ин ҷо. Аммо рӯйхати воқеии тақсимот, ки маҳсулоти мо дар он кор карда метавонад, хеле васеътар аст.

Шахсан ман ба озмоиш бо OS Elbrus таваҷҷӯҳ доштам. Пас аз анҷом додани бастаи veeam, маҳсулоти мо насб ва кор кард. Ман дар бораи ин озмоиш дар Ҳабре навиштам мақола.

Хуб, дастгирии тақсимоти нав идома дорад. Мо мунтазири нашри версияи 4.0 ҳастем. Бета дар арафаи пайдо шудан аст, бинобар ин, бодиққат нигоҳ кунед чӣ чизи нав!

Манбаъ: will.com

Илова Эзоҳ