View previous topic :: View next topic |
Author |
Message |
zdenek n00b


Joined: 25 Jun 2005 Posts: 22
|
Posted: Wed Jul 13, 2005 1:22 pm Post subject: Semplici osservazioni sul portage |
|
|
È da poco che sono giunto nel mondo gentoo e linux in generale. Trovo che il portage sia un ottimo strumento per la gestione dei pacchetti e di istallazioni pulite dopo la compilazione dei sorgenti, soprattutto dopo un update. Da quello che mi è parso di capire è che ognuno di noi, sulla propria macchina, possiede l'albero intero di tutti i pacchetti scaricabili con il portage, albero che si deve periodicamente aggiornare con Mi chiedevo come mai questa scelta progettuale. Mi spiego meglio. Tempo fa le macchine in rete avevano (hanno tuttora) un file che conteneva tutti gli indirizzi di tutte le macchine presenti sulla rete, file che serviva per risolvere i nomi e che doveva essere aggiornato periodicamente. Poi sono stati introdotti i DNS e la necessità di aggiornare il file non c'è più, col ulteriore vantaggio che la "lista" delle macchine è sempre aggiornata. Perchè invece col portage devo avere la mia lista di tutti i pacchetti, da aggiornare periodicamente? _________________ zdenek |
|
Back to top |
|
 |
federico Advocate


Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Wed Jul 13, 2005 1:28 pm Post subject: |
|
|
La tua e' una considerazione che trovo stimolante e alla quale non avevo mai pensato sinceramente.
Il progetto potrebbe essere visto come la possibilita' di chiamare un emerge, il sistema si connette on line e controlla il pacchetto e quindi scarica pacchetto ed ebuild e poi lo installa, una cosa del genere...
Il sistema attuale e' strutturato in modo da lasciarti vedere subito tutti i pacchetti che potresti avere sulla tua macchina, ti permette di modificarli e di editarli in maniera quasi semplice, e ti permette di farne una copia su altre macchine e via discorrendo.
Sinceramente anche io avrei qualche dubbio sulla bonta' di questo sistema; in particolare, pur mantenendo il sistema attuale, mi sto ancora chiedendo perche' devo avere 600 mega di hd utilizzati in questo modo quando magari un database compresso me ne faceva utilizzare 20 e il sistema di ricerca sarebbe stato estremamente piu' veloce (e anche quello di aggiornamento) e per l'editing si sarebbe potuta fare un'interfaccia adeguata...
Probabilmente il sistema di portage e' abbastanza complesso da gestire, e se funziona in questo modo ci saranno anche della buone ragioni, ma ho sentito ogni tanto vociferare dello studio di soluzioni alternative.
Fede _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
 |
Lestaat Guru

