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 09:00 | Zajímavý projekt

Krython je interaktivní aplikace určená k výuce základů programování v jazyce Python verze 3. Její název je složeninou slova Python a jména androida z britského sci-fi sitcomu Červený trpaslík - Kryton. Kryton tě provede všemi úkoly. Až se ti podaří je splnit, získáš diplom.

Ladislav Hagara | Komentářů: 0
dnes 08:00 | Nová verze

Byla vydána nová stabilní verze 4.1 (4.1.2369.11) webového prohlížeče Vivaldi (Wikipedie). Přehled novinek v příspěvku na blogu. Zdůrazněn je nový typ seskupování listů s názvem Akordeon (YouTube) a Řetězce příkazů (YouTube). Nejnovější Vivaldi je postaven na Chromiu 92.0.4515.126.

Ladislav Hagara | Komentářů: 0
dnes 02:44 | Nová verze

Byla vydána nová verze 21.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na HardenedBSD, od příští verze 22.1 na FreeBSD. Kódový název OPNsense 21.7 je Noble Nightingale. Přehled novinek v příspěvku na blogu.

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

Orbiter Space Flight Simulator (Wikipedie), počítačový simulátor vesmírných letů, je nově open source software. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 2
včera 17:33 | Nová verze

Byla vydána nová verze 2.4.0 svobodné implementace protokolu RDP (Remote Desktop Protocol) a RDP klienta FreeRDP. Přehled novinek v Changelogu nebo v GitHub Milestones. Zdůraznit lze vícevláknové dekódování. Opraveny byly dvě bezpečnostní chyby.

Ladislav Hagara | Komentářů: 1
včera 15:33 | Nová verze

Byla vydána nová verze 6.6 v Javě napsané aplikace pro komplexní návrh rozmístění nábytku a dalšího vybavení v interiérech Sweet Home 3D. Vyzkoušet lze online verzi.

Ladislav Hagara | Komentářů: 0
včera 08:00 | Nová verze

Po půl roce od vydání verze 14.0 byla vydána nová verze 15.0 zvukového serveru PulseAudio (Wikipedie). Přehled novinek v poznámkách k vydání. V některých distribucích, například Fedora 34, byl zvukový server PulseAudio nahrazen novým multimediálním serverem PipeWire (Wikipedie).

Ladislav Hagara | Komentářů: 2
včera 07:00 | Zajímavý projekt

Konsorcium Linux Foundation představilo open source projekt Pyrrha, původně Prometeo. Jedná se o IoT platformu pro monitorování a ochranu života a zdraví hasičů. Představení na YouTube. Zdrojové kódy i návrhy a firmwary hardwarových senzorů jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 4
27.7. 20:44 | Nová verze

Apache Cassandra (Wikipedie), tj. open source NoSQL distribuovaná databáze, byla po šesti letech vydána v nové major verzi 4.0. Přehled novinek v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 2
27.7. 19:33 | Zajímavý projekt

WebHero je hra pro webové nadšence. V každém levelu čeká jeden úkol spojený s webovými technologiemi.

Ladislav Hagara | Komentářů: 11
Preferuji
 (62%)
 (28%)
 (10%)
Celkem 362 hlasů
 Komentářů: 70, poslední včera 15:20
Rozcestník

Gentoo Linux - Prelink a Psyco

3. 3. 2006 | Matej Gagyi | Systém | 9578×

Ďalšie urýchľovanie systému. Tentokrát upravíme knižnice, spustitelné binárky a programy písané v Pythone (konkrétne Portage).

Prelink

Používatelia desktopového prostredia KDE môžu za prelink ďakovať Jakubovi Jelinekovi z RedHatu. Prelink upravuje knižnice a binárky tak, aby sa programy spúšťali rýchlejšie (hlavne aplikácie písané v jazyku C++, napríklad KDE).

Inštalácia

V Gentoo nie je inštalácia prelinku nič zložité (zväčša):

$ su -
Password:
# emerge prelink

Prelink sa však nemusí nainštalovať, ak na prelinkovanie nemáte pripravený systém. Celý systém by mal byť skompilovaný s USE flagom pic. Pridajte ho do súboru /etc/make.conf:

USE="pic"

a prekompilujte celý systém:

$ su -
Password:
# emerge --update --deep --newuse world

alebo:

$ su -
Password:
# emerge -uDN world

Nastavenia a spustenie prelinku

Po úspešnom nainštalovaní prelinku odporúčam upraviť jeho nastavenia v súbore /etc/env.d/60prelink. Pridajte adresáre /opt, /mnt, /tmp a /var/tmp do premennej PRELINK_PATH_MASK:

PRELINK_PATH_MASK="/opt:/mnt:/tmp:/var/tmp:..."

Prelink sa bude týmto adresárom vyhýbať a prelinkovanie bude trvať kratšie. Môžete pridať aj ďalšie adresáre, v ktorých sa nenachádzajú binárky ani knižnice. To isté platí aj pre mená súborov, ktoré ma prelink vynechať (napríklad: *.txt, *.html, *.odt apod.)

Teraz vygenerujte konfiguračné súbory systému (vrátane /etc/prelink.conf):

$ su -
Password:
# env-update
>>> Regenerating /etc/ld.so.cache...

Spustenie a používanie prelinku

Teraz stačí spustiť prelinkovanie a dať si šálku svojho obľúbeného kofeínového nápoja, pretože to bude chvíľu trvať:

$ su -
Password:
# prelink -amR

Parametre:

-a, --all
Prelinkuje všetko, čo nájde.
-m, --conserve-memory
Zmenší pamäť potrebnú pre spustené súbory.
-R, --random
Zvýši bezpečnosť prelinkovaných programov.
-q, --quick
Použite po inštalovaní nových verzií knižníc. Zrýchli opätovné prelinkovanie.
-u, --undo
Vráti všetky zmeny, ktoré boli na knižniciach a binárkach urobené.

POZOR! Pred prelinkovaním si dajte pozor, aby ste mali dostatok voľného miesta na disku. Stačí len pár megabajtov, ale radšej si ich uvoľnite viac (aspoň 100MB).

Prelink a KDE

Štartovanie KDE sa môže zrýchliť až o 50 %, ak mu oznámite, že už je prelinkované. Stačí nastaviť premennú prostredia KDE_IS_PRELINKED.

Používatelia Gentoo tak môžu urobiť v súbore /etc/env.d/99kdeenv:

KDE_IS_PRELINKED=1

Aby sa zmena prejavila, treba obnoviť konfiguráciu systému a načítať nanovo vygenerovaný súbor /etc/profile:

$ su -
Password:
# env-update
# exit
$ source /etc/profile

Psyco

Stále opakujem, že Portage je veľmi pomalý. Nastal čas prestať o tom rozprávať a niečo s tým urobiť. Samozrejme, ak máte výkonný hardvér, rýchlosť Portage vám prekážať nemusí. Vlastníkov starších počítačov teraz prichádza vykúpiť Psyco.

Ako Psyco funguje

Portage je celý napísaný v programovacom jazyku Python. Python je interpretovaný jazyk, takže je omnoho pomalší ako kompilované jazyky (C, C++, Pascal a podobne).

Psyco kompiluje program do binárnej formy počas behu programu. Skompilovaný program pracuje nezávisle na interpreteri Pythonu, a preto pracuje rýchlejšie. Je to princíp JIT (just-in-time) kompilátora, ale Psyco je trochu odlišný.

Psyco totiž každý blok (časť programu) skompiluje do viacerých binárnych verzií. Každá verzia je optimalizované pre inú situáciu behu programu. Nevýhoda Psyca je, že potrebuje veľké množstvo pamäte. Presné údaje sa mi nepodarilo zistiť.

Podľa autora Psyco urýchľuje Python priemerne štvornásobne a matematické výpočty až desaťnásobne. Moje benchmarky ukazujú nasledovné údaje:

Test na procesore AMD AthlonXP 2800+

Program emerge bez Psyco (tretie spustenie):

# time original_emerge -uDNpv world > /dev/null

real 0m3.211s
user 0m2.917s
sys 0m0.242s

Program emerge s Psyco (tretie spustenie):

# time emerge -uDNpv world > /dev/null

real 0m2.822s
user 0m2.534s
sys 0m0.248s

Test na procesore AMD K6-2 400MHz

Program emerge bez Psyco (tretie spustenie):

# time original_emerge -uDNpv world > /dev/null

real 0m58.200s
user 0m53.159s
sys 0m2.928s

Program emerge s Psyco (tretie spustenie):

# time emerge -uDNpv world > /dev/null

real 0m44.759s
user 0m39.958s
sys 0m2.752s

Inštalácia

Inštalácia je jednoduchá a rýchla:

# emerge psyco

Psyco musí byť aktivované z programu, ktorý chceme urýchliť, preto musíme upraviť súbor /usr/bin/emerge. Najprv si urobte kópiu:

# cd /usr/bin
# cp emerge original_emerge

