# [SOLVED] Upgrade system i jego ~ czas

## soban_

Pytanie moje dotyczy czasu, w jakim system tolerancyjnie moze zakoczyc upgrade (ewentualnie instalacje) - ale calkowita danych pakietow. Czy jest jakis sposob pomijajac sprawdzenie pojedynczego pakietu:

```
genlop -c
```

Na pokazanie podsumowanego czasu wszystkich pakietow jakie beda instalowane (oczywiscie mam na mysli toleranycjnie okres czasu - bo wiadomo ze nie da sie przewiedziec, kiedy kompilacja pakietow sie skonczy). Np chcialbym sprawdzic kiedy podczas upgradu systemu

```
emerge -vquDN world
```

 tolerancyjnie moze zakoczyc sie kompilacja. Istnieje na to jakis prosty sposob? Domyslam sie ze przy pomocy 

```
genlop -t
```

 mozna to zrobic, jednak jak podsumowac ten czas wszystkich pakietow ktore beda upgradowane. Czy ktos moze ma jakis pomysl?

----------

## c2p

genlop --help:

```
  -p   estimate build time from a piped "emerge -p" output
```

----------

## soban_

Tak, wiem o tym - ale on strasznie dlugo liczy, chodzi mi o jakas szybsza metode. O ile taka istnieje....

```
soban@SoBaN-PC ~ $ genlop -c

 Currently merging 10 out of 272

 * net-analyzer/wireshark-1.2.8                                                                                                                                                                                      

                                                                                                                                                                                                                     

       current merge time: 6 minutes and 5 seconds.                                                                                                                                                                  

       ETA: less than a minute.

soban@SoBaN-PC ~ $ time genlop -p

These are the pretended packages: (this may take a while; wait...)

^C

real    280m13.918s

user    0m0.118s

sys     0m0.030s

```

 A moze to u mnie jest cos nie tak?

----------

## rapidus

Za pewne chodzi Ci o taką kombinację :Smile: 

```

emerge world -pvuD | genlop -p

```

----------

## soban_

```
soban@SoBaN-PC ~ $ time emerge world -pvuD | genlop -p 

These are the pretended packages: (this may take a while; wait...)

[ebuild     U ] dev-python/setuptools-0.6.12 [0.6.10] 399 kB

[ebuild     U ] dev-lang/ruby-1.8.7_p249-r1 [1.8.7_p249] USE="berkdb examples gdbm ssl threads tk -debug -doc -emacs -ipv6 -rubytests -socks5 -xemacs" 4 kB

[ebuild     U ] dev-libs/shared-desktop-ontologies-0.4 [0.3] 88 kB

[ebuild     U ] kde-base/konsole-4.4.3-r1 [4.4.3] USE="handbook (-aqua) -debug (-kdeenablefinal) (-kdeprefix)" 0 kB                                                                                                                          

[ebuild     U ] kde-base/kdepim-runtime-4.4.3 [4.4.2] USE="(-aqua) -debug (-kdeenablefinal) (-kdeprefix)" 0 kB                                                                                                                               

[ebuild     U ] kde-base/kmail-4.4.3 [4.4.2] USE="handbook kontact (-aqua) -ayatana -debug (-kdeenablefinal) (-kdeprefix)" 0 kB                                                                                                              

[ebuild     U ] kde-base/kaddressbook-4.4.3 [4.4.2] USE="handbook kontact (-aqua) -debug (-kdeenablefinal) (-kdeprefix)" 0 kB                                                                                                                

[ebuild     U ] kde-base/akonadi-4.4.3 [4.4.2] USE="(-aqua) -debug (-kdeenablefinal) (-kdeprefix)" 0 kB                                                                                                                                      

[ebuild     U ] kde-base/kdepim-meta-4.4.3 [4.4.2] USE="semantic-desktop (-aqua) (-kdeprefix)" 0 kB                                                                                                                                          

[ebuild     U ] kde-base/kde-meta-4.4.3 [4.4.2] USE="nls semantic-desktop -accessibility (-aqua) (-kdeprefix) -sdk%" 0 kB                                                                                                                    

                                                                                                                                                                                                                                             

                                                                                                                                                                                                                                             

Estimated update time: 18 minutes.                                                                                                                                                                                                           

                                                                                                                                                                                                                                             

real    0m27.153s                                                                                                                                                                                                                            

user    0m18.025s                                                                                                                                                                                                                            

sys     0m0.373s
```

