He nui nā helehelena o Linux: pehea e hana ai i kekahi mahele

He nui nā helehelena o Linux: pehea e hana ai i kekahi mahele

ʻAʻole hana maʻalahi ka hana ʻana i kahi palapala hoʻihoʻi e hana ana ma kekahi mahele. No ka hōʻoia ʻana e hana ʻo Veeam Agent no Linux i ka hoʻoili ʻana mai Red Hat 6 a me Debian 6, i OpenSUSE 15.1 a me Ubuntu 19.04, pono ʻoe e hoʻoponopono i nā pilikia he nui, ʻoi aku ka noʻonoʻo ʻana e pili ana ka huahana polokalamu i kahi module kernel.

Ua hana ʻia ka ʻatikala ma muli o nā mea mai kahi haʻiʻōlelo ma ka ʻaha kūkā Linux Peter 2019.

ʻAʻole ʻo Linux kekahi o nā ʻōnaehana hana kaulana loa. ʻO ka mea nui, he kahua kēia ma ke kumu e hiki ai iā ʻoe ke hana i kahi mea kūʻokoʻa, kahi mea āu. Mahalo i kēia, he nui nā māhele like ʻole o Linux i kā lākou hoʻonohonoho o nā lako polokalamu. A eia ka pilikia: i mea e hana ai ka polokalamu lako polokalamu ma kekahi mahele, pono ʻoe e noʻonoʻo i nā hiʻohiʻona o kēlā me kēia.

Nā luna pūʻolo. .deb vs.rpm

E hoʻomaka kākou me ka pilikia maopopo o ka hāʻawi ʻana i ka huahana ma nā māhele like ʻole.
ʻO ke ala maʻamau e puʻunaue i nā huahana lako polokalamu ʻo ia ke kau ʻana i ka pūʻolo ma kahi waihona i hiki i ka luna pūʻolo i kūkulu ʻia i loko o ka ʻōnaehana hiki ke hoʻokomo iā ia mai laila.
Eia nō naʻe, loaʻa iā mākou ʻelua ʻano pūʻolo kaulana: rpm и aie. 'O ia ho'i, e kāko'o nā kānaka a pau.

I ka honua o nā pūʻolo deb, he mea kupaianaha ka pae o ka hoʻohālikelike. Hoʻokomo a hana like ka pūʻolo like ma Debian 6 a me Ubuntu 19.04. ʻO nā kūlana no ke kaʻina hana o ke kūkulu ʻana i nā pōʻai a me ka hana pū ʻana me lākou, i waiho ʻia i nā māhele Debian kahiko, e pili mau ana i ka Linux Mint hou a me ka OS elementary. No laila, i ka hihia o Veeam Agent no Linux, ua lawa kahi pūʻolo deb no kēlā me kēia kahua lako lako.

Akā i ka honua o nā pūʻolo rpm, nui nā ʻokoʻa. ʻO ka mea mua, ma muli o ka loaʻa ʻana o ʻelua mau mea kūʻai kūʻokoʻa kūʻokoʻa, ʻo Red Hat a me SUSE, no ka mea ʻaʻole pono ka hoʻohālikelike. ʻO ka lua, loaʻa i kēia mau mea hoʻolaha nā pahu hoʻolaha mai kēlā. kākoʻo a hoʻokolohua. ʻAʻole pono ka launa pū ʻana ma waena o lākou. Ua ʻike ʻia aia nā el6, el7 a me el8 i kā lākou pūʻolo ponoʻī. Puke kaawale no Fedora. Nā pūʻolo no SLES11 a me 12 a me kahi ʻokoʻa no openSUSE. ʻO ka pilikia nui ka hilinaʻi a me nā inoa pūʻolo.

Pilikia hilinaʻi

ʻO ka mea pōʻino, hoʻopau pinepine nā pūʻolo like ʻole ma lalo o nā inoa like ʻole i nā māhele like ʻole. Aia ma lalo kahi papa inoa o nā mea hilinaʻi veeam package.

No EL7:
No SLES 12:

  • libblkid
  • libgcc
  • libstdc++
  • ncurses-libs
  • fuse-libs
  • waihona-libs
  • veeamsnap=3.0.2.1185
  • libblkid1
  • libgcc_s1
  • libstdc++6
  • libmagic1
  • libfuse2
  • veeamsnap-kmp=3.0.2.1185

ʻO ka hopena, ʻokoʻa ka papa inoa o nā mea hilinaʻi no ka hāʻawi ʻana.

