View previous topic :: View next topic |
Author |
Message |
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri Nov 16, 2007 10:13 am Post subject: [TIP] Migliorare l'utilizzo dei mirror Gentoo |
|
|
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
Code: | #!/bin/sh
command -v mirrorselect > /dev/null && mirrorselect -s 3 -q -D
diff /etc/make.conf /etc/make.conf.backup
| (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.
Code: | 0 22 * * * root sleep $RANDOM;eix-sync;emerge -uDNf world | 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 _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
Last edited by Kernel78 on Fri Sep 03, 2010 3:17 pm; edited 2 times in total |
|
Back to top |
|
|
Tigerwalk Guru
Joined: 15 May 2007 Posts: 475 Location: Napoli
|
Posted: Tue Nov 20, 2007 9:49 am Post subject: |
|
|
Io un giardino incolto l'avrei.......
A parte gli scherzi, credo che sia un ottimo TIP
Ciao _________________ Linux user N°447789
Carpe diem (quam minimum credula postero) -Orazio (I,11) |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Nov 20, 2007 10:04 am Post subject: |
|
|
fa piacere che qualcuno posso giudicarlo utile _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
drizztbsd Retired Dev
Joined: 21 Nov 2004 Posts: 278 Location: Cesano Maderno
|
Posted: Tue Nov 20, 2007 10:59 am Post subject: |
|
|
So di essere un pignolo ma non ce la faccio a vedere script sh fatti coi piedi
Code: |
#!/bin/sh
command -v mirrorselect > /dev/null && mirrorselect -s 3 -q -D
diff /etc/make.conf /etc/make.conf.backup
|
_________________ Gentoo/Alt lead
Gentoo/*BSD and Gentoo/FreeBSD deputy lead
Paludis contributor |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Nov 20, 2007 12:44 pm Post subject: |
|
|
drizztbsd wrote: | So di essere un pignolo ma non ce la faccio a vedere script sh fatti coi piedi
|
ma non scherziamo neanche, ben venga ogni critica costruttiva (non conoscevo nemmeno command)
Grazie, modifico lo script nel primo messaggio. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Tue Nov 20, 2007 3:11 pm Post subject: Re: [TIP] Migliorare l'utilizzo dei mirror Gentoo |
|
|
Kernel78 wrote: | Se volete propormi dei miglioramenti o un lavoro come bracciante non siate timidi |
Sei disponibile per dare una mano in un trasloco? Pagamento posticipato ...
Scherzi a parte, ottimo TIP! |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4807 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Fri Sep 03, 2010 9:03 am Post subject: |
|
|
rileggevo questo tip.
non capivo bene quel comando echo.
allora ne farei una scusa per riesumare il topic:
Code: |
s939 ~ # tail -n1 /etc/crontab
0 22 * * * root sleep $((9*3600*${RANDOM}/(2**15)));eix-sync;emerge -uDNf world
|
il 9 controlla il numero di ore dopo le 22. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri Sep 03, 2010 3:17 pm Post subject: |
|
|
cloc3 wrote: | rileggevo questo tip.
non capivo bene quel comando echo.
allora ne farei una scusa per riesumare il topic:
Code: |
s939 ~ # tail -n1 /etc/crontab
0 22 * * * root sleep $((9*3600*${RANDOM}/(2**15)));eix-sync;emerge -uDNf world
|
il 9 controlla il numero di ore dopo le 22. |
a questo punto forse è meglio fare direttamente un anzi, adesso correggo _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4807 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Fri Sep 03, 2010 4:48 pm Post subject: |
|
|
Kernel78 wrote: |
a questo punto forse è meglio fare direttamente un anzi, adesso correggo |
dipende. l'esempio di calcolo aritmetico bash è istruttivo e utile, perché aggiunge un grado di libertà.
ma, oggettivamente, è anche superfluo.
lo stesso command, per la verità, non ha gran ragion d'essere. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Sat Sep 04, 2010 3:50 pm Post subject: |
|
|
cloc3 wrote: | Kernel78 wrote: |
a questo punto forse è meglio fare direttamente un anzi, adesso correggo |
dipende. l'esempio di calcolo aritmetico bash è istruttivo e utile, perché aggiunge un grado di libertà.
|
istruttivo, magari ma utile non direi ...
Quote: |
ma, oggettivamente, è anche superfluo.
lo stesso command, per la verità, non ha gran ragion d'essere. |
non mi ricordo perchè ma quando me lo aveva suggerito drizztbsd aveva senso ... _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
|