@rapidus - tak o to mi chodzilo. Dziekuje bardzo wszystkim za pomoc.

A swoja droga:

```
soban@SoBaN-PC ~ $ time emerge world system -pe | genlop -p

...

Estimated update time: 1 day, 7 hours, 58 minutes.

real    6m23.216s

user    5m34.372s

sys     0m7.679s

...

Packages installed:   1661

Packages in world:    294

Packages in system:   50

Required packages:    1661

Number removed:       0

```

 Ciekawi mnie czy mozna jeszcze podsumowac calkowity czas kompilacji - wliczajac w to juz usuniete pakiety (te ktore pokazuje genlop -l lub qlop -l)?

```
emerge $(genlop -l) -p | genlop -p 
```

 Cos takiego, tylko nie wiem za bardzo jak wyciac wszystko co jest przed ">>> "?

----------

## c2p

@soban_: myślałem, że po wycinku z help'a domyślisz się jak tego użyć, ale rapidus musiał Ci to na tacy podać. Oświeć mnie jeszcze, po co przed emerge ....... -p | genlop -p dajesz time?

----------

## soban_

 *c2p wrote:*   

> Oświeć mnie jeszcze, po co przed emerge ....... -p | genlop -p dajesz time?

  Aby pokazac ile program czasu liczy, ale masz racje - dalem ciala z tym genlop -p (w sensie nie zrozumialem ze trzeba dolaczyc do tego emerge .... -p przed). Za to wyjasnij mi po co dajesz 

```
genlop --help
```

 skoro 

```
genlop
```

 daje ten sam wynik?

Zastanawiam sie, czy mozna podsumowac jak wyzej napisalem czas calkowitej kompilacji wszystkich pakietow:

```
soban@SoBaN-PC ~ $ emerge =$(genlop -l | cut -c46-99) -p

!!! '=' is not a valid package atom.

!!! Please check ebuild(5) for full details.

```

----------

## c2p

 *soban_ wrote:*   

> Za to wyjasnij mi po co dajesz 
> 
> ```
> genlop --help
> ```
> ...

 

Jakoś tak z przyzwyczajenia napisałem --help, nie zwróciłem uwagi, że genlop wywołany bez parametrów daje to samo.

 *soban_ wrote:*   

> Zastanawiam sie, czy mozna podsumowac jak wyzej napisalem czas calkowitej kompilacji wszystkich pakietow:
> 
> ```
> soban@SoBaN-PC ~ $ emerge $(genlop -l | cut -c46-99) -p | genlop -p
> 
> ...

 

Takim sposobem nie uda się. Wszystkie pakiety instalowane kilkukrotnie w danej wersji zostaną policzone raz. Emerge wysypie się też na starych wersjach pakietów usuniętych już z portage.

----------

## soban_

Tak, tak masz racje - wlasnie sie zastanawiam jak to zalatwic. 

```
soban@SoBaN-PC ~ $ genlop -t portage

 * sys-apps/portage

                                                                                                                                                                                                                     

     Tue Dec  1 18:52:53 2009 >>> sys-apps/portage-2.1.7.9                                                                                                                                                           

       merge time: 16 seconds.                                                                                                                                                                                       

     Wed Dec  2 00:16:27 2009 >>> sys-apps/portage-2.1.7.9

       merge time: 15 seconds.                                                                                                                                                                                       

     Wed Dec  2 02:23:06 2009 >>> sys-apps/portage-2.1.7.9

       merge time: 18 seconds.

....
```

Jesli damy:

```
soban@SoBaN-PC ~ $ emerge -pv =sys-apps/portage-2.1.7.9

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "=sys-apps/portage-2.1.7.9".

```

Bo:

```
soban@SoBaN-PC ~ $ eix portage -I

...

[I] sys-apps/portage

     Available versions:  [P]2.1.6.7 2.1.6.11-r1[2] 2.1.6.13 2.1.6.13-r1[2] 2.1.7.17 2.1.8.3 {M}(~)2.2_rc62 [M](~)2.2_rc67 [M]**9999 {build doc epydoc linguas_pl python3 selinux sqlite}

     Installed versions:  2.2_rc62(18:14:59 08.03.2010)(linguas_pl -build -doc -epydoc -python3 -selinux)

     Homepage:            http://www.gentoo.org/proj/en/portage/index.xml

     Description:         Portage is the package management and distribution system for Gentoo

```

 Tylko zastanawiam sie, czy da rade w jakis prosty sposob to ominac, czy trzeba pisac jakis skrypt do tego.

----------