ʻO ka mea e ʻoi aku ka maikaʻi ke hoʻomaka kahi mana hou e hūnā ma lalo o ka inoa pūʻolo kahiko.

Pākuhi:

Ua hōʻano hou ʻia ka pākaukau ma Fedora 24 ncurses mai ka mana 5 a i ka mana 6. Ua kūkulu ʻia kā mākou huahana me ka mana 5 e hōʻoia i ka hoʻohālikelike ʻana me nā māhele kahiko. No ka hoʻohana ʻana i ka mana kahiko 5th o ka waihona ma Fedora 24, pono wau e hoʻohana i ka pā ncurses-compat-libs.

ʻO ka hopena, ʻelua ʻāpana no Fedora, me nā mea hilinaʻi like ʻole.

ʻOi aku ka hoihoi. Ma hope o ka hoʻolaha hou ʻana, ʻo ka pūʻolo ncurses-compat-libs me ka mana 5 o ka hale waihona puke ʻaʻole i loaʻa. He pipiʻi no ka mea hoʻolaha ke kauo i nā hale waihona puke kahiko i kahi mana hou o ka puʻunaue. Ma hope o kekahi manawa, ua hoʻi hou ka pilikia ma nā māhele SUSE.

ʻO ka hopena, ua hoʻopau kekahi mau māhele i ko lākou hilinaʻi ponoʻī ncurses-libs, a hoʻoponopono i ka huahana i hiki ke hana me kekahi mana o ka waihona.

Ma ke ala, ma ka mana 8 o Red Hat ʻaʻole he pūʻulu meta python, ka mea i pili i ka kahiko maikai ʻthlelo 2.7. ^ E Ha yM. Aia nō python2 и python3.

ʻOkoʻa i nā mea hoʻokele pūʻolo

ʻO ka pilikia me nā hilinaʻi he kahiko a ua lōʻihi ka maopopo. E hoʻomanaʻo wale iā Dependency hell.
No ka hoʻohui ʻana i nā waihona like ʻole a me nā noi i hana paʻa lākou āpau a ʻaʻole kūʻē - ʻoiaʻiʻo, ʻo ia ka hana a nā mea hoʻolaha Linux e hoʻāʻo e hoʻoponopono.

Ho'āʻo ka luna pūʻolo e hoʻoponopono i kēia pilikia ma kahi ʻano ʻokoʻa loa. ʻōniʻoniʻo mai Canonical. ʻO ka manaʻo nui: holo ka noi i kahi pahu one i hoʻokaʻawale ʻia a pale ʻia mai ka ʻōnaehana nui. Inā makemake ka palapala noi i nā hale waihona puke, hāʻawi ʻia lākou me ka noi ponoʻī.

Flatpak hiki iā ʻoe ke holo i nā noi i loko o kahi pahu me ka hoʻohana ʻana i nā Containers Linux. Hoʻohana ʻia ka manaʻo sandbox AppImage.

ʻAe kēia mau haʻina iā ʻoe e hana i hoʻokahi pūʻolo no kēlā me kēia māhele. I ka hihia o Flatpak hiki ke hoʻokomo a me ka hoʻomaka ʻana o ka noi me ka ʻike ʻole o ka luna.

ʻO ka pilikia nui ʻaʻole hiki i nā noi āpau ke holo i loko o kahi pahu one. Pono kekahi poʻe e komo pololei i ka paepae. ʻAʻole wau e kamaʻilio e pili ana i nā modula kernel, pili pono i ka kernel a ʻaʻole kūpono i ka manaʻo sandbox.

ʻO ka pilikia ʻelua, ʻo ka hāʻawi ʻana i nā mea kaulana i ka ʻoihana ʻoihana mai Red Hat a me SUSE ʻaʻole i loaʻa ke kākoʻo no Snappy a me Flatpak.

Ma kēia mea, ʻaʻole i loaʻa ʻo Veeam Agent no Linux snapcraft.io ʻaʻole ma flathub.org.

No ka hoʻopau ʻana i ka nīnau e pili ana i nā mana hoʻokele, makemake wau e hoʻomaopopo aia aia kahi koho e haʻalele i nā mana hoʻokele piha ma ka hoʻohui ʻana i nā faila binary a me kahi palapala no ka hoʻokomo ʻana iā lākou i loko o hoʻokahi pūʻulu.

