Tisztelt Gentoosok!
Szeretnék egy szívességet kérni. Korábban vizsgáltam a Debian/Ubuntu szoftvercsomag-függőségi hálózatát (tulajdonképpen egy jó nagy gráfot kb 30000 csomaggal), és most szeretném ezt kibővíteni. Egyik tanítványom készített az Arch Linuxról ilyen hálózatot pacgraph-fal (kicsit több mint 4000 csomag) és úgy tűnik, hogy a pacgraph működik Gentoo-val is. A -r kapcsolóval csak egy szöveges kimenetet ad, az kellene nekem, de nem szeretnék emiatt gentoot telepíteni. Az arch-ban van olyan opció, hogy --mode=arch-repo, amellyel a tárolókból szedi, és nem csak a gépen feltelepítetteket, de ez -- úgy látom, sajnos -- Gentooval nem megy. Nagyon örülnék, hogyha olyan gépről kapnék ilyen fájlt, amelyen sok csomag van telepítve.
Szívesen látok egyéb ötletet is, hogyan lehet a tárolókban levő összes csomag hálózatát létrehozni gentoo alatt.
Üdvözlettel: Horváth Árpád
Fórumok
Hozzászólások
Ez jó!
Nem is hallottam még erről a pacgraph-ról, de hasonló témával már foglalkoztam, igaz debian csomagkezelővel.
http://hup.hu/node/112419?comments_per_page=9999
A deb-csomagok függőségi hálózatának létrehozására én is a python-apt-t használom. Ezzel tizenvalahány másodperc alatt kész a 33000 csomagból álló Ubuntus csomaghálózat, amit aztán tanórán is tudunk vizsgálgatni különböző szempontokból a remek igraph gráfvizsgáló programmal. Egyelőre még nem volt időm foglalkozni, hogyan tudom meg a virtuális csomagok (editor, www-browser...) "függőségeit".
Horváth Árpád (harp)
Erre van példa a programban:
De a fordítottjára is.
A fő probléma a Gentoo-val hogy ha valaki elküldi neked a csomagfüggőségeit, az az ő csomagfüggősége lesz, nem a Gentoo-é. Mivel minden Gentoo telepítés más és más. Más USE-flagek miatt más függőségekre tarthat igényt egy-egy csomag.
Igen. De sajnos jobbat nem tudok. Ha valaki sok csomagot használ, abban szerintem ugyanúgy meg kell jelennie például a hatványfüggvény jellegű fokszámeloszlásnak, vagy a véletlen (Erdős-Rényi) gráfhoz képest jelentősen nagyobb maximális fokszámnak és csoporterősségi együtthatónak, mint az egészben.
Horváth Árpád (harp) – Ubuntu (GNOME) / Debian (szerver)
Akkor gyűjts be egy rakás ilyen csomaglistát. :)
Talan hasznos, nem neztem utana:
https://soc.dev.gentoo.org/gentoostats/
https://soc.dev.gentoo.org/gentoostats/static/about.html
Nem tudom, évek óta nem gentooztam, a csomaglistát nem lehet már letölteni portage-latest.tar.bz2 néven?
Anno ez egy alap lépés volt telepítésnél, mert semmilyen csomaglistát nem tartalmazott a telepítő.
Ez még megvan: http://gentoo.inf.elte.hu/snapshots/
Ez a portage tree, viszont egy adott csomag függősége attól függ, hogy milyen use flagekket fordítod. Így minden gentoo telepítés egyedi függőségi fával rendelkezik, függően a helyileg beállított use flageknek.
Nekem nem megy a pacgraph. Van valami függősége? (bár hibát nem ir)
Letöltöttem, kicsomagoltam, futtattam.
Köszönöm a próbálkozást! Szerintem nem a program függőségeivel lehet a gond, hanem valamiért nem ott keresi a dolgokat, ahol vannak. Egyelőre megvárnám, hogy vargad megtalálja-e a régebben használt programját. Ha nem, akkor lenne fontos a pacgraph-os kimenet.
Horváth Árpád (harp) – Ubuntu (GNOME)
Nekem mindegy. Szívesen lefuttatom, de arra nincs időm és energiám, hogy megreszeljem. Készíts egy valamit amit csak letölthetek és futtathatok és kész.
Én korábban készítettem egy olyan programot amely graphviz diagramot készít a függőségekről, ha jól emlékszem jelölve a use flag miatti függőségeket is. A diagram olyan nagy lett, hogy nem tudtam megjeleníteni. Sajnos a pdf olvasó az egész oldalt akarja a memóriában tartani nem csak a látható részeket, a képnézegetők szintén.
EDIT: Elvileg a felhasznált eszközök ma is működnek. Ha érdekel megnezem, hogy tudod-e valamire használni.
Köszönöm, az nagyon jó lenne :-) Bármilyen könnyen feldolgozható egyszerű szöveges (esetleg xml) formában megfelelne. Ha graphviz diagrammot készít, akkor gondolom .dot fájlt készít előtte. Az nekem teljesen megfelelő. Ez, ugye, nem csak a telepítetteket nézi, hanem az összeset.
EDIT: Nem valami ehhez hasonló? http://sources.freehackers.org/GentooDepBrowser
Én Ubuntu alatt próbáltam futtatni, de gondolom az "import portage" sor csak gentoo alatt működik.
Horváth Árpád (harp)
Én nem a Python felületet használtam a portagenek, hanem parancssori eszközökkel szedem össze az információt. Nyilván így sokkal lassabb... Jelenleg csak a telepített programokat listázza ki az is elég sok volt, de úgy tűnik a teljes csomag listát képes lenne kis módosítással. A hétvégéig nem nagyon lesz időm foglalkozni vele, akkor megpróbálok neked készíteni egy függőségi listát valami egyszerű szöveges formába.
A Gentoo egyébként nyilvántartja a build time függőséget és a runtime függőséget, ha össze akarod hasonlítani a többi bináris rendszerrel gondolom neked csak a runtime kell.
Érdemes lehet megpróbálna a GentooDepBrowser-t amit linkeltél, a portage python felülete biztos gyorsabb, de lehet kicsit kell rajta reszelni, mert elég régi.
A runtime függőség és a build time függőséget nem teljesen értem. Azt jelenti, hogy mik kellenek a fordításához, és mik kellenek a futtatásához? Úgy látom ilyesmiről van szó, hogy a binárisokhoz nem kell a build time függőség.
Van egy működő, ami a telepítetteket listázza, és lehet tudni, hogy hány van éppen azon a rendszeren? Érdekelne a programok száma, ha nem is az összes még.
Horváth Árpád (harp)
Build time függőség pl. lehet a gcc, hogy a c-programokat lefordítsd. De ez nem runtime függőség, hiszen ahhoz, hogy fusson, a gcc nem szokott kelleni.
Tipikus példák: különböző fordítók, dokumentáció-generálás (pl. txt2man, doxygen, gnome-doc-izé), meg ilyesmi.