abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 02:33 | Nová verze

    Po více než roce vývoje od vydání verze 5.40 byla vydána nová stabilní verze 5.42 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 64 vývojářů. Změněno bylo přibližně 280 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 01:33 | Nová verze

    Byla vydána nová stabilní verze 7.5 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 138. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Zajímavý software

    Sniffnet je multiplatformní aplikace pro sledování internetového provozu. Ke stažení pro Windows, macOS i Linux. Jedná se o open source software. Zdrojové kódy v programovacím jazyce Rust jsou k dispozici na GitHubu. Vývoj je finančně podporován NLnet Foundation.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Byl vydán Debian Installer Trixie RC 2, tj. druhá RC verze instalátoru Debianu 13 s kódovým názvem Trixie.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červen (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 02:33 | Nová verze

    Libreboot (Wikipedie) – svobodný firmware nahrazující proprietární BIOSy, distribuce Corebootu s pravidly pro proprietární bloby – byl vydán ve verzi 25.06 "Luminous Lemon". Přidána byla podpora desek Acer Q45T-AM a Dell Precision T1700 SFF a MT. Současně byl ve verzi 25.06 "Onerous Olive" vydán také Canoeboot, tj. fork Librebootu s ještě přísnějšími pravidly.

    Ladislav Hagara | Komentářů: 0
    včera 01:33 | Komunita

    Licence GNU GPLv3 o víkendu oslavila 18 let. Oficiálně vyšla 29. června 2007. Při té příležitosti Richard E. Fontana a Bradley M. Kuhn restartovali, oživili a znovu spustili projekt Copyleft-Next s cílem prodiskutovat a navrhnout novou licenci.

    Ladislav Hagara | Komentářů: 0
    2.7. 16:55 | Nová verze

    Svobodný nemocniční informační systém GNU Health Hospital Information System (HIS) (Wikipedie) byl vydán ve verzi 5.0 (Mastodon).

    Ladislav Hagara | Komentářů: 0
    2.7. 16:22 | Komunita

    Open source mapová a navigační aplikace OsmAnd (OpenStreetMap Automated Navigation Directions, Wikipedie, GitHub) oslavila 15 let.

    Ladislav Hagara | Komentářů: 1
    2.7. 11:55 | Zajímavý software

    Vývojář Spytihněv, autor počítačové hry Hrot (Wikipedie, ProtonDB), pracuje na nové hře Brno Transit. Jedná se o příběhový psychologický horor o strojvedoucím v zácviku, uvězněném v nejzatuchlejším metru východně od všeho, na čem záleží. Vydání je plánováno na čtvrté čtvrtletí letošního roku.

    Ladislav Hagara | Komentářů: 38
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (28%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 348 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Chroot podruhé aneb MyLittleInvestigations na AMD64

    25.1.2013 16:10 | Přečteno: 1161× | Výběrový blog

    Dnes si řekneme, jak spustit MyLittleInvestigations na platformě AMD64 díky chrootu. Jedná se o volné navázání na předchozí zápisek Jak si chrochtat v chrootu - http://www.abclinuxu.cz/blog/Tinker/2013/1/jak-si-chrochtat-v-chrootu

     

    Před pár dny jsem na internetu narazil na zajímavou hru nazvanou MyLittleInvestigations (díky Youtube!) a protože mi seriál My Little Pony není cizí a hra vypadala zajímavě, hned jsem se pustil do hledání informací. Brzy jsem narazil na oficiální stránku hry s příhodným názvem - http://www.equestriandreamers.com/. Pročetl jsem FAQ, kde jsem se dozvěděl, že hra je FREE a napsaná v Javě. Přidal jsem Magnet link do torrent klienta (Flush) a čekal (nebojte, seeduji pořád). Jedná se o DEB balíček, který by podle FAQ měl bez problému fungovat v distribuci Ubuntu a Linux Mint.

    Bohužel po stažení jsem si uvědomil, že hra je jen pro architekturu i386. Balíček jsem tedy vnutil systému přes dpkg s parametrem --force-all a doufal, že se bude něco dít. Během instalace mi dpkg zahlásil několik "chybějících" balíčků, ovšem podle Synapticu byly v systému přítomné. Začal jsem tušit, že tu něco nehraje. Pokusil jsem se spustit hru, ale dozvěděl jsem se jen to, že ji chybí knihovna a to taková, která s Javou nemá nic společného. Znovu jsem otevřel Synaptic, našel správný balíček, adresář kde je knihovna nainstalovaná a překopíroval ji jinam. Hra knihovnu našla, ale nechtěla s ní spolupracovat. Dobře, co teď? Začal jsem psát email. Dear princess Celestia.....

    Zeptal jsem se na 64-bit verzi hry, popsal svoje problémy, pochválil hru kterou jsem ještě neměl šanci hrát a zeptal se, zda by nešla hra uvolnit například v ZIP archivu - pokud je napsaná v Javě, tak by to mohlo být užitečnější, než balíčky pro jednotlivé systémy. Odpověď přišla během 15 minut (bohužel jsem jí zaznamenal až v posteli přes usnutím) a dozvěděl jsem se mnoho zajímavých informací:

    - Hra byla původně vyvíjena v Javě, ale kvůli problémům s výkonem a kompatibilitou s HW (to jsem si opravdu nevymyslel!) byla hra přeportována na SDL a kompletně přepsána do C++. Jako výhodu SDL autor zmiňuje možnost běhu na snad jakémkoli HW a já s ním musím souhlasit (taky už jste hráli OpenTTD na smartphone/tabletu?).

    - Problém 64-bitové hry je ve scénářích. Jedná se o soubor zahrnující všechny podmínky a obecně celý příběh (zřejmě i velmi povedené hlášky a obrázky). Na 64-bitových systémech mohou být opravdu veliké, ale na 32-bitových je problém s 4GB bariérou. Mohlo by se tak jednoduše stát, že nějaký fanoušek vytvoří 5GB scénář, který půjde spustit na 64-bitové architektuře, ale ne na 32-bitové, protože bude moc velký. Proto je momentálně k dispozici jen 32-bitová verze hry a 64-bitová ne - není problém ji vytvořit, ale v případě moc velkých scénářů hrozí, že budou hráči na 32-bitových architekturách ochuzeni. Podal jsem vlastní návrh na řešení a momentálně čekám na odpověď.

    - Pokud chci hrát na 64-bitové architektuře, mohu si nainstalovat Wine a spustit v něm verzi pro Windows. Kombinace je odzkoušená a údajně funguje bez větších problémů.

    Zároveň byla rychle opravena chybná informace a nyní už web hovoří o hře napsané v C++ s použitím SDL.

     

    Instalace Wine se mi trochu příčila - už zase se mi budou textové soubory místo v Geditu otevírat v notepad.exe? Raději jsem šel spát a přenechal problémy Luně, ta má větší hlavu :-)

    Ráno jsem měl hned po otevření očí jasno - chroot! Tedy teď už chrocht, krátce po zprovoznění Eagle jsem si totiž udělal v souboru .bashrc alias (připsal řádek):

    alias chrocht="xhost +local: && sudo schroot -c sid -p"

    Mimochodem, co říkáte na alias cat='more'?

     

     

    Jak tedy na to? Předpokládám, že máte vytvořený chroot, obsahuje aktuální repozitáře a má informace o dostupných balíčcích. Pokud ne, postupujte podle http://www.abclinuxu.cz/blog/Tinker/2013/1/jak-si-chrochtat-v-chrootu až k příkazu apt-get update, dále už ani krok. Poté potřebujete samozřejmě hru, lze ji nalézt logicky v sekci Downloads http://www.equestriandreamers.com/downloads/ a můžete stahovat buď přes magnet link (torrent), nebo přes HTTP (přímo). Pokud podle vás nemá cenu takovou hru sdílet, použijte v chrootu jednoduše wget následovaný přímou adresou k souboru, jinak nechte chrochtat svůj torrent klient podporující magnet linky (nezapomeňte po stažení soubor ověřit) a výsledný soubor následně překopírujte do chrootovaního /home (v mém případě jsem musel být root).

    Nyní trochu odbočím, budeme totiž upravovat jeden soubor v hostitelském systému. Proč? Protože bez této úpravy by ve hře nefungoval zvuk a jak jistě všichni víte, bez zvuku to není ono. Jako root si tedy otevřeme soubor /etc/fstab a přidáme řádek:

    /dev /srv/chroot/sid/dev none bind 0 0

    Tím jsme zajistili "sdílení" adresáře /dev do /srv/chroot/sid/dev, takže chrootovaný systém může přistupovat ke všem zařízením v /dev jako k vlastním. Aby to ovšem fungovalo, tak musíme systému říct (opět jako root), že má znovu načíst obsah souboru /etc/fstab:

    mount -a

    Hotovo, nyní můžeme zapnout chroot. Pokud jste si již nastavili alias a restartovali terminál (aby si znovu načetl soubor .bashrc), můžete napsat jednoduše chrocht, jinak dlouze:

    xhost +local: && sudo schroot -c sid -p

     

     

    Vítejte v chrootu. Jako první si nainstalujeme ALSA aby nám fungoval zvuk:

    apt-get install alsa-base alsa-utils

    Pokud si trochu ztišíte aparaturu (je to opravdu hlasité) a připravíte končetinu na klávesovou zkratu CTRL+C (ukončení), můžete na vlastní nebezpečí spustit příkaz:

    aplay /dev/urandom

    Pokud jste právě neprohodili notebook nebo část vaší sestavy oknem, můžeme přistoupit k dalšímu kroku. Tím je instalace balíčku, typicky přes dpkg:

    dpkg -i MyLittleInvestigationsDemo2.deb

    Balíčkovač by měl zahromovat (jako když Ditzy Doo vyklopí piáno), naštěstí náprava je jako ve většině případů až podezřele snadná:

    apt-get -f install

    Balíčkovač by měl stáhnout chybějící balíčky, nainstalovat vaši hru a vše by mělo proběhnout bez chyb. Pokud se tak stalo, můžete zkusit spustit hru příkazem (opravdu tam jsou velká písmena):

    MyLittleInvestigations

    Pokud se vše zdrařilo (a já na nic nezapomněl), mělo by se otevřít okno s hrou jako na přiloženém screenshotu :-)

     

     

    To je pro dnešek vše, ale nebojte se, brzy bude jistě následovat další zápisek a tentokrát snad již o jiném tématu. Protože RaspberryPi neplnilo svoji úlohu na 100% jak bylo původně zamýšleno (nefungoval scanner + podezřele často se rozbíjel balíčkovač), bude nahrazeno opět x86 serverem. Mohu ale s klidem na duši prohlásit, že s výkonem problémy opravdu nebyly a v některém z budoucích zápisků mám v plánu zprovoznit RaspberryPi jako pracovní stanici. Bude to výzva a jakási zkouška dospělosti. Dalším nápadem byla instalace JACK a realtime úprava zvuku, ale zde by asi malina byla s výkonem na hranici, navíc by se musela použít USB zvuková karta. Mimochodem, na brony IRC se včera objevil odkaz na FM vysílač s RaspberryPi (stačí připojit delší drát na GPIO pin), myslím že napsaný v Pythonu ;-)

           

    Hodnocení: 100 %

            špatnédobré        

    Obrázky

    Chroot podruhé aneb MyLittleInvestigations na AMD64, obrázek 1

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    25.1.2013 18:53 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64

    alias na cat ... je blbost.

    spousta scriptu te za to bude mit rado a kdyztak "less is MORE"!

    USE="-gnome -kde";turris
    Dreit avatar 25.1.2013 19:14 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64

    Skriptům se to určitě líbit nebude, to je pravda :-( Změnim to na cats a uvidíme jak si na to zvyknu :-)

    Nope
    tsLnox avatar 27.1.2013 12:52 tsLnox | skóre: 31 | blog: Blog jednoho ukecaného Gentoolemana | Žďár nad Sázavou
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64
    Mimochodem, co říkáte na alias cat='more'?
    alias raven='echo Nevermore'
    vencour avatar 27.1.2013 13:15 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64
    :-)
    Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
    Luboš Doležel (Doli) avatar 25.1.2013 22:03 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64
    Problém 64-bitové hry je ve scénářích. Jedná se o soubor zahrnující všechny podmínky a obecně celý příběh (zřejmě i velmi povedené hlášky a obrázky). Na 64-bitových systémech mohou být opravdu veliké, ale na 32-bitových je problém s 4GB bariérou. Mohlo by se tak jednoduše stát, že nějaký fanoušek vytvoří 5GB scénář, který půjde spustit na 64-bitové architektuře, ale ne na 32-bitové, protože bude moc velký. Proto je momentálně k dispozici jen 32-bitová verze hry a 64-bitová ne - není problém ji vytvořit, ale v případě moc velkých scénářů hrozí, že budou hráči na 32-bitových architekturách ochuzeni. Podal jsem vlastní návrh na řešení a momentálně čekám na odpověď.
    Eh, jako by byl problém tam do kódu přidat jeden if().
    25.1.2013 23:11 Kvakor
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64
    Možná by to šlo i bez něj - u většiny problémů je možné zvolit rychlejší algoritmus s větší spotřebou paměti versus pomalejší algoritmus s menší spotřebou paměti, ale často jde udělat univerzální algoritmus, který může dynamicky přecházet mezi těmito extrémy podle toho, kolik má v dispozici paměti.

    Nevím, jak je interně realizovaný scénář, ale pokud je to něco na způsob stavového automatu, tak není nutné držet v paměti všechny stavy, jen aktuální stav včetně podmínek pro přechody do jiných stavů, případně (trasparentně) cachovat aktuálně používané stavy v paměti.

    Pokud je paměti dostatek, tak se všechna data nacachují, pokud jí není dost, tak se načte určitá část do určité hloubky (tedy dokud je v v cache místo) a zbytek se pak načítá za chodu (např. v samotatném vlákně, co dělá něco na způsob read-aheadu), zatímco nejméně používaná data se zahazují.

    Je pravda, že něco takového je složitější než jeden mmap(), ale overhead není zas tak moc velký a mimo toho je občas lepší dělat si vlastní cachování než spoléhat na systém, protože u vlastní cache je možné mnohem jemněji odstupnovat životnost dat než to jde pomocí madvise().
    25.1.2013 22:30 Petr Tomasek
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64
    Mimochodem, co říkáte na alias cat='more'?

    Rikam toto:

    $ more > soubor << EOF
    tady dady dady
    dadydady
    EOF
    

    :-)

    25.1.2013 22:46 jarin
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64
    Nevím co máš za systém, ale neřeší přesně tenhle problém multiarch podpora zavedená v debianu wheezy? Prostě si přidáš do balíčkovacího systému alternativní architekturu a potřebné 32bit balíky se doinstalují z 32bit repozitářů. Chroot mi připadá zbytečně komplikovaný.
    25.1.2013 23:16 Kvakor
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64
    Stačí inistalovat 32bitové knihovny (většinou se jmenují lib32něco), které jsou běžně v dispozici depozitáři a instalují se do /lib32.
    25.1.2013 23:29 jarin
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64
    Takhle to bylo dřív. Nevýhoda byla, že ne všechny knihovny byly lib32něco a navíc sis musel hlídat závislosti ručně nebo upravovat balík. Multiarch má tu výhodu, že instaluješ stejný balík do 32bit i 64bit systému beze změny.
    Dreit avatar 26.1.2013 01:04 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64

    Tak to koukám, že jsem o pár let pozadu a taková novinka se k mým očím zatím nedostala :-D Někdy se na to podívám, děkuji za tip :-)

    Nope
    kotyz avatar 26.1.2013 18:59 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
    Rozbalit Rozbalit vše Re: Chroot podruhé aneb MyLittleInvestigations na AMD64
    Nechceš se taky trochu víc rozepsat i o tý hře samotný? To je nějaká VN?
    Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.