Do súboru /usr/bin/emerge pridajte riadky označené zelenou farbou:

#!/usr/bin/python -O
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-src/portage/bin/emerge,v 1.345.2.31 2005/05/18 15:19:52 jstubbs Exp $

import os,sys
os.environ["PORTAGE_CALLER"]="emerge"
sys.path = ["/usr/lib/portage/pym"]+sys.path

import portage
#Added for Psyco
try:
import psyco
psyco.full()
except ImportError:
pass
#Done


import emergehelp,xpak,string,re,commands,time,shutil,traceback,\
atexit,signal,socket,types

A hotovo, program emerge by mal byť citeľne rýchlejší. Ak Gentoo nepoužívate, ale chcete Psyco využiť, stiahnite si ho z domovskej stránky Psyco.

Seriál Gentoo Linux (dílů: 4)

Gentoo Linux - majstrovská inštalácia (první díl)
<—« Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
Gentoo Linux - Prelink a Psyco (poslední díl)

Související články

Gentoo Linux - majstrovská inštalácia
Gentoo Linux - optimalizácie
Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
Seriál: Moderní souborové systémy
Na co se často ptáme: Organizácia disku
Na co se často ptáme: /etc/fstab
Seriál: Súborové systémy
Gentoo Linux 1.4
Balíčkovací systém Gentoo Linuxu - I
Balíčkovací systém Gentoo Linuxu - II
Arch Linux
Nebojíme se kompilace - I (teorie)
Nebojíme se kompilace - II (praxe)
Nebojíme se kompilace - III (ladíme)

Další články z této rubriky

Úvod do Dockeru (1)
Paralelizace běžných činností v konzoli pomocí GNU Parallel
Unixové nástroje – 26 (triky pro práci v Bashi)
Unixové nástroje – 25 ((s,c)fdisk, gdisk, parted a findmnt)
Linux: systémové volání splice()
       

Hodnocení: 62 %

        špatnédobré        

Nástroje: Tisk bez diskuse

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

Komentáře

Vložit další komentář

3.3.2006 00:36 Pmx
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
emerge --update --deep --newuse world - tohle překompiluje celý systém? Nemělo to být emerge -e world?
3.3.2006 01:00 Pmx
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Teď jsem si uvědomil, že se změní USE flagy (+pic), takže --update --deep (-uD) bude fungovat taky...
3.3.2006 02:34 D-Evil | skóre: 25 | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Předevšim asi jde o to, že emerge -e (--emptytree) world rekompiluje celej systém - všechny balíky i s jejich závislostma, bez ohledu na to, jestli už jsou nainstalovaný a jestli vyhovujou novejm potřebám (USE flagům). To se používá například při změně CFLAGS a CXXFLAGS. Je celkem logický, že jen kvůli přidání podpory pro ALSA nebudu rekompilovat úplně všechno, třeba takový gcc mě v tu chvíli zajímat opravdu nebude. K tomu slouží parametr -N (--newuse) - zjištuje, s jakejma volbama byl kterej "balík" kompilovanej a zabejvá se pouze tim, co novejm potřebám nevyhovuje.
3.3.2006 15:24 Pmx
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
To -N jsem do předchozího příspěvku zapomněl připsat, jinak takové věci naštěstí vím (i když teda není moc vidět, že to vím). Takže i přispívání do diskuze si raději budu nechávat až na ráno :-) Sorry za zmatkování.
3.3.2006 00:36 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Ach jo, mail s pripominkama jsem posilal 9. unora, lec odpoved neprisla, mno nic:
Nejak mi to pripomina http://www.gentoo.org/doc/en/prelink-howto.xml, vubec nevim proc :). At uz to aspon opise poradne, cili ze v $CFLAGS/$CXXFLAGS nesmi byt -fPIC, v $USE naopak musi bejt pic (to je spravne).

Mezi emerge --update --deep --newuse world a emerge -uDN world neni absolutne zadny rozdil, proto nechapu dvoji uvedeni tehoz (snaha o natahnuti clanku?). Proc se stale opakuje su -? Opet to nema vubec zadny vyznam.

Ad python a emerge - ten pythoni kod je spatne, protoze neni odsazen, takhle nebude fungovat.

