{"id":381,"date":"2023-09-18T14:28:01","date_gmt":"2023-09-18T14:28:01","guid":{"rendered":"https:\/\/d-mashina.net\/?p=381"},"modified":"2023-09-18T14:28:01","modified_gmt":"2023-09-18T14:28:01","slug":"kako-zagnat-32bitno-aplikacijo-na-64bitnem-os-linux","status":"publish","type":"post","link":"https:\/\/d-mashina.net\/index.php\/2023\/09\/18\/kako-zagnat-32bitno-aplikacijo-na-64bitnem-os-linux\/","title":{"rendered":"Kako zagnat 32bitno aplikacijo na 64bitnem OS &#8211; Linux?"},"content":{"rendered":"<p>Na\u010dinov kako izvedet kateri procesor uporabljamo na VM-u, stre\u017eniku, prenosniku je ve\u010d.<\/p>\n<p>Najenostavneje to izvemo z ukazom:<\/p>\n<p><strong>lscpu | grep Architecture<\/strong><\/p>\n<p>ki nam nato postre\u017ee z ve\u010d odgovori:<\/p>\n<p><em>Architecture: armv7l<\/em><br \/>\n<em>Architecture: aarch64<\/em><br \/>\n<em>Architecture: x86_64<\/em><\/p>\n<p>Na\u010dinov kako 32bitno aplikacijo pognat na 64bitnem Intel sistemu je ve\u010d:<\/p>\n<p>&#8211; imeti uradno podporo ti. multiarch<br \/>\n&#8211; uporabiti Linux-kernel tehnike, kot so chroot, Docker, OpenVZ, LXC<br \/>\n&#8211; uporaba virtualk<\/p>\n<p>Multiarch sistem je enostaven, edina te\u017eava je v tem, da boste s tem na svoj sistem namestili en kup &#8220;balasta&#8221;. \u010ce ogromno krat uporabljate 32bitne programe je to tudi najbolj\u0161a re\u0161itev. Na Debian \/ Ubuntu distribucijah, to naredimo enostavno za ukazom:<\/p>\n<p><strong># dpkg &#8211;add-architecture i386<\/strong><br \/>\n<strong># apt update<\/strong><br \/>\n<strong># apt install -y ia32-libs<\/strong><br \/>\n<strong># apt install ime_paketa:i386<\/strong><\/p>\n<p>Pred dnevi, ko sem sodeloval na CTF, sem potreboval 32bitno arhitekturo, da sem zagnal en ukaz, ki je bil pisan za 32bitno arhitekturo, ker nisem \u017eelel na sistem names\u010dat ogromno knji\u017enic in programov, sem se odlo\u010dil za <strong>chroot<\/strong> sistem, ki je na Debianu izredno enostaven. Osnovna ideja te re\u0161itve, je da v dolo\u010den imenik namestimo vse potrebno in popolnoma neodvisno od na\u0161ega sitema (sandbox). Da to dose\u017eemo najprej namestimo par dodatnih programov:<\/p>\n<p><strong># apt update<\/strong><br \/>\n<strong># apt install -y schroot debootstrap dbus<\/strong><\/p>\n<p><strong># mkdir \/chroot<\/strong><br \/>\n<strong># debootstrap &#8211;arch=i386 stable \/chroot http:\/\/deb.debian.org\/debian\/<\/strong><\/p>\n<p>Po namestitvi okolja, naredimo \u0161e konfiguracijo za to okolje:<\/p>\n<p><strong># vim \/etc\/schroot\/chroot.d\/debianv01<\/strong><br \/>\n<em>[debianv01]<\/em><br \/>\n<em>description=32bitno okolje Debian<\/em><br \/>\n<em>aliases=debianv01<\/em><br \/>\n<em>type=directory<\/em><br \/>\n<em>directory=\/chroot<\/em><br \/>\n<em>users=root<\/em><br \/>\n<em>root-groups=root<\/em><br \/>\n<em>profile=desktop<\/em><br \/>\n<em>personality=linux<\/em><br \/>\n<em>preserve-environment=true<\/em><\/p>\n<p>in se v na novo ustvarjeno okolje prijavimo:<\/p>\n<p><strong># schroot -c test<\/strong><br \/>\n<em>(debianv01)root@localhost:~#<\/em><\/p>\n<p>V to okolje lahko enostavno namestimo programe 32bitnega okolja, ki te\u010dejo popolnoma neodvisno od na\u0161ega produkcijskega okolja.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Na\u010dinov kako izvedet kateri procesor uporabljamo na VM-u, stre\u017eniku, prenosniku je ve\u010d. Najenostavneje to izvemo z ukazom: lscpu | grep Architecture ki nam nato postre\u017ee z ve\u010d odgovori: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[112,48,39],"tags":[],"class_list":["post-381","post","type-post","status-publish","format-standard","hentry","category-debian","category-linuxcon","category-opensource"],"_links":{"self":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/comments?post=381"}],"version-history":[{"count":1,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/381\/revisions"}],"predecessor-version":[{"id":382,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/381\/revisions\/382"}],"wp:attachment":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/media?parent=381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/categories?post=381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/tags?post=381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}