Pagine

12 giugno 2008

Presto velocizza Yum?

Gli utenti linux delle distribuzioni basate su RPM, come Fedora, Red Hat ed altre, sanno cosa vuol dire portare pazienza. Uno dei limiti, forse il piu' grande di queste distribuzioni e' l'esasperante lentezza dei meccanismi di aggiornamento e di installazione di nuovo software.

Il principale responsabile di questa lentezza e' Yum, uno script python che si occupa di rintracciare sulla rete il pacchetto che si vuole installare / aggiornare e tutti quelli che da esso dipendono. Per carita', Yum fa generalmente un lavoro egregio, nel senso che rarissimamente fallisce nel compito che gli viene richiesto, ma la lentezza e lo spreco di risorse (quando va Yum il mio laptop e' come se morisse) sono davvero esagerate.

Nel tentativo di velocizzare questa operazione sono stati introdotti alcuni plugin che offrono delle scorciatoie e che tentano di migliorne le prestazioni. Quello di cui vi voglio parlare oggi e' Presto. L'idea alla base di Presto e' di ridurre i tempi necessari per scaricare i pacchetti RPM dalla rete. Quando facciamo un aggiornamento, infatti, gran parte delle informazioni che scarichiamo negli RPM aggiornati erano gia' presenti negli RPM installati quindi e' un'inutile perdita di tempo riscaricarli. L'idea geniale di Presto e' scaricare cosidetti DeltaRPM, ovvero dei file RPM di differenze che permettono di ricostruire il pacchetto aggiornato partendo da quello precedentemente installato. In questo modo si riesce quasi sempre a risparmiare una buona frazione del tempo di download (intorno al 75%).

Come fare ad installarlo?

Se usate Fedora, allora l'installazione e' molto semplice. Innanzitutto dovete installare yum-presto, ovvero il plugin che insegna a Yum come ricostruire i DeltaRPM. Per farlo io vi consiglio di aprire una finestra di terminale, diventare super utenti (su -) e digitare

yum install yum-presto

Al termine dell'operazione dovrete indicare a Yum dove puo' trovare i pacchetti DeltaRPM del repositorio fedora-updates. Per falo, sempre mantendo i privilegi di root, aprite con il vostro text editor preferito il file /etc/yum.repos.d/fedora-updates.repo e fate in modo che la sezione [updates] sia come la seguente:


[updates]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
mirrorlist=http://presto-mirrors.anmar.eu.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora

Notate che la prima riga con mirrorlist e' commentata ed e' attiva solo la seconda.

E' veramente piu' veloce?


La risposta corretta e' dipende. Dipende da quanto veloce e' la vostra connessione alla rete e il vostro computer. Mi spiego meglio. Esistono tre situazioni tipiche:

  • Rete veloce. Io al lavoro ho una connessione velocissima verso il mirror fedora piu' vicino (>10 MB/s), in questa situazione Presto e' completamente inutile, perche' il risparmio sul tempo di download e' abbastanza piccolo e in piu' la ricostruzione dei DeltaRPM porta via ulteriore tempo. Quindi Presto non conviene.
  • Rete lenta e computer veloce. E' la situazione del mio desktop di casa. Il Pc e' un moderno dual core, ma la rete al piu' va a 640 kB/s. In questo caso Presto va veramente come una scheggia e il vantaggio e' tangibile.
  • Rete e computer lenti. E' il caso del mio portatile quando connesso alla rete di casa. E' vero che risparmio un po' di tempo nel download, ma poi la fase di ricostruzione dei DeltaRPM e' talmente lenta che non sono sicuro che si risparmi qualcosa alla fine dei conti.
Adesso che sapete come usare Presto, non andate via perche' a breve vi parlero' anche di yum-fastestmirror!

Chiunque può lasciare commenti su questo blog, ammesso che vengano rispettate due regole fondamentali: la buona educazione e il rispetto per gli altri.

Per commentare potete utilizzare diversi modi di autenticazione, da Google a Facebook e Twitter se non volete farvi un account su Disqus che resta sempre la nostra scelta consigliata.

Potete utilizzare tag HTML <b>, <i> e <a> per mettere in grassetto, in corsivo il testo ed inserire link ipertestuali come spiegato in questo tutorial. Per aggiungere un'immagine potete trascinarla dal vostro pc sopra lo spazio commenti.

A questo indirizzo trovate indicazioni su come ricevere notifiche via email sui nuovi commenti pubblicati.

0 commenti:

Posta un commento

Chiunque può lasciare commenti su questo blog, ammesso che vengano rispettate due regole fondamentali: la buona educazione e il rispetto per gli altri.

Per commentare potete utilizzare diversi modi di autenticazione, da Google a Facebook e Twitter se non volete farvi un account su Disqus che resta sempre la nostra scelta consigliata.

Potete utilizzare tag HTML <b>, <i> e <a> per mettere in grassetto, in corsivo il testo ed inserire link ipertestuali come spiegato in questo tutorial. Per aggiungere un'immagine potete trascinarla dal vostro pc sopra lo spazio commenti.

A questo indirizzo trovate indicazioni su come ricevere notifiche via email sui nuovi commenti pubblicati.