[TIP] Migliorare l'utilizzo dei mirror Gentoo
Posted: Fri Nov 16, 2007 10:13 am
Ciao a tutti, ho deciso di scrivere in un unico post alcuni trucchetti che uso (elaborati quando avevo tempo e riuscivo ancora a dormire) per razionalizzare l'utilizzo delle risorse che ci offrono i mirror Gentoo.
Requisiti:
- connessione internet flat
- pc always on
- vixie-cron (gli altri corn non li conosco quindi non mi sbilancio)
- eix
- mirrorselect
Usare il mirror più veloce
Per vari motivi soggettivi (es. affetto) la maggior parte di noi una volta effettuata la scelta del mirror da utilizzare tende a dimenticarsene e a non cambiarlo più in secula seculorum (come dimostra anche una discussione relativa al periodo dei problemi al mirror dell'uni).
Per poter essere considerevolmente sicuri di usare il mirror migliore per noi in un determinato momento possiamo fare affidamento a mirrorselect (app-portage/mirrorselect) in modo che si occupi di testare la velocità dei mirror e di modificarci il make.conf con il mirror migliore in quel momento.
Ovviamente la nostra pigrizia ci spinge a delegare qualcuno per verificare periodicamente lo stato dei mirror e in questo ci viene in aiuto vixie-cron (sys-process/vixie-cron).
Il trucco consiste nel mettere un file (io l'ho chiamato mirrorselect) in /etc/cron.weekly(so che è migliorabile a livello di controlli ma non ho la testa per mettermi a farlo adesso
/EDIT:grazie a drizztbsd per la miglioria)
In sintesi questo script viene lanciato ogni settimana (lanciarlo più di frequente genererebbe troppo traffico inutile per i mirrror) e seleziona i 3 mirror migliori e li imposta in make.conf (facendo un backup di quello vecchio) e poi viene fatto un diff (in questo modo mi arriva una mail con i mirror precedenti e quelli attuali).
Evitare di collegarsi in massa (aka Partenza Intelligente)
Altra tematica inerente ad un utilizzo più razionale delle risorse è quella delle richieste contemporanee.
Ovviamente la Pigrizia (divinità protettrice dei programmatori) ci spinge a impostare in cron un comando per il sync automatico ma questo comporta un piccolo svantaggio.
La scarsità di entropia utilizzata dal cervello umano nella creazione di numeri casuali.
Statisticamente parlando sono sicuro che la massa utilizza prevalentemente orari interi (es. 10:00, 12:00 o nelle migliori ipotesi sfrutta anche i minuti 12:30), questo influisce anche su chi tenta di generare orari più casuali (es. 21:34) visto che statisticamente parlando si finisce sempre vicino alle richieste della massa.
Come poter sopperire a questo ? semplice sfruttiamo la nostra pigrizia e lasciamo che sia il nostro pc a generare un numero casuale per noi.inserito in /etc/crontab fa al caso nostro, in questo modo il sync partirà in un orario tra le 22:00:00 e le 07:06:07 con una distribuzione casuale (o pseudo casuale se vogliamo essere pignoli)
Se volete propormi dei miglioramenti o un lavoro come bracciante non siate timidi
Requisiti:
- connessione internet flat
- pc always on
- vixie-cron (gli altri corn non li conosco quindi non mi sbilancio)
- eix
- mirrorselect
Usare il mirror più veloce
Per vari motivi soggettivi (es. affetto) la maggior parte di noi una volta effettuata la scelta del mirror da utilizzare tende a dimenticarsene e a non cambiarlo più in secula seculorum (come dimostra anche una discussione relativa al periodo dei problemi al mirror dell'uni).
Per poter essere considerevolmente sicuri di usare il mirror migliore per noi in un determinato momento possiamo fare affidamento a mirrorselect (app-portage/mirrorselect) in modo che si occupi di testare la velocità dei mirror e di modificarci il make.conf con il mirror migliore in quel momento.
Ovviamente la nostra pigrizia ci spinge a delegare qualcuno per verificare periodicamente lo stato dei mirror e in questo ci viene in aiuto vixie-cron (sys-process/vixie-cron).
Il trucco consiste nel mettere un file (io l'ho chiamato mirrorselect) in /etc/cron.weekly
Code: Select all
#!/bin/sh
command -v mirrorselect > /dev/null && mirrorselect -s 3 -q -D
diff /etc/make.conf /etc/make.conf.backup
/EDIT:grazie a drizztbsd per la miglioria)
In sintesi questo script viene lanciato ogni settimana (lanciarlo più di frequente genererebbe troppo traffico inutile per i mirrror) e seleziona i 3 mirror migliori e li imposta in make.conf (facendo un backup di quello vecchio) e poi viene fatto un diff (in questo modo mi arriva una mail con i mirror precedenti e quelli attuali).
Evitare di collegarsi in massa (aka Partenza Intelligente)
Altra tematica inerente ad un utilizzo più razionale delle risorse è quella delle richieste contemporanee.
Ovviamente la Pigrizia (divinità protettrice dei programmatori) ci spinge a impostare in cron un comando per il sync automatico ma questo comporta un piccolo svantaggio.
La scarsità di entropia utilizzata dal cervello umano nella creazione di numeri casuali.
Statisticamente parlando sono sicuro che la massa utilizza prevalentemente orari interi (es. 10:00, 12:00 o nelle migliori ipotesi sfrutta anche i minuti 12:30), questo influisce anche su chi tenta di generare orari più casuali (es. 21:34) visto che statisticamente parlando si finisce sempre vicino alle richieste della massa.
Come poter sopperire a questo ? semplice sfruttiamo la nostra pigrizia e lasciamo che sia il nostro pc a generare un numero casuale per noi.
Code: Select all
0 22 * * * root sleep $RANDOM;eix-sync;emerge -uDNf worldSe volete propormi dei miglioramenti o un lavoro come bracciante non siate timidi