ʻO ia pūʻulu e hiki ai iā ʻoe ke hana i hoʻokahi pūʻulu maʻamau no nā hoʻohele like ʻole a me nā paepae, e hoʻokō i kahi kaʻina hoʻonohonoho interactive, e lawe ana i ka hana maʻamau e pono ai. Ua ʻike wau i nā pūʻolo like no Linux mai VMware.

Hoʻopau pilikia

He nui nā helehelena o Linux: pehea e hana ai i kekahi mahele
ʻOiai inā hoʻoholo ʻia nā pilikia hilinaʻi a pau, hiki ke holo ʻokoʻa ka papahana ma ka mahele like. He mea pili i nā mea hou.

Aia he 3 mau hoʻolālā hou:

  • ʻO ka mea maʻalahi ʻaʻole loa e hoʻonui. Hoʻonohonoho wau i ke kikowaena a poina iaʻu. No ke aha e hoʻonui ai inā hana nā mea a pau? Hoʻomaka nā pilikia i ka manawa mua āu e hoʻopili ai i ke kākoʻo. Kākoʻo ka mea nāna i hoʻolaha i ka hoʻokuʻu hou.
  • Hiki iā ʻoe ke hilinaʻi i ka mea hoʻolaha a hoʻonohonoho i nā hoʻonui ʻakomi. I kēia hihia, hiki koke ke kelepona ʻana i ke kākoʻo ma hope o ka hoʻonui ʻole ʻana.
  • ʻO ke koho o ka hoʻonui ʻana i ka manual wale nō ma hope o ka holo ʻana ma luna o kahi ʻōnaehana hoʻāʻo ʻo ia ka mea hilinaʻi loa, akā pipiʻi a hoʻopau manawa. ʻAʻole hiki i nā kānaka a pau ke loaʻa.

Ma muli o ka hoʻohana ʻana o nā mea hoʻohana ʻokoʻa i nā hoʻolālā hou, pono ia e kākoʻo i ka hoʻokuʻu hou a me nā mea i hoʻokuʻu mua ʻia. Hoʻopili kēia i ka hoʻomohala ʻana a me ka hoʻāʻo ʻana a hoʻohui i nā poʻo i ka hui kākoʻo.

Nā ʻokoʻa o nā paepae lako

ʻO nā papa hana ʻokoʻa kahi pilikia e pili ana i ka code maoli. Ma ka liʻiliʻi, pono ʻoe e hōʻiliʻili i nā binaries no kēlā me kēia kahua i kākoʻo ʻia.

Ma ka papahana Veeam Agent no Linux, ʻaʻole hiki iā mākou ke kākoʻo i kekahi mea e like me kēia RISC.

ʻAʻole wau e noʻonoʻo nui i kēia pilikia. E wehewehe wale wau i nā pilikia nui: nā ʻano hilinaʻi platform, e like me size_t, ka hoʻolikelike ʻana o ka hale a me ke kauoha byte.

Hoʻopili paʻa a/a ʻole hoʻi

He nui nā helehelena o Linux: pehea e hana ai i kekahi mahele
Akā ʻo ka nīnau "Pehea e hoʻopili ai me nā hale waihona puke - dynamically a statically?" kūpono e kūkākūkā.

Ma ke ʻano maʻamau, hoʻohana nā noi C/C++ ma lalo o Linux i ka hoʻopili ikaika. Hana maikaʻi kēia inā kūkulu ʻia ka palapala noi no kahi māhele kikoʻī.

Inā ʻo ka hana ka uhi ʻana i nā māhele like ʻole me hoʻokahi faila binary, a laila pono ʻoe e kālele i ka hāʻawi ʻana i kākoʻo mua ʻia. No mākou, ʻo ia ʻo Red Hat 6. Loaʻa iā ia ka gcc 4.4, ʻaʻole i kākoʻo ka maʻamau C++11. i piha.

Kūkulu mākou i kā mākou papahana me ka gcc 6.3, ka mea kākoʻo piha iā C++14. Ma keʻano maʻamau, i kēia hihia, ma Red Hat 6 pono ʻoe e lawe i ka libstdc ++ a hoʻonui i nā hale waihona puke me ʻoe. ʻO ke ala maʻalahi e hoʻopili iā lākou me ka statically.

Akā naʻe, ʻaʻole hiki ke hoʻopili ʻia nā hale waihona puke a pau.

ʻO ka mea mua, nā hale waihona puke e like me libfuse, libblkid pono e hoʻopili i ka dynamically e hōʻoia i ko lākou kūlike me ka kernel a me kāna mau modules.

ʻO ka lua, aia kahi maʻalahi me nā laikini.

ʻAe ka laikini GPL iā ʻoe e hoʻopili i nā hale waihona puke me ka code opensource. ʻAe ʻo MIT a me BSD i ka loulou static a ʻae i nā hale waihona puke e hoʻokomo ʻia i loko o kahi papahana. Akā, ʻaʻole kūʻē ka LGPL i ka hoʻopili static, akā pono e kaʻana like nā faila e pono ai no ka loulou.

Ma keʻano laulā, ʻo ka hoʻohana ʻana i ka loulou dynamic e pale iā ʻoe mai ka hāʻawi ʻana i kekahi mea.

Ke kūkulu nei i nā polokalamu C/C++

No ke kūkulu ʻana i nā noi C/C++ no nā paepae like ʻole a me ka puʻunaue ʻana, ua lawa ke koho a kūkulu ʻana paha i kahi mana kūpono o ka gcc a hoʻohana i nā cross-compilers no nā hale kiʻi kikoʻī a hōʻuluʻulu i ka pūʻulu piha o nā hale waihona puke. Hiki i kēia hana ke hana, akā pilikia loa. A ʻaʻohe mea hōʻoiaʻiʻo e hāʻawi ka mea hōʻuluʻulu a me nā hale waihona puke i kahi mana hana.

ʻO kahi pōmaikaʻi maopopo: ua maʻalahi ka ʻōnaehana, no ka mea hiki ke hoʻopau ʻia ke kaʻina hana holoʻokoʻa ma ka mīkini hoʻokahi. Eia hou, ua lawa ka hōʻiliʻili ʻana i hoʻokahi pūʻulu binaries no hoʻokahi hale hoʻolālā a hiki iā ʻoe ke hoʻopaʻa iā lākou i loko o nā pūʻulu no nā māhele like ʻole. Penei ke kūkulu ʻia ʻana o nā pūʻolo veeam no Veeam Agent no Linux.

E kū'ē i kēia koho, hiki iāʻoe ke hoʻomākaukau i kahi mahiʻai kūkulu,ʻo ia hoʻi, he mau mīkini no ka hui. E hāʻawi kēlā me kēia mīkini i ka hoʻopili ʻana i ka noi a me ka hui pūʻolo no kahi hāʻawi kikoʻī a me kahi hoʻolālā kikoʻī. I kēia hihia, hoʻokō ʻia ka compilation me ka hoʻohana ʻana i nā ala i hoʻomākaukau ʻia e ka mea hāʻawi. ʻO ia hoʻi, hoʻopau ʻia ke kahua o ka hoʻomākaukau ʻana i ka mea hoʻopili a me ke koho ʻana i nā hale waihona puke. Eia kekahi, hiki ke maʻalahi ke kaʻina hana kūkulu.

Aia nō naʻe ka ʻaoʻao o kēia ala: no kēlā me kēia māhele i loko o ka hale hoʻolālā like, pono ʻoe e hōʻiliʻili i kāu hoʻonohonoho ponoʻī o nā faila binary. ʻO kekahi hemahema ʻo ia ka nui o nā mīkini e pono e mālama ʻia a pono e hoʻokaʻawale ʻia ka nui o ka disk a me ka RAM.

ʻO kēia ke ʻano o ka hōʻuluʻulu ʻana o nā pūʻolo KMOD o ka module veeamsnap kernel no ka hāʻawi ʻana iā Red Hat.

Wehe Build Service

Ua hoʻāʻo nā hoa hana mai SUSE e hoʻokō i kekahi waena waena ma ke ʻano o kahi lawelawe kūikawā no ka hoʻopili ʻana i nā noi a me ka hui ʻana i nā pūʻulu - openbuildservice.

ʻO ka mea nui, he hypervisor ka mea e hana ai i kahi mīkini virtual, hoʻokomo i nā pūʻolo pono āpau i loko, hoʻohui i ka noi a kūkulu i ka pōʻai i loko o kēia wahi kaʻawale, a laila hoʻokuʻu ʻia ka mīkini virtual.

He nui nā helehelena o Linux: pehea e hana ai i kekahi mahele

ʻO ka mea hoʻonohonoho i hoʻokō ʻia ma OpenBuildService e hoʻoholo i ka nui o nā mīkini virtual hiki iā ia ke hoʻomaka no ka wikiwiki o ka kūkulu ʻana i ka pōʻai. Na ka mīkini hoʻopaʻa inoa i kūkulu ʻia e kau inoa i nā pūʻolo a hoʻouka iā lākou i ka waihona i kūkulu ʻia. E mālama ka ʻōnaehana mana mana i kūkulu ʻia i ka mōʻaukala o nā hoʻololi a kūkulu ʻia. ʻO nā mea i koe e hoʻohui wale i kāu mau kumu i kēia ʻōnaehana. ʻAʻole pono ʻoe e hoʻonohonoho i ka kikowaena iā ʻoe iho; hiki iā ʻoe ke hoʻohana i kahi wehe.

Aia nō naʻe kekahi pilikia: paʻakikī ke komo ʻana o ia mea ʻohi i loko o ka ʻoihana e kū nei. No ka laʻana, ʻaʻole pono ka mana mana; ua loaʻa iā mākou kā mākou iho no nā code kumu. He ʻokoʻa kā mākou hana pūlima: hoʻohana mākou i kahi kikowaena kūikawā. ʻAʻole pono hoʻi kahi waihona.

Eia kekahi, kākoʻo no nā māhele ʻē aʻe - no ka laʻana, Red Hat - ua hoʻokō maikaʻi ʻole ʻia, hiki ke hoʻomaopopo ʻia.

ʻO ka pōmaikaʻi o ia lawelawe he kākoʻo wikiwiki no ka mana hou o ka hoʻohele SUSE. Ma mua o ka hoʻolaha kūhelu o ka hoʻokuʻu ʻana, ua kau ʻia nā pūʻolo e pono ai no ka hui ʻana ma kahi waihona lehulehu. Hōʻike ʻia kahi mea hou ma ka papa inoa o nā māhele i loaʻa ma OpenBuildService. Nānā mākou i ka pahu a hoʻohui ʻia i ka hoʻolālā kūkulu. No laila, ʻo ka hoʻohui ʻana i kahi mana hou o ka hāʻawi ʻana i hana ʻia ma kahi kaomi hoʻokahi.

I loko o kā mākou ʻoihana, me ka hoʻohana ʻana i OpenBuildService, ua hui pū ʻia nā ʻano like ʻole o nā pūʻolo KMP o ka module veeamsnap kernel no nā hāʻawi SUSE.

A laila, makemake wau e noʻonoʻo i nā pilikia e pili ana i nā modula kernel.

kernel ABI

Ua māhele ʻia nā modula kernel Linux ma ke ʻano kumu. ʻO ka mea ʻoiaʻiʻo, ʻaʻole kaumaha nā mea hana i ka kernel iā lākou iho me ka hopohopo o ke kākoʻo ʻana i kahi API paʻa no nā modules kernel, a ʻoi aku hoʻi ma ka pae binary, i kapa ʻia ʻo kABI.

No ke kūkulu ʻana i kahi module no kahi ʻano vanilla, pono ʻoe i nā poʻomanaʻo o kēia ʻano kikoʻī, a e hana wale ia ma kēia kernel.

ʻAe ʻo DKMS iā ʻoe e hoʻokaʻawale i ke kaʻina hana o ke kūkulu ʻana i nā modules i ka wā e hoʻonui ai i ka kernel. ʻO ka hopena, hoʻohana nā mea hoʻohana o ka waihona Debian (a me kona mau ʻohana he nui) i nā modula kernel mai ka waihona o ka mea hoʻolaha a i ʻole i hōʻuluʻulu ʻia mai ke kumu me DKMS.

Eia naʻe, ʻaʻole kūpono kēia kūlana i ka ʻāpana Enterprise. Makemake nā mea hoʻolaha code proprietary e puʻunaue i ka huahana e like me nā binaries i hui ʻia.

ʻAʻole makemake nā luna hoʻomalu e mālama i nā mea hana hoʻomohala ma nā kikowaena hana no nā kumu palekana. Ua hoʻoholo nā mea hoʻolaha Linux Enterprise e like me Red Hat a me SUSE e hiki iā lākou ke kākoʻo i ka kABI paʻa no kā lākou mea hoʻohana. ʻO ka hopena, ʻo ia nā pūʻolo KMOD no Red Hat a me nā pūʻolo KMP no SUSE.

He mea maʻalahi ke kumu o kēia hoʻonā. No kahi mana kiko'ī o ka hāʻawi ʻana, ua maloʻo ka kernel API. Ua ʻōlelo ka mea hoʻolaha e hoʻohana ʻo ia i ka kernel, no ka laʻana, 3.10, a hana wale i nā hoʻoponopono a me nā hoʻomaikaʻi ʻaʻole i pili i nā pilina kernel, a hiki ke hoʻohana ʻia nā modules i hōʻiliʻili ʻia no ka kernel mua loa no nā mea a pau ma hope me ka ʻole o ka hoʻopili hou ʻana.

Ua ʻōlelo ʻo Red Hat i ka hoʻohālikelike ʻana o kABI no ka hāʻawi ʻana i kona ola holoʻokoʻa. ʻO ia hoʻi, pono e hana ka module i hui ʻia no rhel 6.0 (hoʻokuʻu iā Nowemapa 2010) ma ka mana 6.10 (hoʻokuʻu iā Iune 2018). A aneane 8 makahiki keia. ʻO ka mea maʻamau, paʻakikī loa kēia hana.
Ua hoʻopaʻa mākou i kekahi mau hihia kahi i pau ai ka hana veeamsnap module ma muli o nā pilikia pili kABI.

Ma hope o ka module veeamsnap, i hōʻuluʻulu ʻia no RHEL 7.0, ua like ʻole me ka kernel mai RHEL 7.5, akā ua hoʻouka ʻia a hōʻoiaʻiʻo ʻia e hāʻule i ka server, ua haʻalele mākou i ka hoʻohana ʻana i ka hoʻohana ʻana o ka kABI no RHEL 7 a pau.

I kēia manawa, aia ka pūʻolo KMOD no RHEL 7 i kahi hui no kēlā me kēia mana hoʻokuʻu a me kahi palapala e hoʻouka i ka module.

Ua hoʻokokoke ʻo SUSE i ka hana o ka hoʻohālikelike ʻana o kABI me ka akahele. Hāʻawi lākou i ka hoʻohālikelike kABI i loko o hoʻokahi pūʻulu lawelawe.

No ka laʻana, ua hoʻokuʻu ʻia ka SLES 12 i Kepakemapa 2014. A ʻo SLES 12 SP1 i ka lā Dekemaba 2015, ʻo ia hoʻi, ʻoi aku ka liʻiliʻi ma mua o hoʻokahi makahiki i hala. ʻOiai ke hoʻohana nei nā hoʻokuʻu ʻelua i ka kernel 3.12, ʻaʻole kūpono lākou kABI. ʻIke loa, ʻoi aku ka maʻalahi o ka mālama ʻana i ka kABI no hoʻokahi makahiki. ʻAʻole pono e hoʻopilikia i ka poʻe hana modula ka pōʻai hoʻopou hou kernel makahiki.

Ma muli o kēia kulekele SUSE, ʻaʻole mākou i hoʻopaʻa i hoʻokahi pilikia me ka hoʻokō kABI i kā mākou module veeamsnap. ʻOiaʻiʻo, ʻoi aku ka nui o ka nui o nā pūʻolo no SUSE.

Patch a me nā kua

ʻOiai ke hoʻāʻo nei nā mea hoʻolaha e hōʻoia i ka hoʻohālikelike ʻana o ka kABI a me ka paʻa ʻana o ka kernel, hoʻāʻo pū lākou e hoʻomaikaʻi i ka hana a hoʻopau i nā hemahema o kēia kernel paʻa.

I ka manawa like, i ka hoʻohui ʻana i kā lākou "hana i nā hewa," nā mea hoʻomohala o ka ʻoihana Linux kernel nānā ke hoʻololi nei i ka kernel vanilla a hoʻololi iā lākou i kā lākou "paʻa".

I kekahi manawa alakaʻi kēia i nā mea hou hewa.

I ka hoʻokuʻu hou ʻana o Red Hat 6, ua hana hewa i kekahi o nā mea hou liʻiliʻi. Ua alakaʻi ʻia i ka ʻoiaʻiʻo ua hōʻoia ʻia ka module veeamsnap e hāʻule i ka ʻōnaehana i ka wā i hoʻokuʻu ʻia ai ka snapshot. Ke hoʻohālikelike nei i nā kumu kernel ma mua a ma hope o ka hoʻonui ʻana, ua ʻike mākou ʻo ka backport ka hewa. Ua hana ʻia kahi hoʻoponopono like ʻole ma ka ʻano vanilla kernel version 4.19. ʻO ia wale nō ka hana maikaʻi ʻana o kēia hoʻoponopono i ka kernel vanilla, akā i ka hoʻoili ʻana iā ia i ka "stable" 2.6.32, ua kū mai kahi pilikia me ka spinlock.

