Har'a bahlahisi ba tsamaiso ea tsamaiso ea tsamaiso, ho na le puisano e mabapi le ho fokotsa ho itšetleha ha laebrari ea libsystemd, e sa amaneng feela le likarolo tsa tsamaiso, empa hape le lits'ebetso tse ngata tsa kantle. Mohlala, ho Fedora, liphutheloana tse fetang 150 li sebelisa libsystemd ho its'etleha ha tsona. Mothehi oa lipuisano o lumela hore ho kenyelletsa lilaeborari tse ling tsa mokha oa boraro ho libsystemd tse sa laoloeng ke baetsi ba systemd ho eketsa haholo sebaka sa tlhaselo haeba lilaeborari tsa mokha oa boraro li ka senyeha, joalo ka ha ho etsahetse ka laeborari ea liblzma.
Ntle le liblzma le glibc, libsystemd e boetse e jara libzstd, liblz4 le libgcrypt, ts'ireletso ea eona e fetohang ea bohlokoa. libsystemd e fana ka phihlello ea li-API tsa mantlha tse 12 (sd-bus, sd-daemon, sd-device, sd-event, sd-hwdb, sd-id128, sd-journal, sd-login, sd-netlink, sd-network, sd - tsela le sd-resolve) mme boemo bo hlaha moo kopo, mohlala, e sebelisang libsystemd molemong oa ho letsetsa sd_notify ts'ebetso ho tsebisa systemd ka phetoho ea boemo kapa sd_journal ho ngola data ho log, likhokahano le lilaebrari tse ling kaofela le Basebelisi ba API. E le mokhoa oa ho tsoa, ho reretsoe ho arola libsystemd lilaebraring tse 'maloa tse arohaneng tse ikarabellang bakeng sa li-API tse arohaneng, tse tla lumella ho itšetleha ha motho oa boraro hore ho kenngoe feela moo ho hlokahalang.
Bahlahisi ba systemd ba nka karohano e sa nepahala, kaha bats'oari ba teng ho libsystemd ba hokahane. Ho arola ho ne ho tla hloka mosebetsi o mongata 'me ho ka fella ka tahlehelo ea bokhoni kapa tlhoko ea ho pheta-pheta khoutu. Ho fokotsa mohopolo oa mohopolo, libsystemd e sa tsoa fetoha ho kenya li-liblzma, libzstd, le liblz4 lilaebrari tse sebelisang mohala oa dlopen () maemong ao mesebetsi ea bona e hlileng e hlokahalang. Phetoho e ts'oanang e tla kengoa ts'ebetsong bakeng sa libgcrypt ho qala ka tokollo e latelang.
Qeto ena e fetohile ntho ea ho nyatsuoa, kaha sebakeng sa khokahano e hlakileng le e hlokomelehang, ho jara lilaebrari tsa mokha oa boraro hona joale ho tla etsoa ka mokhoa o hlakileng, e leng se tla thatafatsa tlhahlobo, kaha khokahano ea mehala ea libsystemd API le mehala ea mesebetsi e tsoang lilaebraring tsa kantle ha e joalo. pepeneneng. Phetoho ea ho jarolla ka ho sebelisa dlopen() ka boeona ha e fetole meaho, empa e pata feela likarolo tsa kantle ho bahlokomeli le basebelisi.
Lenart Pottering o ne a hanana ka matla le mohopolo oa ho arola libsystemd lilaeboraring tse 'maloa, kaha ketso e joalo e ne e tla thatafatsa kabo ea khoutu ho systemd mme e tla hloka hore bohle ba sebetsanang le litaba tsa kahare e be sechaba kapa ba li hlophise ka thoko ho laeborari e' ngoe le e 'ngoe. Tabeng ea pele, ho tla ba le mathata a ho boloka botsitso ba API le libaka tsa mabitso, 'me ea bobeli, e tla eketseha ka boholo ka lebaka la ho pheta-pheta khoutu.
E kenyelelitsoe tokollong e latelang, ho kenya lilaebrari tsa kantle ha ho hlokahala ho lemohuoa ke Lenart e le leano le nepahetseng. E reretsoe ho rarolla bothata ba ho rarahana ho ntseng ho eketseha ho fumana lintlha tse mabapi le lilaebrari tse laoloang ka matla ka ho eketsa likarolo tse eketsehileng ho lifaele tsa ELF tse nang le tlhahisoleseding e mabapi le ho itšetleha ka matla joalo, e ka sebetsoang ke li-debuggers le ho bontšoa tlhahisong ea thuso ea readelf.
Mabapi le ho hokahanya palo e kholo ea lits'ebetso le libsystemd, Lenart e khothalelitse hore bahlahisi ba ts'ebeliso ba se leke ho kenya libsystemd molemong oa ts'ebetso e le 'ngoe, empa ho kenya ts'ebetso ea protocol boemong ba kopo. Mohlala, ts'ebetsong ea ts'ebetso ea sd_notify() ha e nyane haholo mme e ka etsoa ka mela e 'maloa ea khoutu ha o sebelisa li-sockets tsa UNIX (AF_UNIX). Ts'ebetso e tšoanang e fapaneng ea sd_notify e se e fumaneha bakeng sa OpenSSH ho tloha 2017 mme e sa tsoa amoheloa lekaleng le nkehang la OpenSSH 9.8, eo tokollo ea eona e reretsoeng bohareng ba lehlabula.
Source: opennet.ru
