Tdpkg 1.0, velocizzare dpkg

Scritto da: -


Se usate un sistema basato su Debian avrete notato una certe lentezza durante la lettura del database dei pacchetti installati.

La causa è la lettura delle migliaia di file .list presenti in /var/lib/dpkg/info/. Per velocizzare le operazioni è stato più volte ipotizzata l’idea di passare ad un database. Luca Bruno non essendo stato ascoltato dai mantainer ha deciso di fare da sé con Tdpkg.

Si tratta di una libreria che intercetta le chiamate di dpkg caricata attraverso LD_PRELOAD. Tdpkg può funzionare sia con un db tokyocabinet che è più rapido oppure con sqlite che gestisce meglio la concorrenza. Quanto migliorano le prestazioni? Secondo l’autore si passa dai 14 secondi a soli 2 secondi.

Un ottimo risultato. Per provare dovrete compilare la libreria ed aggiungere un alias:
alias dpkg="LD_PRELOAD=/path/to/libtdpkg.so dpkg

Via | Lethalman

Vota l'articolo:
4.00 su 5.00 basato su 4 voti.  
 
Aggiorna
  • nickname Commento numero 1 su Tdpkg 1.0, velocizzare dpkg

    Posted by: go

    Mah… mi sembra troppo bello per essere vero…. Scritto il Date —

  • nickname Commento numero 2 su Tdpkg 1.0, velocizzare dpkg

    Posted by:

    Bella storia, spero che le principali distribuzioni possano avvantaggiarsene al più presto, secondo me le differenze di tempi sono plausibili, e potrebbero essere anche maggiori su sistemi con hd lenti come il mio portatile :-) detto ciò trattandosi di dpkg un pacchetto lo potevano pure fare, certo a compilare non è che caschi il mondo però… :-P Scritto il Date —

  • nickname Commento numero 3 su Tdpkg 1.0, velocizzare dpkg

    Posted by: d4n

    Se funziona veramente come dice mi sa che il team di Debian farebbe bene a dargli un'occhiata :D Scritto il Date —

  • nickname Commento numero 4 su Tdpkg 1.0, velocizzare dpkg

    Posted by:

    zOMG winregistry Scritto il Date —

  • nickname Commento numero 5 su Tdpkg 1.0, velocizzare dpkg

    Posted by:

    Perchè non l'hanno ascoltato? Bisogna sempre farsi riconoscere…eh. Scritto il Date —

  • nickname Commento numero 6 su Tdpkg 1.0, velocizzare dpkg

    Posted by: ekerazha

    Questa è una mia vecchia battaglia, ho cercato per anni di convincere i dev di Arch ad utilizzare per pacman un database sqlite, invece rimangono fedeli al sistema composto da migliaia di directory (una per ogni pacchetto) con dentro i canonici 3 file di testo, dalla lentezza imbarazzante (specie su alcuni filesystem come XFS). Scritto il Date —

  • nickname Commento numero 7 su Tdpkg 1.0, velocizzare dpkg

    Posted by:

    Rimangono fedeli con quale motivazione? Scritto il Date —

  • nickname Commento numero 8 su Tdpkg 1.0, velocizzare dpkg

    Posted by: ekerazha

    Idiozie varie, del tipo non vogliono che pacman (il gestore dei pacchetti) dipenda da librerie esterne… e dicono che sarebbe meno sicuro perchè se si corrompe un file del database composto da migliaia di file, sarebbe comunque un danno lieve, mentre se si corrompe il file del database sqlite perdi tutto (peccato che il database si possa anche riparare… e comunque basterebbe crearne in automatico una copia di backup). Scritto il Date —

  • nickname Commento numero 9 su Tdpkg 1.0, velocizzare dpkg

    Posted by:

    ekerazha, hai provato a fare una cosa simile a questo tdpkg? in teoria sembra una cosa abbastanza semplice, un wrapper e quando viene chiamato dpkg allora si tira su questa lib che scrive nel database tokyohotel o sqlite3. credo sia possibile anche per arch, si dovrebbe capire poi se diventa piu veloce sul serio… Scritto il Date —

  • nickname Commento numero 10 su Tdpkg 1.0, velocizzare dpkg

    Posted by: ekerazha

    Avevo iniziato a fare un pacman basato su sqlite ma il problema è che il database che viene scaricato dal sito di Arch è comunque nel formato "classico", quindi non avrebbe senso, dovrebbero mettere loro a disposizione il database in versione sqlite. Scritto il Date —

  • nickname Commento numero 11 su Tdpkg 1.0, velocizzare dpkg

    Posted by:

    ekerazha, quello del db in arch è una cosa che interesserebbe anche a me.. ma lo so come sono testardi i devel di arch! Scritto il Date —

  • nickname Commento numero 12 su Tdpkg 1.0, velocizzare dpkg

    Posted by: d4n

    Alla luce di quello che dice ekerazha sembra che il problema sia più di "lavoro grosso" da fare per cambiare sistema. Comunque ti puoi ritenere fortunato, ci sono dev di certi team che neanche rispondono alle email in cui vengono dati consigli o vengono chieste spiegazioni per determinate scelte. Scritto il Date —

  • nickname Commento numero 13 su Tdpkg 1.0, velocizzare dpkg

    Posted by: ekerazha

    A dire il vero era stato nel loro forum e quando hanno iniziato a non saper più cosa rispondere per giustificare le loro posizioni, hanno chiuso il thread. Scritto il Date —

  • nickname Commento numero 14 su Tdpkg 1.0, velocizzare dpkg

    Posted by:

    d4n, a chi ti riferisici? Cmq ci sono anche molti devel che ti rispondono "non hai il diritto di lamentarti, è software libero, visto che non paghi non puoi dire nulla" (solitamente detta da devel debian) Scritto il Date —

  • nickname Commento numero 15 su Tdpkg 1.0, velocizzare dpkg

    Posted by:

    ekerazha, per quel che li conosco, è abbastanza tipico dei devel di arch. Mi chiedo solo se esista mai un team di sviluppatori un po' più aperti, che accetti i consigli quando dimostrano di essere sensati e apportano migliorie significative. Scritto il Date —

  • nickname Commento numero 16 su Tdpkg 1.0, velocizzare dpkg

    Posted by: d4n

    @lordalbert Scusa se ti rispondo con "Si dice il peccato ma non il peccatore" ma non voglio screditare il lavoro di tanti altri che invece sono molto gentili e aperti. Poi a me sta frase "non hai il diritto di lamentarti, è software libero, visto che non paghi non puoi dire nulla” mi pare una corbelleria proprio un modo di ragionare anti democratico se il software è libero anche il mio pensiero lo è quindi critico quanto mi pare. Le lamentele servono a migliorare se poi si è così ottusi da non capirlo mi sa che si fà meglio a smettere di fare lo sviluppatore e dedicarsi ad altro. Se io sviluppo un tool e ho anche 1 utente che critica qualcosa lo ascolto vedo cosa dice e vaglio perchè non è detto che dica solo fesserie. Scritto il Date —

  • nickname Commento numero 17 su Tdpkg 1.0, velocizzare dpkg

    Posted by:

    Beh se la mettete così non c'è da sorprendersi che linux sia allo 0,000000x % di share. Un bello schifo, sono gli sviluppatori (più anziani?) il vero cancro del FOSS. Scritto il Date —

  • nickname Commento numero 18 su Tdpkg 1.0, velocizzare dpkg

    Posted by:

    @d4n: La pensiamo allo stesso modo. Ed è per quello che io i nomi li ho fatti :) Non voglio certo generalizzare, ma molti ripetono quella frase. E la mia non era una critica, avevo solo segnalato che c'erano delle dipendenze non risolte in uno dei repository. Scritto il Date —

  • nickname Commento numero 19 su Tdpkg 1.0, velocizzare dpkg

    Posted by:

    Bello, lo provo subito grazie :) p.s.:Chiudi le virgolette alla fine dell'alias Scritto il Date —

  • nickname Commento numero 20 su Tdpkg 1.0, velocizzare dpkg

    Posted by: d4n

    @lordalbert hihihihihi si l'avevo intuito a me quella risposta manda su tutte le furie, è come quelli che dicono "Linux è fico a priori" però se lo critichi ti dicono e ma non rompere è gratis. C'è incoerenza. A mia vista negli ultimi anni si stà perdendo di vista il concetto di comunità e di libertà sopratutto di espressione e di pensiero. Certe volte torna sempre molto forte la tentazione di farmi la mia distribuzione, però poco dopo lascio perdere :D Scritto il Date —