Dale testovani "rychlosti emerge" pri tretim opakovani emerge -ep world je IMHO nesmyslne, protoze uz jsou tou dobou vsechny udaje nacachovane (cache Portage, ne disku), a navic rozdil 1 sekunda je, ehm, opravdu zanedbatelny. Kdyz uz, tak at si pohraje s emerge --metadata :) .
Mikos avatar 3.3.2006 01:58 Mikos | skóre: 34 | blog: Jaderný blog | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Co já si tak z Gentoo pamatuju, tak hlavní problém pomalosti portage v některých operacích rozhodně není Python (to je dostatečně rychlý jazyk), ale způsob jakým portage s daty/metadaty pracuje (už si ale nepamatuju přesně v čem to bylo).

Tzn. Psycem se opravdu získá maximálně pár vteřin, ale to člověka zas tolik nevytrhne, když takový update databáze trvá třeba několik dlooouhých minut (osobní zkušenost z virtual serveru na Pipni.cz ;-)). Snad dokonce existuje i nějaký projekt optimalizace portage (případně použití databázového backendu). V Pythonu bych opravdu problém neviděl, ale v tom jak portage pracuje s (meta)daty ano.
CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
3.3.2006 05:53 Spike | skóre: 30 | blog: Communicator | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Problém s Psyco je, že sežere strašně moc paměti. Zkoušel jsem ho používat s Gajim'em a dopad byl děsivý. (Mám pouze 256 MB RAM.)

Jinak od té doby, kdy používám Portage 2.1, je update metadat ďábelsky rychlý (neměřil jsem, ale zdá se mi, že na svém Athlon XP 1600+, 256 MB DDR RAM@266 MHz s Portage 2.1 mám cache vytvořenou podstatně rychleji než na Athlon 64 3000+ (Socket 274) s 1 GB DDR RAM@400 MHz se stable Portage (2.0.54 nebo tak nějak)).

Schválně to zkusím změřit, teď se k tomu druhému počítači ale chvíli nedostanu. Třeba se mi to vážně jenom zdá, ale prostě u té 64 mám vždycky pocit, že vyrostu, než se ta cache vytvoří. ^_^;

Na tom Athlon XP 1600+
itsuki spike411 # time emerge --metadata

skipping sync

>>> Updating Portage cache:  100%



real    2m41.791s
user    0m15.869s
sys     0m9.891s
3.3.2006 07:40 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Ono taky se Psyco doporučuje používat jen na výpočetně náročné funkce a ne na celý program. Použitím na všechno obvykle mnohonásobně vzroste nárok na paměť s minimálním zrychlením běhu.
3.3.2006 14:35 Spike | skóre: 30 | blog: Communicator | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Ano, to jsem také četl.

Zkoušel jsem to i s Portage (tehdy nějaká verze 2.0.5x) a reálné zrychlení skutečně nic moc.

Dřív jsem měl Portage na reiserfs, teď ho mám na xfs, tak jestli to zrychlení také nemůže být tím, ale nezdá se mi to.
3.3.2006 11:38 J
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Presne tak, reseni existuje, je popsany na 4ech Gentoo, hledat portagedbcdb database

trebas http://forums.gentoo.org/viewtopic-t-261580-highlight-portagedbcdb+database.html?.

Sync je bleskovy, zadne minuty cekani.
4.3.2006 14:22 kavol | skóre: 28
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
hm, souhlas, při té rychlosti jsem jen nevěřícně kroutil hlavou ... kdo proboha normálně spouští emerge world třikrát? navíc největší brzda je imho disk, takže nějaká půlsekunda na samotném pythonu má jistě ohromný význam :-D

jinak napotřetí u mě:
# time emerge -uDNpv world > /dev/null

real    0m15.605s
user    0m4.564s
sys     0m0.464s
procesor Athlon64 3000+, slušný kousek RAM, relativně rychlý disk, tak teda nevím, kde autor vzal ty svoje necelé tři sekundy ... žeby se o něčem zapomněl zmínit? jako třeba že si hrál s těmi metadaty nebo že používá unstable portage (jak bylo zmíněno výše, že 2.1 je rychlejší než 2.0.x)? není ten článek potom poněkud zavádějící???
Věroš avatar 3.3.2006 08:36 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
Rozbalit Rozbalit vše Psyco je sice pěkná věc...
Psyco je pěkná věc, ale neporadí si se všemi programy. Třeba taková Cheetah bez úprav s Psyco nepoběží. Používá trošku agresivnější práci se stackframe, kterou psyco nepodporuje. V nové Cheetah je sice workaround, ale stejně se tím moc neušetří.

Psyco má smysl používat selektivně na jednotlivé programy, ne na celý systém. Autor programu ví nejlíp, co je v programu pomalé. Jak už někdo psal, Python je docela rychlý jazyk, úzká hrdla leží obvykle jinde. (I když - kdybych věděl o Psyco když jsem psal diplomku s neuronovými sítěmi, možná bych nemusel kódovat v C :-). )
Školím Ansible
3.3.2006 08:42 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Psyco je sice pěkná věc...
Měl jste zkusit Ocaml! :-) Bylo by to rychlé a psalo by se v tom určitě líp... ;-)
3.3.2006 09:10 sudcadred
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Neviem, ci to chapem dobre - 5x som cital vetu "Prelink sa však nemusí nainštalovať, ak na prelinkovanie nemáte pripravený systém." Podla mna tam malo byt skor "Prelink sa však nemusí nainštalovať, ak na prelinkovanie MATE pripravený systém.".

Takze, ak som to pochopil dobre: - bud spravim emerge prelink a ten sa bude starat o rychly spustenie vsetkych aplikacii - alebo prekompilujem cely system s USE=pic (potom mozem ist na tyzden na Kubu:)))

dik za odpoved, ci tomu rozumiem dobre
3.3.2006 10:16 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Celé to vypadá jako překlad prelink howto. Ten prelink musíš mít nainstalovaný (jinak he pochopitelně nespustíš) a v USE musíš mít flag pic, programy přeložené bez něj nepůjdou prelinkovat.
When your hammer is C++, everything begins to look like a thumb.
3.3.2006 14:41 Spike | skóre: 30 | blog: Communicator | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
V celém systému jsem našel dva balíky, které mají USE flag pic: glibc a gzip...
3.3.2006 15:56 Honza Jaroš | skóre: 6 | blog: moje_strana_plotu | Bohnice
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
...u mě ještě libsdl.
David Watzke avatar 3.3.2006 17:27 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
A uw-imap a c-client... předpokládám, že jde hlavně o glibc. Jednou jsem jí zkompiloval bez pic flagu a pak nešlo zkompilovat nic...
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
13.3.2006 13:27 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Pokud glibc po zkompilování bez pic flagu nefunguje, jde nepochybně o její chybu (resp jednu z mnoha) nebo o chybu distribuce (dtto).

PIC flag je pouze rada pro GCC aby do RO sekcí nestrkalo žádné relokace. Pokud tam ale nějaká relokace přesto bude (např. pro některé moduly na -fpic zapomenu, nebo tam přilinkuju nějakou prasečinu v asm), měla by být knihovna stále plně funkční, pouze dynamický loader bude mít s touto knihovnou víc práce. Na pár RO stránkách zasažených relokacemi udělá COW faulty, takže každý proces bude mít vlastní verzi. Krom nepatrně vyšší spotřeby paměti by to ale nemělo nic podstatného měnit.
Táto, ty de byl? V práci, já debil.
3.3.2006 10:30 SupuS
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
No je to trochu divna veta .. :) Ja prelinkovani chapu tak, ze musis programy pripravit na to ze budou prelinkovany .. a to USE flagem pic ... pak stejne musis pustit prelink -aRmv .. takze odpoved na tvou otazku:

1. pridat USE="pic"

2. emerge -uDNv world

3. prelink -aRmv

hotovo :)

4.3.2006 17:22 Jirka
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Ja osobne bych -D nepouzival. Poskodi to zavislosti a pak se ve /var/lib/portage/worl objevi i baliky, ktere nebyly implicitne nainstalovany a to je hodne spatne. Kdyz updatovat world, tak jedine "emerge -uav world". Ono opravit /var/log/emerge.log, aby byl /var/lib/portage/world opet spravne vygenerovan pomoci /usr/sbin/regenworld, neni zas tak uplne trivialni.
4.3.2006 17:27 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Tohle jsi vzal kde? Neni to pravda, --deep ti rozhodne /var/lib/portage/world neposkodi.
David Watzke avatar 4.3.2006 18:49 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
To je pravda. Vhodný je ale dát si na emerge alias emerge --oneshot a do worldu přidávat jen to, co opravdu chci :-) Tedy IMHO... můj styl aktualizace je následovný: esync -v a pak když vidím třeba novou glib, tak emerge -u glib.. no a díky aliasu se nepřidá do worldu, což je dobře, protože jí tam nechci a zároveň nechci spouštět emerge -avuNDt world.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 4.3.2006 18:49 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
To je pravda.
Chci říct.. máš pravdu, že nemá pravdu :-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
4.3.2006 19:48 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
To je pravda. Vhodný je ale dát si na emerge alias emerge --oneshot a do worldu přidávat jen to, co opravdu chci :-)
Nerozumim - do worldu se pridava pouze to, co si "explicitne" nainstalujes, tj. vsecko, co instalujes jako emerge foo. Pokud balicek foo zavisi na bar a baz, tyhle dva so do worldu nepridaji. Lidi, ctete ty manualy...
Tedy IMHO... můj styl aktualizace je následovný: esync -v a pak když vidím třeba novou glib, tak emerge -u glib.. no a díky aliasu se nepřidá do worldu,
--update ti do worldu nic neprida
což je dobře, protože jí tam nechci a zároveň nechci spouštět emerge -avuNDt world.
Nejaky duvod (teda krome toho --tree, coz nepouzivam)?
David Watzke avatar 5.3.2006 00:44 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Nerozumim - do worldu se pridava pouze to, co si "explicitne" nainstalujes, tj. vsecko, co instalujes jako emerge foo. Pokud balicek foo zavisi na bar a baz, tyhle dva so do worldu nepridaji. Lidi, ctete ty manualy...
Ve výstupu esync vidím novou glib a tak napíšu emerge glib, přestože jí nechci ve worldu. To co píšeš vím.
--update ti do worldu nic neprida
Tak tady je to můj omyl. Ale když nepoužiješ -u, tak přidá.
Nejaky duvod (teda krome toho --tree, coz nepouzivam)?
Protože to trvá a tohle vyjde rychleji. Když těch updatů není moc, což většinou není, protože aktualizuju často. Jinak důvod není, nemám v tom bordel. Třeba dneska jsem to udělal po patlání s GCC 4.1 :-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
5.3.2006 00:50 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Tak tady je to můj omyl. Ale když nepoužiješ -u, tak přidá.
Neprida. -u == --update
David Watzke avatar 5.3.2006 20:30 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Ale když nepoužiješ -u, tak přidá.
Neprida. -u == --update
Já psal když nepoužiješ -u, tak přidá a za tím si stojím :-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Marián Kyral avatar 6.3.2006 08:02 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
A je nějaký důvod proč nepoužít emerge -uavtDN world ?
David Watzke avatar 6.3.2006 15:02 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Třetí odstavec tady.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Marián Kyral avatar 6.3.2006 15:25 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco

Stále nechápu. Nějaký názorný příklad by nebyl?

Co si pamatuju, tak jsem měl spíše problém s tím, že mi emerge --deepclean odinstaloval půlku systému, protože fůra věcí nebyla ve wold. Dal jsem jen emerge k3b krusader, což mi nainstalovalo taky KDE a X, ale ve worldu zapsány nebyly. A nezapsaly se ani při emerge -uavtDN world

Pak stačilo si poplést příkazy a napsat emerge --deepclean místo revdep-rebuild rebuild a ráno bylo vymalováno.

David Watzke avatar 8.3.2006 07:21 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Zkrátka to trvá :-) a tak se tomu snažím vyhýbat. Když řekneš emerge k3b krusader, zapíšou se do worldu k3b a krusader.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
4.3.2006 18:36 SupuS
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Ja pouzivam -D vzdy ... bez negativnich nasledku .. a to uz asi 3 roky ... -D upgraduje i zavisle balicky .. nikde jsem o problemu, ktery popisujes necetl ..
3.3.2006 10:30 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Portage je pomalý zejména díky intenzivním diskovým operacím (tisíce adresářů a mnoho malých souborů). Už se to Xkrát probíralo na různých diskuzních fórech a chatech Gentoo. V současné době se portage značně předělává a jeden programátor zanáší některé optimalizace do stávající stable řady.

Nejlépe vylepšíte rychlost speciálním oddílem na /usr/portage (bez distfiles) o velikosti max 1 GB, rychlým fs pro malé soubory a také použitím některých záplat (cdb a podobně).

Já osobně navrhuji, aby vývojáři zapracovali na optimalizacích databáze závislostí, vyčistili kód Portage a vážně zauvažovali nad tím, jestli je vůbec nutné stahovat celý strom na lokální dísk. Nic přece nebrání tomu, aby se ebuildy, manifesty a patche stahovaly až před vlastní kompilací. Už jsem to tu jednou zmínil - holt by to znamenalo upustit od rsyncu a vytvořit nějaký vlastní protokol dopravy závislostí na cílový stroj - to ovšem není nijak složité.

