Ṣé a kọ́ VPN binary rẹ fún CPU yìí? Ka orí ELF
Kíláàsì àti ẹ̀rọ ELF jẹ́ àwọn pápá ọ̀tọ̀ọ̀tọ̀, ìtumọ̀ náà sì jẹ́ ẹ̀kẹta. Ka gbogbo mẹ́ta kí o tó fi VPN client sórí Pi tàbí pátákó mìíràn.
Fáìlì méjèèjì jẹ́ 32-bit, ọ̀kan nínú wọn sì ni ó ń ṣiṣẹ́ lórí pátákó rẹ. Ìkọ́ ELF32 fún Intel àti ìkọ́ ELF32 fún ARM fohùn ṣọ̀kan lórí pápá kíláàsì, wọ́n sì yàtọ̀ nínú gbogbo ohun tó ṣe pàtàkì. Ojú-ìwé ìgbàsílẹ̀ tó ń pèsè àṣàyàn 32-bit kò sọ fún ọ ní nǹkan kan títí tí ìwọ yóò fi ka orí fáìlì tí ìwọ gbà sílẹ̀ gan-an. Yíyí orúkọ rẹ̀ kò yí ìtọ́nisọ́nà kan padà.
Kíláàsì àti ẹ̀rọ ń dáhùn àwọn ìbéèrè ọ̀tọ̀ọ̀tọ̀
Pápá kíláàsì sọ bóyá fáìlì ń lò àwọn ẹ̀yà 32-bit tàbí 64-bit. Pápá ẹ̀rọ dárúkọ àkójọpọ̀ ìtọ́nisọ́nà tí a kọ fáìlì fún. Kíkà èkíní nìkan ni ọ̀nà tí ìkọ́ x86 fi dé sórí pátákó ARM pẹ̀lú orúkọ fáìlì tó dàbí ẹni tó ṣeé gbára lé pátápátá. Àwọn iye méjèèjì wá láti inú àṣẹ kan náà, ìdí nìyẹn tí ó fi rọrùn láti fò mọ́lẹ̀.
Ìdàrúdàpọ̀ kan náà kan àwọn àmì 64-bit, níbi tí aarch64 àti x86-64 ti ń pín ìwọ̀n ọ̀rọ̀, wọn kò sì pín ìtọ́nisọ́nà kankan. Ojú-ìwé olùtajà tó ń ṣàkójọ ìgbàsílẹ̀ 64-bit kan ń ṣàpèjúwe ìkọ́ tirẹ̀, kì í ṣe ẹ̀rọ rẹ. Ṣàyẹ̀wò orí fáìlì dípò àkọlé ọ̀wọ̀n lórí ojú-ìwé.
readelf -h ./vendor-vpn readelf -l ./vendor-vpn | head -20 file ./vendor-vpn
Àṣẹ kìíní ń tẹ orí jáde, pẹ̀lú kíláàsì àti ẹ̀rọ. Èkejì ń fi àwọn orí ètò hàn, níbi tí ìbéèrè ìtumọ̀ wà. Ẹ̀kẹta ń fún ọ ní ìlà kan nígbà tí tábìlì pọ̀ ju ohun tí o nílò lọ.
Fífi àṣẹ ìṣiṣẹ́ kún tàbí pípa ìwádìí pínpín ò tumọ̀ ohunkóhun. Àfarawé, níbi tí pẹpẹ ti ń gbà á, jẹ́ ìpinnu ìgbékalẹ̀ pẹ̀lú iye iṣẹ́ àti ìgbẹ́kẹ̀lé tirẹ̀.
Ka orí kí o tó ṣiṣẹ́ ìtẹ̀ǹbáwọlé
Ṣàyẹ̀wò ohun èlò tí a gbẹ́kẹ̀lé kí o tó ṣe ohunkóhun láti inú rẹ̀. Ìtẹ̀ǹbáwọlé tí ó kùnà ní àárín ọ̀nà lè fi àwọn ibi-ìkàwé tí a ti pààrọ̀ àti kò sóhun tó ń ṣiṣẹ́ sílẹ̀, èyí tí ó burú ju àkójọ ìwé tí o bẹ̀rẹ̀ pẹ̀lú lọ. Ṣíṣàyẹ̀wò orí jẹ́ kíkà nìkan, ó sì ń yí padà ní ti pé kò sóhun tó ń yí padà lórí ẹ̀rọ.
Fi pápá ẹ̀rọ wé ìmọ̀ ẹ̀rọ àwọn àpò ẹ̀rọ tó ń ṣiṣẹ́, kì í ṣe orúkọ ọjà pátákó náà. CPU 64-bit tó ń ṣiṣẹ́ àyè olùlò 32-bit nílò ìkọ́ 32-bit, ìṣẹ̀lẹ̀ yẹn sì ń pinnu ìgbàsílẹ̀ wo ni ti ìbílẹ̀. Agbára pátákó kì í ṣe ààlà; àyè olùlò tí a fi sínú ẹ̀rọ ni ààlà.
dpkg --print-architecture uname -m getconf LONG_BIT
Àṣẹ kìíní ń ròyìn ìmọ̀ ẹ̀rọ tí ẹ̀rọ ń fi àwọn àpò sínú, ìyẹn sì ni iye tó gbọdọ̀ báramu. Àwọn méjì yòókù ń ṣàpèjúwe kérnélì àti ìwọ̀n ọ̀rọ̀, wọ́n sì lè yàtọ̀ sí àyè olùlò nínú ìfisínú ọlọ́pọ̀ ìmọ̀ ẹ̀rọ.
Nígbà tí àwọn ìdáhùn yẹn yàtọ̀, pinnu èyí tí olùtajà ń gbà kí o tó gba àkójọ mìíràn sílẹ̀. Ìfojú-ìdí ń dá ìyípo àwọn ìfisínú tí ọ̀kọ̀ọ̀kan kùnà ní ibi ọ̀tọ̀ọ̀tọ̀, gbogbo ìkùnà sì dàbí ìṣòro tuntun.
Ṣàyẹ̀wò ìtumọ̀, kì í ṣe ìmọ̀ ẹ̀rọ nìkan
Fáìlì ìṣiṣẹ́ alágbára ń kọ olùgbé wọlé tí ó ń retí sínú orí ètò. Lórí ẹ̀rọ tó ní ọ̀nà olùgbé wọlé mìíràn, kérnélì kọ̀ láti dá fáìlì náà sílẹ̀ pàápàá jùlọ nígbà tí pápá ẹ̀rọ báramu pátápátá. Ìkùnà yẹn ni ó ń rán àwọn ènìyàn láti wá àwọn ibi-ìkàwé tó sọnù.
Ìfọ̀rọ̀ àṣìṣe sọ fún ọ irú ipò tí o wà, àwọn ipò méjèèjì sì rọrùn láti dàrú. Kíkọ̀ àwòrán tàbí ìmọ̀ ẹ̀rọ yàtọ̀ sí fáìlì tàbí ìtumọ̀ tó sọnù, ọ̀kan nínú wọn sì ni a ń túnṣe nípa fífi àpò mìíràn sínú.
readelf -l ./vendor-vpn | grep -A1 INTERP ls -l /lib64/ld-linux-x86-64.so.2
Àṣẹ kìíní ń fi ọ̀nà ìtumọ̀ tí binary náà béèrè hàn. Èkejì ń ṣàyẹ̀wò bóyá ọ̀nà yẹn wà, èyí tó ya ìkọ́ tí kò tọ́ sí ọ̀tọ̀ sí olùgbé wọlé tó sọnù.
Má ṣe ṣiṣẹ́ àkójọ ìgbẹ́kẹ̀lé lórí binary tí a kò gbẹ́kẹ̀lé, nítorí àwọn ìmúṣẹ kan lè ṣiṣẹ́ fáìlì tí wọ́n ń ṣàyẹ̀wò. Jẹ́ kí ìṣàyẹ̀wò wà ní kíkà nìkan, kí o sì tako ìdánwò láti fi àwọn ìsopọ̀ àmì olùgbé wọlé kún láti mú ìkọ́ tí a kò gbà ṣiṣẹ́.
Béèrè ìkọ́ pẹ̀lú àwọn òtítọ́ ní ọwọ́
Fi ìtúnsílẹ̀ OS, ìmọ̀ ẹ̀rọ àpò, iye kíláàsì àti ẹ̀rọ àti ìfọ̀rọ̀ àṣìṣe kìíní ránṣẹ́ sí olùtajà. Àkópọ̀ yẹn ń gba ìdáhùn tó wúlò, nígbà tí àwòrán ojú-ìwé ìkùnà gbogbogbò ń gba àwòrán ìtìlẹ́yìn.
Ya ìbéèrè binary sọ́tọ̀ sí ìbéèrè ìṣètò. Nígbà tí ìkọ́ tó tọ́ bá bẹ̀rẹ̀, àwọn profáìlì, ẹ̀rí ìdánimọ̀ àti àwọn ọ̀nà ṣì jẹ́ ìṣòro wọn fúnra wọn, kò sì sí ìyá ìṣàtúnṣe profáìlì tó lè mú binary tí ìmọ̀ ẹ̀rọ rẹ̀ kò tọ́ ṣiṣẹ́.