Cén fáth a n-oibríonn an t-ordú openssl ach go dteipeann ar thógáil an VPN
Ní deir dénártha openssl atá ag obair aon rud faoi cheannteidil ná faoi leabharlanna nasctha. Seiceáil an pacáiste forbartha, ailtireacht an spriocdhírithe agus loga aimsithe an tógála.
Tuairiscíonn an teirminéal leagan OpenSSL go sásta, agus teipeann ar chrann an fhoinse fós le teachtaireacht faoi cheannteidil chripte atá ar iarraidh. Tá an dá ráiteas fíor ag an am céanna, toisc go seachadtar uirlis am rite agus sraith ionchur tógála ar leithligh. Oibrigh na ceithre sheiceáil seo in ord: pacáistí suiteáilte, aschur aimsithe, cosáin chuardaigh, agus ansin an bhfuil an fhoinse féin comhoiriúnach. Stop ag an gcéad cheann a mhíníonn an teip in ionad seanliosta spleáchas a ghreamú.
Is pacáistí éagsúla iad am rite agus ionchur tógála
Roinneann dáileadh OpenSSL ina phacáiste am rite a sholáthraíonn an leabharlann chomhroinnte agus an uirlis líne ordaithe, agus ina phacáiste forbartha a sholáthraíonn ceannteidil, ainmneacha nasc gan leagan agus meiteashonraí pkg-config. Ní shuiteálann suiteáil an chéad cheann an dara ceann, agus níl de dhíth ar an tiomsaitheoir ach an dara ceann.
Seiceáil a bhfuil i láthair i ndáiríre seach a bhfuil cuimhne agat a shuiteáil. Ar chórais a dhíorthaítear ó Debian is é libssl-dev an pacáiste forbartha de ghnáth, agus is pacáiste leabharlainne le leagan móide an dénártha openssl an t-am rite.
dpkg -l | grep -E 'libssl-dev|libssl3|openssl' pkg-config --modversion openssl openssl version
Taispeánann an chéad ordú cé acu den triúr atá suiteáilte, tuairiscíonn an dara ceann an leagan a aimseoidh an córas tógála trí pkg-config, agus tuairiscíonn an tríú ceann an leagan ama rite. Míníonn líne atá ar iarraidh sa chéad aschur an earráid láithreach. Is fadhb eile é neamhréir leagain idir an dara agus an tríú ceann, agus de ghnáth ciallaíonn sé go bhfuil dhá shuiteáil in iomaíocht.
Léigh aschur aimsithe an tógála féin
Tá an chuid is mó de na teipeanna le feiceáil sa loga cumraíochta má léann tú é roimh an achoimre. Tuairiscíonn modúl FindOpenSSL de chuid CMake cén eolaire cuimsithe agus cé na leabharlanna a aimsigh sé, agus teipeann air le teachtaireacht shonrach nuair a bhíonn comhpháirt riachtanach as láthair.
Deimhnigh cén leagan modúil a úsáideann an tionscadal, toisc gur féidir le cóip atá fillte taobh istigh de chrann an fhoinse iompar go difriúil ón gceann a sheachadtar leis an CMake suiteáilte. Ansin léigh an liosta comhpháirteanna: níl leabharlann SSL de dhíth ar thionscadal nach n-iarrann ach Crypto, agus teipfidh ar cheann a iarrann SSL mura bhfuil ach cuid den phacáiste forbartha i láthair.
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release grep -i -E 'openssl|ssl' build/CMakeCache.txt
Athchumraíonn an chéad ordú ón tús, agus taispeánann an dara ceann na torthaí atá i dtaisce, lena n-áirítear aon eolaire fréimhe nó cosán leabharlainne ar shocraigh an modúl air. Má dhíríonn an taisce ar sheanréimír ó iarracht roimhe seo, scrios an t-eolaire tógála agus cumraigh arís in ionad luachanna a chur in eagar de láimh. Is cúis choitianta le teip a mhaireann ceartú ceart iad iontrálacha taisce atá as dáta.
Dírigh an tógáil chuig an suiteáil cheart, go cúng
Nuair a bhíonn OpenSSL ceadaithe ina chónaí lasmuigh den chosán cuardaigh réamhshocraithe, déanann FindOpenSSL doiciméadú ar OPENSSL_ROOT_DIR mar leid don tógáil shonrach sin. Ar chórais atá cosúil le Unix téann sé i gcomhairle le pkg-config freisin, mar sin is féidir le PKG_CONFIG_PATH oiriúnach cabhrú gan aon rud a athrú go domhanda.
cmake -S . -B build -DOPENSSL_ROOT_DIR=/opt/openssl-3.2 -DCMAKE_BUILD_TYPE=Release ldd build/vpn_client | grep -i ssl
Cuireann an chéad ordú teorainn leis an leid d’aon eolaire tógála amháin, agus taispeánann an dara ceann cén leabharlann chomhroinnte a lódálfaidh an dénártha mar thoradh air ag am rite. Is fadhb chosáin ama rite í tógáil a nascann leis an réimír bheartaithe agus dénártha a lódálann ceann eile, ní fadhb aimsithe í, agus teastaíonn cinneadh faoi rpath nó faoi chumraíocht an lódálaí uaithi seach bratach cumraíochta eile.
Coinnigh na roghanna seo áitiúil don tógáil. Is é athsholáthar leabharlann córais nó eagarthóireacht a dhéanamh ar chomhaid pkg-config dhomhanda chun tionscadal amháin a shásamh an bealach a n-éiríonn deasc atá ag obair ina deasc bhriste. Tá eolaire tógála a thaifeadann an réimír in-athdhéanta; is eachtra tacaíochta í athrú ar fud an mheaisín a fhanann don chéad tionscadal eile. Scrios an t-eolaire tógála nuair a athraíonn tú an leid, ionas nach féidir leis an taisce an seanfhreagra a choinneáil.
Bíodh a fhios agat cathain is í an fhoinse an fhadhb
Ní chruthaíonn céim cumraíochta rathúil ach go bhfuil na seiceálacha críochnaithe. Is féidir le tiomsú fós API a bhfuil súil ag an bhfoinse leis a dhiúltú, agus is féidir le nascadh fós teip ar shiombail atá ar iarraidh. Coinnigh an chéad earráid shonrach ó gach céim, toisc gur iarmhairtí iad na cinn níos déanaí de ghnáth.
Rinne OpenSSL 3 roinnt comhéadan a úsáideann cliaint VPN níos sine go díreach a mharcáil mar rud atá as feidhm agus a bhaint, mar sin d’fhéadfadh crann foinse ón ré sin fíorathruithe a theastáil seach cosán cuimsithe nua. Má thacaíonn na cothaitheoirí le heisiúint reatha, bain úsáid as. Mura ndéanann siad, baineann an cinneadh le duine ar bith a shealbhaíonn an tseirbhís, ní le cuardach ar sheanainm comhaid leabharlainne.
Tá a gcuid riachtanas féin ag comhpháirteanna deisce roghnacha freisin. Ní deir sprioc líne ordaithe a chumraítear go glan aon rud faoi cé acu a thógfar na huirlisí GUI agus an t-eagarthóir, mar sin caith le seanliosta pacáistí Qt mar stair seach mar shonraíocht. Seiceáil roghanna an athbhreithnithe fhoinse féin maidir le cé na comhéadain atá cumasaithe de réir réamhshocraithe. Ansin tóg ach an méid a theastaíonn uait, toisc go bhfuil gach spleáchas roghnach ina fhadhb aimsithe eile ag fanacht le tarlú.