# speed up portage with sqlite

## Finswimmer

Hi!

Dieser Tip http://gentoo-wiki.com/TIP_speed_up_portage_with_sqlite geht bei mir leider nicht.

Geht es bei euch?

```
[15:54:38]|[root@tobi-rechner]|/home/tobi/filme$emerge --metadata

Traceback (most recent call last):

  File "/usr/bin/emerge", line 4049, in ?

    emerge_main()

  File "/usr/bin/emerge", line 3769, in emerge_main

    portdb = trees[settings["ROOT"]]["porttree"].dbapi

  File "/usr/lib/portage/pym/portage_util.py", line 812, in __getitem__

    return value_callable(*pargs, **kwargs)

  File "/usr/lib/portage/pym/portage_util.py", line 796, in __call__

    self._value = self._callable(*self._pargs, **self._kwargs)

  File "/usr/lib/portage/pym/portage.py", line 3820, in __init__

    self.dbapi = portdbapi(

  File "/usr/lib/portage/pym/portage.py", line 4656, in __init__

    self.auxdb[x] = self.auxdbmodule(self.depcachedir, x, filtered_auxdbkeys, gid=portage_gid)

  File "/usr/lib/portage/pym/cache/sqlite.py", line 39, in __init__

    self._db_init_connection(config)

  File "/usr/lib/portage/pym/cache/sqlite.py", line 60, in _db_init_connection

    raise cache_errors.InitializationError(self.__class__, e)

cache.cache_errors.InitializationError: Creation of instance <class 'cache.sqlite.database'> failed due to database is locked

```

 failed due to database is locked --> Ich hab keine Ahnung, wo die angelegt werden soll, und ich bin doch Root?

EDITH// Scheint daran zu liegen, dass ich es über NFS mounte...

192.168.0.1:/usr/portage  /usr/portage  nfs  rw,intr,suid

192.168.0.1:/var/cache/edb/dep/usr/portage /var/cache/edb/dep/usr/portage nfs rw,intr,suid

Danke

Tobi

----------

## schmutzfinger

Also bei mir geht es. Aber ich kann nicht behaupten das ich nen Unterschied merken würde.

----------

## Finswimmer

Bei mir gehts jetzt auch.

Hab mal nen Test gemacht:

Mit 1min 40

Ohne 4min50

Tobi

----------

## schmutzfinger

Worüber reden wir hier? 

```
emerge --metadata
```

? Wie lange das dauert weiß ich nicht weil das bei mir als cronjob passiert.

----------

## Finswimmer

Japp. Bei mir ja eigentlich auch. 

Aber ab und zu sehe ich, dass es grad in der Minute nen neues Ebuild gibt, dann synce ich schnell, und der Rest soll ja auch schnell gehen  :Wink: 

Tobi

----------

## monade

Hat jemand Erfahrung wie sich der sqlite-Ansatz im Vergleich zu metadata_overlay schlägt?

----------

## mv

 *monade wrote:*   

> Hat jemand Erfahrung wie sich der sqlite-Ansatz im Vergleich zu metadata_overlay schlägt?

 

Bezüglich portage habe ich keinen merklichen Unterschied zwischen den beiden Backends bemerkt, weder bei emerge --metadata noch bei späteren Zugriffen. update-eix mit PORTDIR_CACHE_METHOD=sqlite (ab eix-0.7.4) geht aber wesentlich schneller.

----------

## monade

 *mv wrote:*   

> Bezüglich portage habe ich keinen merklichen Unterschied zwischen den beiden Backends bemerkt, weder bei emerge --metadata noch bei späteren Zugriffen.

 

Jap, ich auch nicht.

 *mv wrote:*   

> update-eix mit PORTDIR_CACHE_METHOD=sqlite (ab eix-0.7.4) geht aber wesentlich schneller.

 

0.74  :Shocked:  ? Dann nehm ich an, dass dein Namenskürzel was mit dem (Weiter)Entwickler von eix zu tun hat  :Smile: , und warte bis die Version in Portage ist.. bin mal gespannt.

----------