ʻOiaʻiʻo, loaʻa nā hewa i nā mea a pau, akā pono anei ke kauo ʻana i ke code mai 4.19 a i 2.6.32, e pilikia ana i ke kūpaʻa?.. ʻAʻole maopopo iaʻu ...

ʻO ka mea maikaʻi loa i ka wā e komo ai ke kālepa i ka tug-of-war ma waena o "stability" a me "modernization". Pono ka ʻoihana kūʻai aku i ke kumu o ka hoʻolaha hou e kūpaʻa, ma ka ʻaoʻao hoʻokahi, a i ka manawa like e ʻoi aku ka maikaʻi o ka hana a loaʻa nā hiʻohiʻona hou. Ke alakaʻi nei kēia i nā kuʻikahi ʻē.

I koʻu hoʻāʻo ʻana e kūkulu i kahi module ma ka kernel 4.4 mai SLES 12 SP3, kahaha wau i ka loaʻa ʻana o ka hana mai vanilla 4.8 i loko. I koʻu manaʻo, ʻoi aku ka like o ka hoʻokō ʻana i ka poloka I/O o ka 4.4 kernel mai SLES 12 SP3 me ka 4.8 kernel ma mua o ka hoʻokuʻu mua ʻana o ka stable 4.4 kernel mai SLES12 SP2. ʻAʻole hiki iaʻu ke hoʻoholo i ka pākēneka o ke code i hoʻoili ʻia mai ka kernel 4.8 a i ka SLES 4.4 no SP3, akā ʻaʻole hiki iaʻu ke kapa i ka kernel ʻo ia ka stable 4.4.

ʻO ka mea ʻoluʻolu loa e pili ana i kēia, ʻo ia ke kākau ʻana i kahi module e hana like me nā kernels like ʻole, ʻaʻole hiki iā ʻoe ke hilinaʻi hou i ka mana kernel. Pono ʻoe e noʻonoʻo i ka puʻunaue. He mea maikaʻi i kekahi manawa hiki iā ʻoe ke komo i kahi wehewehe i ʻike ʻia me nā hana hou, akā ʻaʻole ʻike mau ʻia kēia manawa.

ʻO ka hopena, ua ulu nui ke code me nā kuhikuhi hoʻohui kūlana ʻano ʻē.

Aia kekahi mau ʻāpana e hoʻololi i ka palapala kernel API.
Ua loaʻa iaʻu ka puʻunaue KDE neon 5.16 a kahaha loa i ka ʻike ʻana i ke kāhea ʻana o lookup_bdev i kēia ʻano kernel i hoʻololi i ka papa inoa o nā ʻāpana komo.

No ka hui pū ʻana, pono wau e hoʻohui i kahi palapala i ka makefile e nānā inā loaʻa i ka hana lookup_bdev kahi ʻāpana mask.

Kau inoa i nā modula kernel

Akā, e hoʻi kākou i ka hoʻopuka ʻana i ka pūʻolo.

ʻO kekahi o nā mea maikaʻi o ka kABI paʻa ʻo ia ka hiki ke kau inoa ʻia nā modula kernel ma ke ʻano he faila binary. I kēia hihia, hiki i ka mea hoʻomohala ke hōʻoia ʻaʻole i hōʻino ʻia ka module a i ʻole i hoʻololi ʻia. Hiki iā ʻoe ke nānā i kēia me ke kauoha modinfo.

ʻO ka hāʻawi ʻana iā Red Hat a me SUSE e ʻae iā ʻoe e nānā i ka pūlima o ka module a hoʻouka iā ia wale nō inā hoʻopaʻa inoa ʻia ka palapala pili ma ka ʻōnaehana. ʻO ka palapala hōʻoia ke kī ākea kahi i pūlima ʻia ai ka module. Hāʻawi mākou iā ia ma ke ʻano he pūʻolo kaʻawale.

