Portál AbcLinuxu, 26. října 2025 16:26
emerge --update --deep --newuse world - tohle překompiluje celý systém? Nemělo to být emerge -e world?
Sorry za zmatkování.
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/$CXXFLAGSnesmi byt-fPIC, v$USEnaopak musi bejtpic(to je spravne). Meziemerge --update --deep --newuse worldaemerge -uDN worldneni absolutne zadny rozdil, proto nechapu dvoji uvedeni tehoz (snaha o natahnuti clanku?). Proc se stale opakujesu -? 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 opakovaniemerge -ep worldje 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 semerge --metadata:) .
). 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.
itsuki spike411 # time emerge --metadata skipping sync >>> Updating Portage cache: 100% real 2m41.791s user 0m15.869s sys 0m9.891s
jinak napotřetí u mě:
# time emerge -uDNpv world > /dev/null real 0m15.605s user 0m4.564s sys 0m0.464sprocesor 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í???
. )
Bylo by to rychlé a psalo by se v tom určitě líp...
1. pridat USE="pic"
2. emerge -uDNv world
3. prelink -aRmv
hotovo :)
--deep ti rozhodne /var/lib/portage/world neposkodi.
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.
To je pravda.Chci říct.. máš pravdu, že nemá pravdu
To je pravda. Vhodný je ale dát si na emerge alias emerge --oneshot a do worldu přidávat jen to, co opravdu chciNerozumim - 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)?
Nerozumim - do worldu se pridava pouze to, co si "explicitne" nainstalujes, tj. vsecko, co instalujes jakoVe 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.emerge foo. Pokud balicekfoozavisi nabarabaz, tyhle dva so do worldu nepridaji. Lidi, ctete ty manualy...
--update ti do worldu nic nepridaTak 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
Tak tady je to můj omyl. 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ímAle když nepoužiješ -u, tak přidá.Neprida.-u==--update
emerge -uavtDN world ?
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.
a tak se tomu snažím vyhýbat. Když řekneš emerge k3b krusader, zapíšou se do worldu k3b a krusader.
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?
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.
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.
Vy jste mi ale srandisti..Vis, $CFLAGS a $USE neni az tak uplne to same...man gccříká, že-fpica-fPICjsou pro i386 target identické.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.