TIPP Portage mágia
A Gentoo Linux Wiki wikiből
A /var/log/emerge.log fájl jól ismerten a központi információtárolója minden a rendszeren futó emerge műveletnek. Kevésbé ismertek viszont azok a trükkök, amit a tartalmával lehet művelni.
Például ha egy frissítést indítunk, általában nem tudhatjuk, meddig fog az tartani. Valószínűleg nem emlékszik rá az ember, hogy legutóbb mennyi ideig tartott az mplayer telepítése, de szerencsére a portage emlékszik. Ha a UNIX időbélyegeket dekódoljuk a /var/log/emerge.log fájlban, elég jól be lehet lőni. Vagy megteheti ezt a kedvünkért az app-portage/genlop is. Telepítsük a genlop (instabil, ~arch verzióját) a következő paranccsal:
| Kód: genlop telepítése |
|
emerge -av genlop |
Most futtassunk egy próba world frissítést és vezessük át a kimenetet a genlop-nak, aki megmondja nagyjából a szükséges időt:
| Kód: Frissítési idő megbecslése |
#emerge -pu world | genlop --pretend These are the pretended packages: (this may take a while; wait...) * media-libs/tiff * x11-base/xorg-x11 * app-sci/stellarium * app-arch/gzip * dev-libs/libIDL * net-www/mozilla-firefox * sys-boot/lilo * app-doc/abs-guide * app-arch/unarj * app-emulation/wine * app-admin/sudo Estimated update time: 4 hours, 38 minutes. |
A működésére egy pillantást vetve láthatjuk, hogyan tud a portage nagy bölcsként viselkedni. Az emerge.log fájlban tárolt statisztikát használja, átlagolja a fordítási időket és a végén össze is adja. Vannak persze bizonytalanságok, például ha használjuk a CCACHE lehetőséget, akkor a fordítási idők egy alverziószám váltáskor jóval kisebbek lehetnek, mint az eredeti csomag feordításakor. Másrészt viszont, ha egy alkalmazás új tulajdonságokkal bővül, a régi, átlagos fordítási idők rövidebbek lehetnek, mint az éppen telepítendő változat.
Egy másik brilliáns jellemzője a genlop-nak a --current opció. A tökéletes társ a becsült fordítási időhöz a --pretend-nél:
Code Listing 8.3: How much time spent since the beginning of an emerge
| Kód: Mennyi idő telt el az emerge kezdetétől |
# genlop --current * app-portage/splat-0.07 current merge time: 12 seconds. |
Ezután meg tudjuk mondani, hogy még mennyit kell várni a befejezésig.
Forrás: GWN, 2004.11.22.