ʻO ka pilikia ma aneʻi, hiki ke kūkulu ʻia nā palapala hōʻoia i loko o ka kernel (hoʻohana nā mea hāʻawi iā lākou) a i ʻole pono e kākau ʻia i ka hoʻomanaʻo non-volatile EFI me ka hoʻohana ʻana i kahi pono. mokutil. Mea hoohana mokutil Ke kau ʻana i kahi palapala hōʻoia, pono ʻoe e hoʻihoʻi hou i ka ʻōnaehana a, ʻoiai ma mua o ka hoʻouka ʻana i ka kernel system operating system, koi i ka luna e ʻae i ka hoʻouka ʻana i kahi palapala hōʻoia hou.

No laila, ʻo ka hoʻohui ʻana i kahi palapala e pono ai ke komo ʻana o ka luna hoʻomalu kino i ka ʻōnaehana. Inā loaʻa ka mīkini ma kahi o ke ao a i ʻole ma kahi lumi kikowaena mamao a loaʻa wale ma o ka pūnaewele (no ka laʻana, ma o ssh), a laila hiki ʻole ke hoʻohui i kahi palapala.

EFI ma nā mīkini uila

ʻOiai ua kākoʻo lōʻihi ʻia ʻo EFI e nā mea hana motherboard āpau, i ka wā e hoʻokomo ai i kahi ʻōnaehana, ʻaʻole paha e noʻonoʻo ka luna hoʻomalu i ka pono o ka EFI, a hiki ke pio.

ʻAʻole kākoʻo nā hypervisors āpau iā EFI. Kākoʻo ʻo VMWare vSphere iā EFI e hoʻomaka ana mai ka mana 5.
Ua loaʻa pū iā Microsoft Hyper-V ke kākoʻo EFI e hoʻomaka me Hyper-V no Windows Server 2012R2.

Eia nō naʻe, i ka hoʻonohonoho paʻamau ua pio kēia hana no nā mīkini Linux, ʻo ia hoʻi ʻaʻole hiki ke hoʻokomo ʻia ka palapala hōʻoia.

Ma vSphere 6.5, hoʻonoho i ke koho Palekana Keʻo hiki wale nō ma ka mana kahiko o ka pūnaewele pūnaewele, e holo ana ma o Flash. Aia ka UI pūnaewele ma HTML-5 ma hope loa.

Māhele hoʻokolohua

A ʻo ka mea hope loa, e noʻonoʻo kākou i ka hoʻopuka ʻana i nā hoʻohele hoʻokolohua a me ka hāʻawi ʻole ʻana i ke kākoʻo mana. Ma kekahi ʻaoʻao, ʻaʻole ʻike ʻia kēlā mau māhele ma nā kikowaena o nā hui koʻikoʻi. ʻAʻohe kākoʻo kūhelu no ia mau māhele. No laila, e hoʻolako i kēlā mau mea. ʻAʻole hiki ke kākoʻo ʻia ka huahana ma ia hoʻolaha.

Eia nō naʻe, lilo ia mau māhele i kahua kūpono no ka hoʻāʻo ʻana i nā hoʻonā hoʻokolohua hou. No ka laʻana, Fedora, OpenSUSE Tumbleweed a i ʻole Unstable mana o Debian. Paʻa loa lākou. Loaʻa iā lākou nā mana hou o nā polokalamu a me kahi kernel hou. I hoʻokahi makahiki, hiki ke hoʻopau ʻia kēia hana hoʻokolohua i kahi RHEL hou, SLES a i ʻole Ubuntu.

No laila, inā ʻaʻole hana kekahi mea ma ka puʻunaue hoʻokolohua, he kumu kēia e noʻonoʻo ai i ka pilikia a hoʻoponopono. Pono ʻoe e mākaukau no ka ʻike koke ʻana o kēia hana ma nā kikowaena hana o nā mea hoʻohana.

Hiki iā ʻoe ke aʻo i ka papa inoa o kēia manawa i kākoʻo ʻia no ka mana 3.0 maanei. Akā ʻoi aku ka laulā o ka papa inoa maoli o nā hoʻolaha e hiki ai i kā mākou huahana ke hana.

ʻO wau iho, makemake wau i ka hoʻokolohua me ka Elbrus OS. Ma hope o ka hoʻopau ʻana i ka pūʻolo veeam, ua hoʻokomo ʻia kā mākou huahana a hana. Ua kākau wau e pili ana i kēia hoʻokolohua ma Habré ma 'ōlelo.

ʻAe, ke hoʻomau nei ke kākoʻo no nā hoʻolaha hou. Ke kali nei mākou no ka hoʻokuʻu ʻia ʻana o ka mana 4.0. Ua kokoke e puka mai ka Beta, no laila e makaala mea-mea hou!

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka