Archivi categoria: hacking

Speeding up APT

As someone knows using multiple connections to download files could be helpful to speed up the upgrading processes (take a look to urpmi).

Apt is definetly a good tool provided by debian, but from this point of view it could be “improved” (see notes below).

Here you can see the way I’ve reduced my download times using only apt, axel and -obviously- bash:

# ( cd /var/cache/apt/archives/ && apt-get -y --print-uris install $package | grep ^' | awk '{print $1}' | xargs -i axel -n 25 -a {} )

Notes: downloading files through multiple connections does not represent the best solution because the increasing number of connections leads to an increased load of the server plus other nasty things. A better way could be a wider usage of debdelta. Take a look to YUM presto plugin.

Dokuwiki + Altervista: connubio possibile

Questo è un piccolo tutorial che aiuta ad installare il potente dokuwiki nello spazio dedicato agli utenti di Altervista.org.

DISCLAIMER:
Questo tutorial ha il solo scopo didattico.
Pertanto l’autore non può essere ritenuto responsabile di eventuali danni o problemi che possano presentarsi a seguito dell’applicazione di questa procedura.
Tantomeno questo tutorial vuole danneggiare una qualsiasi delle parti che verranno citate nel testo a seguire.

STRUMENTI RICHIESTI:

  • Conoscenza di base del php e di ftp
  • Un client ftp stile filezilla
  • Per la realizzazione di questo documento mi riferirò alla versione 2007-06-26b del dokuwiki.
  • Un cervello funzionante 😉

E’ probabile che alcuni di Voi abbiano provato ad installare dokuwiki sul proprio spazio altervista con scarsi risultati.
Per la realizzazione di questo documento mi riferirò alla versione 2007-06-26b del dokuwiki.

  1. download del prodotto, decompressione quindi upload sul proprio spazio.
  2. Modifica del file install.php presente nella directory principale del dokuwiki:
    precisamente localizzate la funzione check_functions(){… e al suo interno il seguente costrutto

    $funcs = explode(' ','addslashes basename call_user_func chmod copy fgets '.
    'file file_exists fseek flush filesize ftell fopen '.
    'glob header ignore_user_abort ini_get mail mkdir '.
    'ob_start opendir parse_ini_file readfile realpath '.
    'rename rmdir serialize session_start unlink usleep '.
    'preg_replace');

    rimuovete quindi la voce chmod ottenendo quanto segue
    $funcs = explode(' ','addslashes basename call_user_func copy fgets '.
    'file file_exists fseek flush filesize ftell fopen '.
    'glob header ignore_user_abort ini_get mail mkdir '.
    'ob_start opendir parse_ini_file readfile realpath '.
    'rename rmdir serialize session_start unlink usleep '.
    'preg_replace');
  3. Giunti a questo punto, con una vecchia versione sarebbe stato sufficiente, ma i programmatori del dokuwiki sono persone competenti e per garantire stabilità al loro prodotto hanno aggiunto un nuovo tipo di controllo al software. Dal canto suo Altervista per una maggiore sicurezza della sua piattaforma ha dovuto ridurre alcune funzionalità, più o meno richieste dal dokuwiki. Nessun problema, senza nuocere a nessuno, noi potremo usare questo potente strumento 😉
    Se infatti provate ad avviare via browser la procedura di installazione (www.example.com/dokuwiki/install.php) noterete che il sistema afferma di avere trovato un checksum non valido e quindi propone di reinstallare il prodotto.
    Niente paura, copiamo la stringa di strani caratteri proposta nella pagina appena descritta in un file di testo e torniamo a modificare i file aggiungendo a questo blocco

    $dokuwiki_hash = array(
    '2005-09-22' => 'e33223e957b0b0a130d0520db08f8fb7',
    '2006-03-05' => '51295727f79ab9af309a2fd9e0b61acc',
    '2006-03-09' => '51295727f79ab9af309a2fd9e0b61acc',
    '2006-11-06' => 'b3a8af76845977c2000d85d6990dd72b',
    '2007-05-24' => 'd80f2740c84c4a6a791fd3c7a353536f',
    '2007-06-26' => 'b3ca19c7a654823144119980be73cd77',
    );

    la riga seguente

    '2008-01-20' => '1e81ba3f32c56e0d3df259989694a79f',

    ottenendo quindi

    $dokuwiki_hash = array(
    '2005-09-22' => 'e33223e957b0b0a130d0520db08f8fb7',
    '2006-03-05' => '51295727f79ab9af309a2fd9e0b61acc',
    '2006-03-09' => '51295727f79ab9af309a2fd9e0b61acc',
    '2006-11-06' => 'b3a8af76845977c2000d85d6990dd72b',
    '2007-05-24' => 'd80f2740c84c4a6a791fd3c7a353536f',
    '2007-06-26' => 'b3ca19c7a654823144119980be73cd77',
    '2008-01-20' => '1e81ba3f32c56e0d3df259989694a79f',
    );

Finito! Avviate ancora la procedura di installazione (www.example.com/dokuwiki/install.php) e godetevi il wiki :-d

Happy Hacking