L’utilizzo di prelink modifica i file di sistema e può rendere instabile o addirittua inutilizzabile un’intera installazione! E’ possibile velocizzare l’avvio delle applicazioni utilizzando il prelinking delle librerie condivise utilizzate dai programmi, cioè precaricando in memoria tali librerie e risolvendo i vari simboli e riferimenti. In alcune situazioni è possibile dimezzare il tempo di caricamento dei programmi.
Per utilizzare il prelinking delle librerie è necessario installare l’utility prelink, quindi sotto Debian eseguire da root:
# apt-get install prelink
Per le opzioni che è possibile utilizzare con prelink riferirsi alle pagine man del programma:
# man prelink
Una volta installato il programma troveremo nel file di configurazione /etc/prelink.conf le varie directory ed i file che prelink analizzerà ed eventualmente modificherà durante la sua esecuzione.
Ora è possibile eseguire il programma impartendo il seguente comando da root:
# prelink --all --conserve-memory --random
o in alternativa la sintassi abbreviata
# prelink -amR
Le opzioni utilizzate sono:
–all: segue le indicazioni contenute nel file di configurazione /etc/prelink.conf;–conserve-memory: risparmia memoria virtuale, utile se sono presenti molte librerie da prelinkare;–random : utilizza indirizzi di memoria casuali.
Una volta eseguito il programma il computer inizierà a modificare i file binary indicati in /etc/prelink.conf.
Durante l’esecuzione di prelink è possibile incappare in massaggi di errore che indicano che alcune librerie non possono essere prelinkate. Questo accade poiché per poter essere prelinkate le librerie debbono essere compilate con il flag -fPIC di Gcc attivato e molte librerie non utilizzano tale flag per problemi di stabilità.
prelink modifica direttamente i file, quindi se si aggiorna una libreria con una versione più recente è necessario ripetere l’operazione di prelinking: ovviamente basta prelinkare solo il programma modificato indicandone il nome ed omettendo l’opzione –all dal comando già visto sopra.
Debian mette a disposizione un sistema per automatizzare il tutto mediante cron. Sempre da root aprire il file /etc/default/prelink e modificare la prima voce
PRELINKING=unknown
con
PRELINKING=yes