Joined: 13 Jan 2005 Posts: 412 Location: Perugia
|
Posted: Wed Jul 13, 2005 1:46 pm Post subject: |
|
|
Salve e benvenuto,
anche io mi sono ritrovato molto spesso inizialmente a pormi tale domanda.
Con l'andare del tempo però ho cominciato a capirne il motivo, o almeno credo.
Il portage locale permette innanzitutto la modifica da parte degli utenti degli ebuild (so che sarebbe cmq possibile ma così è immediato), ma soprattutto consente in modo semplice l'uso di portage anche offline. Credo cmq che il motivo principale sia il massiccio uso che gli utenti Gentoo fanno (giustamente) di portage. Se gli ebuild fossero online ci sarebbero giganteschi problemi sui server dato che ad ogni operazione di portage avverrebbe una connessione. In quest'altro modo invece solo nel momento del sync o dell'emersione c'è una connessione con i server (tra l'altro distribuita sui vari siti che ospitano i sorgenti)
Ciao Lestaat _________________ Vorrei salvare il mondo...
...ma non so con che estensione!!! |
|
Back to top |
|
 |
xchris Advocate


Joined: 10 Jul 2003 Posts: 2824
|
Posted: Wed Jul 13, 2005 1:48 pm Post subject: |
|
|
sinceramente comprendendo appena appena la superficie di portage (lo sto studiando or ora per bene) posso dirti che tutte quelle info di portage servono.
supponiamo un aggiornamento:
sono possibili 2 strade:
-avere tutto il tree in locale (come funziona oggi) e fare i calcoli sulla propria macchina
-avere un tree remoto e inviare informazioni della propria macchina in rete per aspettarsi una risposta
E' gia' subito evidente che la seconda soluzione scala abbastanza male.
Supponendo che scali anche bene....
avrei bisogno sempre della rete per fare questi tipi di calcoli.
Non sarebbe possibile aggiornare senza la rete. (cosa ora fattibile se si dispone dei distfiles)
Quindi scarterei a priori la soluzione di calcolo remoto.
Domandiamoci ora: serve tutta la roba che si scarica?
Mediamente si direi...
Si potrebbe pensare a un 2 stage compile.... ovvero una volta determinato che serve un ebuild completo lo si potrebbe scaricare.
Ma questa soluzione non diminuirebbe di molto il traffico e aumeterebbe la complessita' generale.
Il protocollo rsync gia' permette di scaricare le differenze e permette di non impegnare le macchine remote e neppure le nostre.
Ricordiamo che Gentoo per come e' strutturata e per come e' customizzabile e' molto + complessa e articolata delle altre distro.
L'unico appunto che mi sento di muovere e' che si potrebbe ottimizzare il sync almeno con la compressione!
Un portage compresso sarebbe gia' un buon passo in avanti anche se utilizzando reiserfs4 per /usr/portage gia' si risparmia notevolmente.
Discussione interessante.
ciao _________________ while True:Gentoo() |
|
Back to top |
|
 |
federico Advocate


Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Wed Jul 13, 2005 1:56 pm Post subject: |
|
|
xchris wrote: | L'unico appunto che mi sento di muovere e' che si potrebbe ottimizzare il sync almeno con la compressione!
Un portage compresso sarebbe gia' un buon passo in avanti anche se utilizzando reiserfs4 per /usr/portage gia' si risparmia notevolmente.
|
In che modo reiserfs4 ottimizza la cosa?
Sono daccordo anche io sul fatto che l'rsync compresso potrebbe essere una cosa buona _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
 |
btbbass Apprentice


Joined: 15 Feb 2005 Posts: 287 Location: Asti o Torino
|
Posted: Wed Jul 13, 2005 2:09 pm Post subject: |
|
|
federico wrote: |
In che modo reiserfs4 ottimizza la cosa?
|
Beh, reiser 4 è ottimizzato per i file piccoli, e portage - a parte la cartella distfiles - contiene decine di migliaia di file piccoli... sono passato da ext3 a reiser 4 (solo per la cartella /usr/portage) ottimizzando un casino lo spazio: prima ~ 430Mb, ora, ~ 100.. _________________ Chi dice che è impossibile non interrompa chi lo sta facendo
-Proverbio Cinese -
___________________________________ |
|
Back to top |
|
 |
emix Veteran

Joined: 30 Nov 2003 Posts: 1014
|
Posted: Wed Jul 13, 2005 2:10 pm Post subject: |
|
|
federico wrote: | In che modo reiserfs4 ottimizza la cosa? |
Reiser4 è molto più efficiente in termini di occupazione di spazio per i file di piccole dimensioni. Questo lo rende molto adatto alla memorizzazione del portage tree.
Qui c'è qualche informazione a riguardo. |
|
Back to top |
|
 |
federico Advocate


Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Wed Jul 13, 2005 2:19 pm Post subject: |
|
|
emix wrote: | federico wrote: | In che modo reiserfs4 ottimizza la cosa? |
Reiser4 è molto più efficiente in termini di occupazione di spazio per i file di piccole dimensioni. Questo lo rende molto adatto alla memorizzazione del portage tree.
Qui c'è qualche informazione a riguardo. |
E in generale a tutto linux, visto che e' composto quasi esclusivamente di file piccoli...
Devo pensarci a questa cosa, vado a studiarmela  _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
 |
SilverXXX l33t


Joined: 18 Sep 2004 Posts: 885
|
Posted: Wed Jul 13, 2005 2:59 pm Post subject: |
|
|
Se è per quello mi chiedo perchè portage non sia scritto in C, che andrebbe molto più veloce.
Per un motivo: è più semplice. Python è semplice, abbastanza potente e (soprattutto, nel caso gentoo) ultraportabile tra architetture differenti
Penso ci siano motivi simili per gli ebuild testuali e la struttura a cartelle, piuttosto che un db binario unico. _________________ about:mozilla |
|
Back to top |
|
 |
xchris Advocate


Joined: 10 Jul 2003 Posts: 2824
|
Posted: Wed Jul 13, 2005 3:14 pm Post subject: |
|
|
ho controllato il codice...
e' gia' compresso rsync! con "--compress"
curioso vedere che si puo' invece RATELIMITARE con "RSYNC_RATELIMIT"
ciauz _________________ while True:Gentoo() |
|
Back to top |
|
 |
X-Drum Advocate


Joined: 24 Aug 2003 Posts: 2517 Location: ('Modica','Trieste','Ferrara') Italy
|
Posted: Wed Jul 13, 2005 3:28 pm Post subject: |
|
|
xchris wrote: | -avere un tree remoto e inviare informazioni della propria macchina in rete per aspettarsi una risposta
E' gia' subito evidente che la seconda soluzione scala abbastanza male.
|
tipo yum di fedora insomma _________________ "...There are two sort of lies, lies and benchmarks..." |
|
Back to top |
|
 |
GiRa l33t

Joined: 07 Apr 2005 Posts: 717
|
Posted: Wed Jul 13, 2005 3:53 pm Post subject: |
|
|
Richiesta DNS: pochi byte trasportati da UDP.
Portage: molti byte trasportati in TCP.
E' una cosa inpensabile.
Avrebbe più senso dare la possibilità di tenere tutto su un DB ma mi pare che richieda troppe risorse e quindi è una situazione poco portabile. |
|
Back to top |
|
 |
zdenek n00b


Joined: 25 Jun 2005 Posts: 22
|
Posted: Wed Jul 13, 2005 3:54 pm Post subject: |
|
|
Non so... la cosa non mi convince abbastanza... è come se per visitare una pagina web dovessi prima scaricarmi la mappa del sito! Volevo solamente aggiungere alcune considerazioni riguardo i vostri interventi:
Lestaat wrote: | Credo cmq che il motivo principale sia il massiccio uso che gli utenti Gentoo fanno (giustamente) di portage. Se gli ebuild fossero online ci sarebbero giganteschi problemi sui server dato che ad ogni operazione di portage avverrebbe una connessione. In quest'altro modo invece solo nel momento del sync o dell'emersione c'è una connessione con i server |
beh, leggendo il forum italiano, ho scoperto che c'è gente che esegue il sync quasi una volta al giorno. poi bisognerebbe vedere perchè si accede al portage, cioè oltre all'aggiornamento o all'istallazione di nuovi pacchetti che tipo di operazioni eseguo che possono creare traffico in rete.
xchris wrote: | avrei bisogno sempre della rete per fare questi tipi di calcoli.
Non sarebbe possibile aggiornare senza la rete. (cosa ora fattibile se si dispone dei distfiles) |
non sarebbe lo stesso? l'albero completo invece di averlo in rete c'è l'ho su CD ad esempio.
Pechè c'è il rischio di sovracaricare i server? I web server di oggi non sono potenti abbastanza nel gestire migliaia di connessioni al giorno? Perchè dovrebbe essere differente con portage?
Buona serata _________________ zdenek
Last edited by zdenek on Wed Jul 13, 2005 4:04 pm; edited 1 time in total |
|
Back to top |
|
 |
xchris Advocate


Joined: 10 Jul 2003 Posts: 2824
|
Posted: Wed Jul 13, 2005 3:59 pm Post subject: |
|
|
zdenek wrote: |
Pechè c'è il rischio di sovracaricare i server? I web server di oggi non sono potenti abbastanza nel gestire migliaia di connessioni al giorno? Perchè dovrebbe essere differente con portage?
Buona serata |
si..
ogni utente farebbe qualcosa come 100'000 acessi!
moltiplicalo per gli utenti gentoo...
un DB in rete... presuppone la connessione di rete .. e siamo al punto di partenza
A me andrebbe anche bene... ma non credo sarebbe accettabile per tutti! _________________ while True:Gentoo() |
|
Back to top |
|
 |
zdenek n00b


Joined: 25 Jun 2005 Posts: 22
|
Posted: Wed Jul 13, 2005 4:02 pm Post subject: |
|
|
GiRa wrote: | Richiesta DNS: pochi byte trasportati da UDP.
Portage: molti byte trasportati in TCP.
E' una cosa inpensabile.
|
sono pochi byte per una singola richiesta, ma quando visualizzi una pagina web devi risolvere gli indirizzi per ogni elemento della pagina! _________________ zdenek |
|
Back to top |
|
 |
zdenek n00b


Joined: 25 Jun 2005 Posts: 22
|
Posted: Wed Jul 13, 2005 4:06 pm Post subject: |
|
|
xchris wrote: | si..
ogni utente farebbe qualcosa come 100'000 acessi!
moltiplicalo per gli utenti gentoo...
|
penso sia esagerato! significherebbe che l'utente passa tutto il tempo a giocare col portage... _________________ zdenek |
|
Back to top |
|
 |
federico Advocate


Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Wed Jul 13, 2005 4:10 pm Post subject: |
|
|
GiRa wrote: | Avrebbe più senso dare la possibilità di tenere tutto su un DB ma mi pare che richieda troppe risorse e quindi è una situazione poco portabile. |
Anche se si potrebbe fare distribuito tra tutti gli attuali rsync, e quindi diventerebbe molto piu' fattiibile del sistema che utilizziamo attualmente. _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
 |
xchris Advocate


Joined: 10 Jul 2003 Posts: 2824
|
Posted: Wed Jul 13, 2005 4:59 pm Post subject: |
|
|
zdenek wrote: |
penso sia esagerato! significherebbe che l'utente passa tutto il tempo a giocare col portage... |
come no?
io intendevo un sync...
ci sono circa 100'000 files...
ma e' probabile che non abbia capito a quale operazione ti riferivi. (sono un po' fuso)
ciao _________________ while True:Gentoo() |
|
Back to top |
|
 |
|