Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Forum italiano (Italian) Risorse italiane (documentazione e tools)
  • Search

[TIP] Migliorare l'utilizzo dei mirror Gentoo

Forum riservato alla documentazione in italiano.

Moderator: ago

Post Reply
  • Print view
Advanced search
10 posts • Page 1 of 1
Author
Message
Kernel78
Moderator
Moderator
Posts: 3654
Joined: Fri Jun 24, 2005 6:14 am
Contact:
Contact Kernel78
Website

[TIP] Migliorare l'utilizzo dei mirror Gentoo

  • Quote

Post by Kernel78 » 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

Code: Select all

#!/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: Select all

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 :lol:
Last edited by Kernel78 on Fri Sep 03, 2010 3:17 pm, edited 2 times in total.
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con

Code: Select all

grep -vE '(^[[:space:]]*($|(#|!|;|//)))'
Top
Tigerwalk
Guru
Guru
User avatar
Posts: 475
Joined: Tue May 15, 2007 12:31 pm
Location: Napoli

  • Quote

Post by Tigerwalk » Tue Nov 20, 2007 9:49 am

Io un giardino incolto l'avrei....... :lol:

A parte gli scherzi, credo che sia un ottimo TIP
Ciao
Linux user N°447789
Carpe diem (quam minimum credula postero) -Orazio (I,11)
Top
Kernel78
Moderator
Moderator
Posts: 3654
Joined: Fri Jun 24, 2005 6:14 am
Contact:
Contact Kernel78
Website

  • Quote

Post by Kernel78 » Tue Nov 20, 2007 10:04 am

fa piacere che qualcuno posso giudicarlo utile :wink:
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con

Code: Select all

grep -vE '(^[[:space:]]*($|(#|!|;|//)))'
Top
drizztbsd
Retired Dev
Retired Dev
User avatar
Posts: 278
Joined: Sun Nov 21, 2004 10:58 pm
Location: Cesano Maderno
Contact:
Contact drizztbsd
Website

  • Quote

Post by drizztbsd » Tue Nov 20, 2007 10:59 am

So di essere un pignolo ma non ce la faccio a vedere script sh fatti coi piedi :(

Code: Select all

#!/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
Top
Kernel78
Moderator
Moderator
Posts: 3654
Joined: Fri Jun 24, 2005 6:14 am
Contact:
Contact Kernel78
Website

  • Quote

Post by Kernel78 » Tue Nov 20, 2007 12:44 pm

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: Select all

grep -vE '(^[[:space:]]*($|(#|!|;|//)))'
Top
skypjack
l33t
l33t
User avatar
Posts: 884
Joined: Sat Aug 05, 2006 10:56 am
Location: Italia - Firenze

Re: [TIP] Migliorare l'utilizzo dei mirror Gentoo

  • Quote

Post by skypjack » Tue Nov 20, 2007 3:11 pm

Kernel78 wrote:Se volete propormi dei miglioramenti o un lavoro come bracciante non siate timidi :lol:
Sei disponibile per dare una mano in un trasloco? Pagamento posticipato ... :lol:
Scherzi a parte, ottimo TIP! :wink:
Top
cloc3
Advocate
Advocate
User avatar
Posts: 4840
Joined: Tue Jan 13, 2004 10:09 am
Location: http://www.gentoo-users.org/user/cloc3/
Contact:
Contact cloc3
Website

  • Quote

Post by cloc3 » Fri Sep 03, 2010 9:03 am

rileggevo questo tip.
non capivo bene quel comando echo.

allora ne farei una scusa per riesumare il topic:

Code: Select all

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
Top
Kernel78
Moderator
Moderator
Posts: 3654
Joined: Fri Jun 24, 2005 6:14 am
Contact:
Contact Kernel78
Website

  • Quote

Post by Kernel78 » Fri Sep 03, 2010 3:17 pm

cloc3 wrote:rileggevo questo tip.
non capivo bene quel comando echo.

allora ne farei una scusa per riesumare il topic:

Code: Select all

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

Code: Select all

sleep $RANDOM
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: Select all

grep -vE '(^[[:space:]]*($|(#|!|;|//)))'
Top
cloc3
Advocate
Advocate
User avatar
Posts: 4840
Joined: Tue Jan 13, 2004 10:09 am
Location: http://www.gentoo-users.org/user/cloc3/
Contact:
Contact cloc3
Website

  • Quote

Post by cloc3 » Fri Sep 03, 2010 4:48 pm

Kernel78 wrote: a questo punto forse è meglio fare direttamente un

Code: Select all

sleep $RANDOM
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
Top
Kernel78
Moderator
Moderator
Posts: 3654
Joined: Fri Jun 24, 2005 6:14 am
Contact:
Contact Kernel78
Website

  • Quote

Post by Kernel78 » Sat Sep 04, 2010 3:50 pm

cloc3 wrote:
Kernel78 wrote: a questo punto forse è meglio fare direttamente un

Code: Select all

sleep $RANDOM
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 ...
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: Select all

grep -vE '(^[[:space:]]*($|(#|!|;|//)))'
Top
Post Reply
  • Print view

10 posts • Page 1 of 1

Return to “Risorse italiane (documentazione e tools)”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy