AMD64 s i386 (multiarch) - jak to "funguje"?

Založil majsterkoo, 16. 01. 2013, 20:29:43

Předchozí téma - Další téma

majsterkoo

Nazdar,

mám AMD64 a chtěl bych instalovat i aplikace, které pro x64 nejsou. Je to například Wine, Skype, ... Řešením je přidání i386 architektury příkazem dpkg --add-architecture i386. Zajímá mě ale, zda tímto způsobem budou přednostně instalovány x64 knihovny, aplikace atd... a i386 bude sloužit pouze pro vyplnění závislostí, popř. z něj budou tahány aplikace, které pro x64 nejsou. Popřípadně, jak to funguje?

Děkuji za odpovědi :-)

Ota Trkola

Co jsem to zkoušel, tak to funguje jen pro doplnění závislostí.

Ale z mé zkušenosti - mít systém 64bit, když potřebuju k životu Skype (a podobných příkladů je víc) a kvůli němu si zasírat systém dvojíma verzema knihoven a dalším balastem, úhrnem v tomto případě asi 100MB, mi přijde úchylný. A to ani nemluvím o neporovnatelně vyšší spotřebou RAM.

Neni lepší mít 32bit systém, ve kterém toto řešit nemusíš? Tzn za mě, multiarch nebrat a zůstat na 32bit, pokud si nevystačíš s nativníma aplikacema, což zrovna Skype není.

Roman Horník

Taky jde provozovat 64-bitový jádro na jinak 32-bitovým systému, ale ani to nemá význam.
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz

Palo M.

Citace od: majsterkoo kdy 16. 01. 2013, 20:29:43...
mám AMD64 a chtěl bych instalovat i aplikace, které pro x64 nejsou. Je to například Wine, Skype, ... Řešením je přidání i386 architektury příkazem dpkg --add-architecture i386
Multiarch funguje az od Wheezy-ho. Teda pre momentalny stable (Squeeze) nie, ale tam je riesenim "apt-get install ia32-libs": Prida to do systemu 32-bitove verzie dynamickych kniznic, ktore mozu byt dynamicky linkovane 32-bitovymi aplikaciami. Staticky zlinkovane 32-bitove binarky nepotrebuju ani to, tie skratka jednoducho spustis a idu. Multiarch je podla vsetkeho evoluciou tohoto principu.
Ale aj Wine aj Skype maju baliky ako pre i386, tak aj pre amd64 architekturu, takze aj na stable funguju.

Kedze s multiarch som sa este osobne nehral, tak neviem detaily, ale da sa studovat napriklad http://wiki.debian.org/Multiarch (najlepsie asi zacat s http://wiki.debian.org/Multiarch/HOWTO). Vyzera to, ze jedna architektura je povazovana za hlavnu (a vsetky baliky su instalovane standardne pre nu), ale je mozne priinstalovat aj verzie balikov pre inu (pridanu) architekturu, co by samozrejme malo priinstalovat aj potrebne zavislosti.


Moj osobny pohlad na 32-bit vs. 64-bit:
Ja bezim na vsetkych svojich masinach so 64bitovou verziou, okrem jedneho starsieho notebooku (ktory ma len 32-bitovy AMD Sempron a len 1.5 GiB pamate a ktory uz velmi casto nezapinam, navyse je tam este stale Ubuntu 10.04 a nie Debian).
Moje dovody pre 64-bit:
1. Vsetky moje ostatne stroje maju 4GiB RAM a viac. System s 32-bit standardne nedokaze vyuzit viac nez 4 GiB (resp. dokonca len nejakych 3.2 GiB kvoli mapovaniu zariadeni do pamatoveho priestoru), a s PAE sice aj vacsia pamat vyuzita je, ale je to menej efektivne (pamat sa neda adresovat priamo).
2. V 64-bitovom rezime su k dispozicii specialne instrukcie navyse, ktore v 32-bitovom rezime nefunguju (napriklad SSE4). Pre mna to ma velky vyznam, lebo tie stroje su zapojene v BOINC a v 64 bitovom rezime pocitaju vdaka tym specializovanym instrukciam efektivnejsie.
3. Cisto napisane aplikacie nerobia problem, cely system je nativne 64-bitovy. A ak su niektore binarky len 32-bitove (napriklad ten nestastny Skype, ale aj niektore projekty v BOINC maju len 32-bitovu aplikaciu ktora nie je staticky linkovana), tak na to stacilo spominane "apt-get install ia32-libs". Miesto na disku pre 32-bitove kniznice u mna nie je absolutne ziaden problem. Ak nejaka aplikacia je len 32-bitova a nema 64-bitovu verziu, vnimam to ako nekvalitnu (ci zastaralu) aplikaciu a nie ako chybu 64-bitoveho rezimu. Ziaden problem s kompatibilitou som pri paralelnej existencii 64-bitovych a 32-bitovych kniznic nezaznamenal (system pri spusteni dynamicky linkovanej binarky sam rozpozna, ci je 64-bitova alebo 32-bitova a pouzije spravnu verziu kniznice). Skratka instalaciou balika ia32-libs to pre mna skoncilo a vsetko funguje uz dlhe roky. Ked vyjde Wheezy, tak tam by to malo byt nahradene prave multiarch, co by malo fungovat lepsie prave s tymi nekvalitnymi 32-bitovymi verziami (ktore jednoducho pobezia 32-bitovo uplne rovnako ako by bezali na cisto 32-bitovom systeme).
4. Wine nepouzivam. Uz je to par rokov co som ho skusal a cely stroj bol nestabilny (chcelo to vypnut nejaky bezpecnostny mechanizmus v jadre, bez toho kopec aplikacii neslapalo) a okrem toho integracia Wine aplikacii do Gnome desktopu sa mi nepacila - dakujem pekne za take "riesenie". Na Windozacke zalezitosti je dnes daleko lepsia virtualizacia (a Windozacke hry sa uz davno nehravam - ale v tom pripade by som isiel skor do dualbootu).
5. Dokonca aj do virtualov spravidla instalujem 64-bitovu verziu - aj ked tie maju nastavenej menej pamate a 32-bit by tam plne stacilo - ale kedze pouzivam aj apt-cacher-ng, tak je pre mna lepsie rovno pouzit 64-bitove verzie balikov, ktore uz v cache aj tak su. Ale toto pravdepodobne zmenim s prichodom multiarch do stable, pretoze aj tak uz v cache bude vela 32-bitovych verzii balikov kvoli tym knizniciam...

Celkovo, bezat na cisto 32-bitovej verzii ak je procesor 64-bitovy sa podla mna oplati len vtedy, ak treba setrit na kazdom kroku (malo pamate, maly disk, slabsi procesor). Pre niekoho teda moze byt 32-bit rezim velmi dolezity, ale pre mna je to uz par rokov len minoritna zalezitost.

majsterkoo

Pokud si stáhnu Skype multiarch, tak to píše, že architektura i386 není podporována. Wine v repozitářích taky není kompletní a na webu jsem 64bit verzi nenašel  ???

Ota Trkola

Pokud instaluješ Skype do 64bit Debianu, je třeba právě povolit multiarch, tzn 32bit balíčky. To provedeš tak, že do terminálu zadáš:

$ sudo dpkg --add-architecture i386
$ sudo aptitude update


Pak zkus nainstalovat Skype znova. Pokud by byl nějakej probém, dej vědět.

majsterkoo

#6
Ano, o tom --add-architecture jsem psal. Mě jde hlavně o to, jestli když povolím tuto architekturu, tak bude sloužit jen pro doplnění závislostí. V žádném případě nechci, aby se mi začali přednostně instalovat aplikace pro i386 platformu... Popř. pokud se nepletu, tak bude primární AMD64, ale půjdou instalovat i i386 balíčky, například apt-get install balicek:i386?  ::)

Ota Trkola

Jo je to tak, že máš primární platformu a ze sekundární se instalují pouze potřebné závislosti. Typicky 64bit systém a 32bit aplikace, stejně jako tvůj případ. Nicméně můj názor je ten, že v tomhle případě je lepší použít komplet 32bit systém. Pokud bys byl schopen se kompletně obejít bez 32bit aplikací, pak je lepší 64bit.

majsterkoo

Bez Skype se obejdu, asi o něm ani uvažovat nebudu. Jinak používat aplikace z repozitáře - čili 64bit. Kvůli jedné aplikaci, Wine, 32 bit systém je snad zbytečný... Krom toho na Wine potřebuji pouštět pouze Winbox (pro konfiguraci Mikrotiku), čili nějaké další knihovny pro potřeby různých her taky neřeším....

Ota Trkola

Tak v tom případě jdi do toho. Pokud je dostatek RAM, tak by mělo vše být OK, osobně jsem multiarch nastavoval na jednom PC a žádný problém nebyl kromě vyšší spotřeby RAM.