Portál AbcLinuxu, 30. dubna 2025 21:23
V předchozím dílu seriálu jsem se pokusil srovnat výkon při přehráváni videa pomocí 32bit a 64bit kodeků. Přišlo mi více dotazů na téma 32bit mplayeru a kodeků v 64bit linuxu než na původní téma článku. Dovolím si tedy menší odbočku od tématu seriálu abych ukázal jak si na 64bit systému vyrobit 32bit binárky a knihovny.
V Gentoo je možnost nainstalovat 32bit verzi mplayeru pomocí emerge mplayer-bin. Spolu se stádem emul-linux a wincodecs balíčky tím dostaneme binární 32bit kodeky a mplayer/mencoder. Docílíme tím stavu stejného jako v binárních distribucích. Použití takového postupu pro srovnání výkonu by ale nebylo férové jelikož v 64bit verzi je použita kompilovaná verze šitá na míru pro můj počítač.
Další alternatívou je ruční překlad knihoven a mplayeru s vnucením -m32. Tento postup je ale složitý a vyžaduje spoustu cvičení s umístěním knihoven a parametry pro configure všech aplikací. Tudy snadná cesta nevede.
Řešením je vytvoření chrootovaného 32bit prostředí. Detailní postup je popsán v gentoo handbooku. Hezké je na tom ale to, že tento postup bude funkční (s mírnými modifikacemi) i v jiných distribucích. Pomocí linux32 přesvědčíme vnoneřené procesy (v tomto případě chroot), že běží na i686 platformě. Pomocí běžných prostředků gentoo následně nainstalujeme běžnou 32bit distribuci. Pomocí 32bit překladače si zkompilujeme 32bit knihovny a 32bit aplikace optimalizované dle CFLAGS vnořeného 32bit systému Iluze je téměř dokonola ikdyzž samozřejmě nějake trhlinky tam jsou- aplikace použivající jaderný modul se sice obalamutit podaří ale nedopadne to dobře.
Nevýhodou je množství zabraného místa na disku. Portage tree a distfiles lze sdílet ale ostatní věci jsou "zdvojeny". Počítejte se zhruba 700MiB po instalaci základních věcí.
Pokles výkonu 32bit aplikace spuštěné v 64bit systému je (v případě, že aplikace nevyužívá enormně často volání jádra) zanedbatelný. Kdybychom se pokusili o virtualizaci pomocí XENu, VirtualBoxu atd. tak docílíme hůře srovnatelných výsledků.
Happy chtrooting
Tiskni
Sdílej:
Mandriva to má celkom elegantne vyriešené keď je program 64 bit nainštaluje sa do /usr/bin a knižnice !/usr/lib64! a ostatne je klasika. Ak je program 32bit tak sa dá do /usr/bin a knižnice ktoré potrebuje 32 bit sa dajú do /usr/lib.
Tak to nemá zdaleka jen Mandriva, spíš bych to označil za standardní řešení. Dokonce s tím počítá i specifikace FHS.
náhodou nie je to podobné chroot (až tak som to veľmi neriešil)
Ne, chroot je proti tomuto řešení zbytečně komplikovaný.
V pripade binarnich balicku zbytecne komplikovany. V pripade kompilace vlastnich balicku (coz je tento pripad) je to mene komplikovane :)náhodou nie je to podobné chroot (až tak som to veľmi neriešil)Ne, chroot je proti tomuto řešení zbytečně komplikovaný.
Vlastne som ani neskúmal ktoré ďalšie dist. majú toto rovnaké. Viete ktoré
Určitě SuSE přinejmenším od 8.2. Řekl bych, že i Fedora, RHEL a klony, ale tam si nejsem stoprocentně jistý.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.