Nejdříve je však opravdu nutné přestavět celý program Portage - je to ukázka toho, jak se nemá programovat. Až bude modulární, dají se vymýšlet a zkoušet takovéhle nápady.
3.3.2006 12:08 J
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Link na cdb sem hodil vejs, ale to stim nestahovanim stromu bych nevidel jako reseni. System se nejak musi dozvedet ktery balicky muze nainstalovat a kdyby tam byla jen informace o baliccich a kvuli zavislostem by to melo otravovat na nejakym serveru .... to mi neprijde jako dobrej napad.

Spis prenest portage do DB (nebo to umoznit aspon jako oficialni alternativu). Ostatne pokud vim, nejpomalejsi operace je indexace.
3.3.2006 14:06 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Portage do posledni chvile pred kompilaci IMHO nepotebuje adresar /usr/portage. Staci mu jen zavislosti a cache, ty by byly lokalne v nejake rychlejsi forme (databaze). Prenest po siti pri syncu se muze jen tato informace. Server by nikdo neotravoval, naopak. Kazdy uzivatel jej otravuje pri stahovani stromu a tisicu ebuildu a patchu, ktere vubec ani nebude nikdy potrebovat.

Oficialni alternativa - viz nize (muj komentar).
6.3.2006 09:56 J
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Ehm, /usr/portage jsou temer vyhradne jen zavislosti. V ebuildu je popis prave zavislosti a pak instalace (co, kam, jak). Obcas tam sou mensi patche.

Pri sync se prenasi pouze nove/rozdilne soubory a na bezne stanici kterou budu chtit udrzovat opravdu hodne aktualni mi staci sync 1x/den. Tech serveru poskytujicich portage je celkem dost a zatizeni je rozhodne nizsi, nez pri stahovani informaci pri kazde kompilaci. Muzu mit strom klidne tyden, 14 dnu, mesic stary a stale muzu kompilovat co chci, nemusim se nikam pripojovat.

Apropos, pokud se nemylim, kdyz vite ze nebudete nikdy pouzivat napr net-www, neni problem tento adresar ze sync vyhodit.
3.3.2006 12:12 Trained.Monkey
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Tady je navod jak pri vyhledavani pouzivat databazi a ne fs, zrychleni je kurva velke.

http://gentoo-wiki.com/Portage_CDB

PS: Arch je stejne lepsi :)
3.3.2006 14:16 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Alternativou je modul cpickle, ktery je standardni soucasti verze .54 a nemusite ani nic patchovat. Zrychleni je vyrazne, mozna ne, jako v pripade cdb. Nicmene zda se, ze CDB je slepa ulicka - vyvojari jej nechteji do mainstreamu.

Nicmene Savior (Portage 3.0) vypada daleko lepe. Otazkou je, kdy bude hotov a nasazen.
3.3.2006 14:25 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
3.3.2006 16:53 Zdenek
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Super,

jeste zbyva par malych otazecek.

Kdyz musim rict KDE, ze bylo prelinkovano, tak to musim rikat i jinym aplikacim? Jak se nekteri zminili vyse, tak podporu prelinku z velkych aplikaci ma snad jen KDE. Tady http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=2 je z jednoho vypisu poznat, ze mozilla podporu prelinku nema. Ted nemam gentoo, tak nemuzu poznat, zda je podpora prelinku u firefoxu, openoffice?

Prelink ma zrejme smysl jen pro molochy, jak jej tedy pri prelinkovani muzu aplikovat pouze na urcite aplikace? Jak jej tedy puzit pouze na vsechny baliky KDE?
3.3.2006 17:18 Spike | skóre: 30 | blog: Communicator | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Proč se nastavuje ta proměnná pro KDE se dozvíš v původním návodu http://www.gentoo.org/doc/en/prelink-howto.xml

If you inform KDE that it has been prelinked it will disable the loading of kdeinit (as it isn't required anymore) which speeds up KDE even more.
3.3.2006 17:19 Radomír Fojtík | skóre: 33 | blog: jen to zkouším | Tísek
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Kdyz musim rict KDE, ze bylo prelinkovano, tak to musim rikat i jinym aplikacim?
Myslíte tím KDE_IS_PRELINKED="true"? Dle "Gentoo Preling Guide" tímto zakážete natažení kdeinit, které není již třeba a zkrátíte tím start KDE jako takového. Rozumím tomu, že je to spíš takový "bonbónek".

Na druhou stranu, ačkoliv mám KDE prelinklé spolu s tou hodnotou TRUE, htop stejně hlásí jeden proces "kdeinit Running"

a dále několik málo dalších:
4 x  "kio http [kdeinit] http /tmp .... atd"
1 x  "kio pop3 [kdeinit] pop3 /tmp .... atd"
1 x  "kio file [kdeinit] file /tmp .... atd"
- takže nevím. Máte to snad jinak? Prelinkáči / neprelinkáči?
David Watzke avatar 3.3.2006 17:31 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Kio_slaves snad znáš... http a file má třeba Konqueror a pop3 používá KMail... Jejich počet závisí na počtu otevřených tabů a tak...
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
3.3.2006 19:39 ..... Izak ..... | skóre: 14
Rozbalit Rozbalit vše Prelink je hruza
No ja si pamatuji ze jsem zapomel prelik vypnout a pak mi nefungovala dobre multi-gnome-terminal, icewm, sekali se X windows, fur mi neco padalo na dost divne chyby .... windows hadra, linux naprosto nepouzitelny .... pak odprelinkovat a vse jelo OK bylo to v dobach FC1 nebo FC2 ....

Takze prelik je mozna zajimavy ale diky nechci. Kupodivu kdyz jej zapomenu vypnout v FC4 tak to chodi ... ale stejne jej vypinam.

Skouseno na AMD Athlon 1.8 nejspise vanila kernel ze zdrojaku.
7.3.2006 19:20 Red Dog | skóre: 8
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Nebyl by někdo z Vás tak laskavý že by mi poslal live CD s Gentoo ? Stáhnul bych to ale Telecom mě omezuje limitem :-/ Nechci to samozřejmě zadarmo.
Marián Kyral avatar 7.3.2006 20:38 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
7.3.2006 20:57 Red Dog | skóre: 8
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Díky, ale neposílají zboží na dobírku. Tak až pojedu do Prahy.
Marián Kyral avatar 7.3.2006 21:45 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco

Na dobírku sice ne, ale poštou ano ;-)

    * Zboží zasíláme poštou pouze na území ČR.
    * Z eBanky trvá převod obyčejně několik minut, 
      z jiné banky 2 dny, při platbě Českou poštou i 5 dní...
    * Číslo účtu: 984525028/2400 eBanka.
    * Poštovné a balné:
          o 70 Kč (S DPH) Menší objem (obálka)
          o 140 Kč (S DPH) do 5 [kg] (balík)
          o 200 Kč (S DPH) do 25 [kg] (balík)
          o V případě větších zásilek /servery, desktopy atd./ 
            je cena přepravy stanovena dohodou.
    * Nezasíláme na dobírku.

http://www.linuxsoft.cz/shop/?podminky

7.3.2006 22:12 Red Dog | skóre: 8
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Šmankote jak jsem to tam četl ? :-) To se omlouvám a zařídím to. Díky za nakopnutí :-)
13.3.2006 12:59 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Vy jste mi ale srandisti.. man gcc říká, že -fpic a -fPIC jsou pro i386 target identické.
If the GOT size for the linked executable exceeds a machine-specific maximum size, you get an error message from the linker indicating that -fpic does not work; in that case, recompile with -fPIC instead. (These maximums are 8k on the SPARC and 32k on the m68k and RS/6000. The 386 has no such limit.)
Taky mi není moc jasné proč chcete překompilovat VŠECHNO jako PIC, když samotné programy pro prelink být PIC nemusejí, a DSO jsou PIC defaultně (doufám že i na exotu Gentoo). Se mi tak nějak zdá že autor vůbec netuší jak prelink funguje.

Prelink si pouze z nalezených binárek a knihoven vytáhne dependency grafy, z nich spočítá které binárky a DSO jsou potřeba dohromady, podle toho přiřadí jednotlivým DSO preferred load address tak aby se nepřekrývaly, a upraví jejich relokace tak aby se při mapování knihovny na danou adresu nemusely aplikovat.
Táto, ty de byl? V práci, já debil.
13.3.2006 15:29 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Vy jste mi ale srandisti.. man gcc říká, že -fpic a -fPIC jsou pro i386 target identické.
Vis, $CFLAGS a $USE neni az tak uplne to same...
14.3.2006 12:30 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
Ani v případě flagů 'pic' a 'PIC'? V tom případě by měl někdo autorům portage urgentně vysvětlit zásady principu nejmenšího překvapení.
Táto, ty de byl? V práci, já debil.
14.3.2006 12:40 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
Rozbalit Rozbalit vše Re: Gentoo Linux - Prelink a Psyco
bugzilla...
jkt@slon ~ $ grep pic /usr/portage/profiles/use.desc
pic - Build Position Independent Code.  Do not utilize this flag unless you know what you're doing.

Založit nové vláknoNahoru

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