etc-update

Fórumok

Hali!

Az elmúlt napokban én bit*ng elkövettem egy etc-update-t( mentségemre szóljon eddig semmi rosszat nem tapasztaltam használata közben ). Ma, amikor újraindítottam a vasat, meglepödéssel tapasztaltam hogy beálltak azok az állapotok, amiket a 2006.1es gentoo alatt tapasztaltam( emergélések szinte egytöl-egyig elszállnak, stb... ). A kérdésem:

Nem tudnám mintegy visszaállítani az etc-update elötti állapotot? Mert ha jól emlékszem valami 150 fájlt frissített a drága. Vagy hogyha a 2005.1es stage3-ból az etc mappával felülírnám a feltelepített gentoo etc mappáját akkor azzal mennyire tudnám megoldani a problémát?

Köszönöm!

UI.: ezt az iszonytató mennyiségü etc fájlt azt hiszem glibc mergélése után frissítettem

Hozzászólások

Valszeg ezt kezzel fogod tudni megoldani. :-(
Legkozelebb, ha frissitessz ne "automatikusan" ereszd ra, hanem jard vegig kezzel az etc-updattel.

---------------------
Minél korszakalkotóbb ötlettel állsz elő, annál több hülyén kell átverekedned magadat.

En mindig dispatch-conf -ot hasznalok etc-update helyett, ennek tobbek kozt megvan az a jo elonye, hogy rollbackelhetsz barmit elozo allapotra, tudsz diffeket csinalni stb.

Nem. De azért nem igazán kellene megvárni míg ilyen súlyos lesz a helyzet. Arra tippelek, hogy relative ritkán frissíted a Gentoo-dat. Ez öreg hiba egy olyan disztronál, ahol napi szinten van 5-6 csomagnak verzióváltása.

A másik, hogy mindig kell tartani targz-ben egy müxő /etc mappát.

Amúgy az etc-update is mutat diffet, érdemes végigjárni. Ha van egy kis szerencséd, akkor grafikus felületről a kuroo már tudja rendesen az etc-update-t csinálni, és ott nagyon szépen lehet diffezni meg minden egyebet csinálni. Mondjuk nem tom nem-e dispatch-confot csinál...

Azt, hogy egyáltalán nem csinálsz azt ne csináld, mert ha egy proginak átalakul a config fájl szerkezete akkor nem fogod tudni többé használni sajna. Főleg a baselayout-nál fontos ez, mert pl. a 2005.1-es /etc/conf.d/net.* fájlok már asszem nem suportáltak, és úgy veszi, mintha nem lenne konfigurálva - azaz dhcp-zni fog. De ez csak 1 példa.

Én igazság szerint próbálkoztam 2006.1essel, ezelött az volt fent, az az egy problémám volt vele hogy minden második ebuildra hibát írt.

Valóban nem frissítettem még soha... az az igazság hogy ugyan már használok egy ideje gentoot de ilyet még soha nem csináltam. Segítesz hogy hogyan kellene? Vagy erröl szól az emerge world?

Először is: Nem muszáj naponta frissítgetni, felesleges, de azért olyan kéthetente illik.

Aztán:

Ez a parancs frissíti a Portage fát:


emerge --sync

Ez olyan mint debiannál az apt-get update.

A következő dolog a csomagok frissítése. Ezt a legegyszerűbben az


emerge -avuDN world

paranccsal lehet megtenni. Ez feldob egy listát a frissítendő/felrakandó csomagokról és a jóváhagyásodat kéri a végrehajtáshoz. Tisztára mint a debianos apt-get dist-upgrade.

Ez volt a könnyebb út. Valójában nem mindig van szükség a teljes rendszer frissítésére, elégséges a system-é. Ez gyorsabban lefut, nem kell annyit várni rá. Én pl. a world-öt havonta-kéthavonta nyomatom csak újra a desktop gépemen, szerveren még kevesebbszer kell.

Ha irtózol a parancssortól vagy jobban átátod a dolgokat grafikus felületen, netán vágysz a synaptic kényelmére, emergeld a kuroo nevű progit. Ez KDE-függő, azaz ha nincs fent a kdelibs csomag akkor az mindenképp felkerül. Nagyon jó csomagkezelő, kezdőknek különösen ajánlott. Bővebben link

"emergélések szinte egytöl-egyig elszállnak, stb..." - ezt azért jó lenne kifejtened, ha nem veszed személyeskedésnek.

Mint ahogy a többiek is mondták, a csomagok konfig fájljai változnak, a régivel általában 1-2 verzióváltás után nem működnek. Ha az etc-update-et végigcsináltad úgy, hogy az új konfigot raktad be mindegyiknél, akkor nincs nagy probléma, ebben az esetben csak beállítások hiányzanak. A konfig fájlokban vannak egyedi beállítások, amit az etc-update figyelmen kívűl hagy(hat), igazából emiatt nem szabad túl sok konfig fájlt frissíteni egyszerre. Érdemes megjegyezni melyik konfig fájlban csináltál változást (pl. xorg.conf), ami egyedi, elvesztése jelentősen módosít a rendszer működésén. A különbségeket úgyis kiírja az etc-update, ki lehet választani melyik részből melyik verzió kell neked.
Szal meg kell fontolni hogy egyszerre mennyi csomagot frissítesz. Egyszerre 50 program változását úgyse fogod megnézni, se az új lehetőségeket kihasználni... Ha régi a rendszered se kötelez senki hogy 50-100asával frissítsd a csomagokat.

-------------------
2.6.17-gentoo-r4

Nem csak megjegyezni érdemes, hanem rendszeresen backupolni a változásokat. Ennek két oka van:

1. Ha eltolsz egy etc-update-t (ld. topic) akkor könnyen visszateheted
2. Reinstallkor nem kell tökölészni a beállításokkal.

Amúgy télleg jó lenne valami infó hogy mivel halnak meg a emergélések, mert ez nem feltétlen a portage hibája, akár a csomagé is lehet. Itt hívnám fel arra a nem elhanyagolnadó tényre a figyelmet hogy a csomagok forrásból forognak, tehát akár ez is meghalhat.
Egyáltalán a emerge --verbose --info lefut?

Huh, azt hiszem pontokba szedem amit mondani akarok:

1) Az emergélések elszállása alatt értem azt, hogy libekre hivatkozva az ebuild.sh hibát ír és leáll. Ami csomagokat etc-update óta nem szedett le az a glibc, gcc, nvu. Másolok egy hibaüzenetet, írjátok meg hogyha kell a többi is, mert akkor elökerítem azokat is:

* glibc-2.4 is nptl-only!
* NPTL requires a CHOST of i486 or better

!!! ERROR: sys-libs/glibc-2.4-r3 failed.
Call stack:
ebuild.sh, line 1562: Called dyn_setup
ebuild.sh, line 665: Called pkg_setup
glibc-2.4-r3.ebuild, line 1079: Called die

!!! please add USE='nptl nptlonly' to make.conf
!!! If you need support, post the topmost build error, and the call stack if relevant.

Természetesen benne van make.confban az nptl és nptlonly, de így sem jó. Sajnos az volt eddig a tapasztalat, hogy bármire panaszkodik hogy nincs, utólag emergélem és újrapróbálom akkor se fog vele foglalkozni.

2) A múltkor én arra gyanakodtam ( lehet, hogy csak hülyeséget beszélek ), hogy a karakterkódolással lehet gond

3) A wolrd emergélése elszállt, az egyik csomagra azt mondta emerge h Blocked. Ez ellen mit tegyek?

Ajánlom hogy minden mergelés előtt legyenek bent az -av kapcsolók, mert így kiírja az use flageket, módosíthatsz is rajtuk. make.confban és egyéb helyeken én személy szerint nem szoktam USE flageket rakosgatni. Ha valami USE flaget ki/be kell rakni, akkor azt így teszem:
USE="(ezt_berakom) -(ezt_kiszedem)" emerge -av (atom vagy pkg)
a Te esetetben:
USE="ntpl ntplonly" emerge glibc
Nem érdemes konfig fájlokkal szórakozni, mert néhány verzió után a flagek úgyis változnak (némelyik adott csomagnál megszünik, esetleg lesz új stb), akkor meg úgyis át kell írni.

Blocked = ütközik másik csomaggal. kb. így van kiírva: (ebuild1) is blocking (ebuild2). Előfordul, hogy egy függőség ütközik meglévő csomaggal (ütközik = egy gépen nem szerencsés ha mind2 fent van).

-------------------
2.6.17-gentoo-r4

Van egy olyan ötletem, hogy a portage frissült, és a régi portage nem kompatibilis az újal. Próbáld ki a "portege --metadata" parancsot, vagy ha van neted azon a gépen is, akkor a "portage --sync". (Gondolom a net miadt nem frissítettél.)
Valamint a gcc is lehet probémás, bár nem hiszem. A "gcc-config -l" kiírja a fent lévő fordítókat, és onnan a "gcc-config " paranccsal aktiváld a legfrissebb normál gcc-t.

Aleph

Van net, frissíteni azért nem frissítettem mert nem éreztem azt hogy szükségem van rá. Az emerge --sync viszont tegnap lefutott.

gcc-config -l

[1] i386-pc-linux-gnu-3.3.5-20050130 *
[2] i386-pc-linux-gnu-3.3.5-20050130-hardened
[3] i386-pc-linux-gnu-3.3.5-20050130-hardenednopie
[4] i386-pc-linux-gnu-3.3.5-20050130-hardenednopiessp
[5] i386-pc-linux-gnu-3.3.5-20050130-hardenednossp
[6] i386-pc-linux-gnu-4.1.1

gcc-configgal most álltam át 4.1.1-esre, gcc -v pedig 4.1.1est ír ki ( mostmár ).