wget "perpetuo"
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- joe
- Iper Master

- Messaggi: 3986
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
wget "perpetuo"
Sto scaricando un ramo slackware con wget.
Ho una connessione che di tanto in tanto tende a cadere.
Sono in grado di predisporre uno script che riconnetta automaticamente pur impiegando qualche manciata di secondi.
Risultato, wget esce dal download e nonostante la connessione sia stata riportata in piedi... troppo tardi wget è già terminato.
A me serve scaricare in modo non presidiato. Quale opzione devo dare a wget in modo che resti lì aspettando e ritentando di tanto in tanto finchè non trova la connessione nuovamente up?
Ho una connessione che di tanto in tanto tende a cadere.
Sono in grado di predisporre uno script che riconnetta automaticamente pur impiegando qualche manciata di secondi.
Risultato, wget esce dal download e nonostante la connessione sia stata riportata in piedi... troppo tardi wget è già terminato.
A me serve scaricare in modo non presidiato. Quale opzione devo dare a wget in modo che resti lì aspettando e ritentando di tanto in tanto finchè non trova la connessione nuovamente up?
- simplex
- Linux 2.x

- Messaggi: 327
- Iscritto il: mer 27 lug 2005, 0:00
- Slackware: current
- Desktop: xfce
- Contatta:
Re: wget "perpetuo"
fai uno script che ogni tot minuti controlla se e' ancora up oppure lo rilancia.
e usa rsync se puoi, wget fa un sacco di traffico inutile.
e usa rsync se puoi, wget fa un sacco di traffico inutile.
- joe
- Iper Master

- Messaggi: 3986
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: wget "perpetuo"
La soluzione che proponi è concettualmente la più semplice, avevo già pensato ad una cosa del genere, però comporta un sacco di traffico inutile:
per esempio sto scaricando il ramo stabile di slackware, si tratta di tanti files... e wget appena parte ovviamente deve ricontrollare tutte le subdir per capire la roba che ha già scaricato e per continuare dal punto in cui aveva smesso di scaricare a causa della linea caduta...
Invece se ci fosse un'opzione che consenta al programma di non chiudersi e di ritentare ogni tot anche se la connessione appare al momento down, questo consentirebbe di risparmiarci il controllo iniziale.
Inoltre si eviterebbe la necessità di uno script ulteriore, di test conseguenti, modifiche ecc ecc.
Rsync è qualcosa che funziona se supportato lato server. Non vi sono molti server rsync.
Wget funziona senza problemi sia via http che ftp (anche se via http non ho testato il download del ramo slackware).
Anche lato client sembra messo meglio, per esempio al momento ho condotto il download da windows, nonostante abbia cercato un clone di rsync, non ne ho trovato... invece wget funziona bene.
per esempio sto scaricando il ramo stabile di slackware, si tratta di tanti files... e wget appena parte ovviamente deve ricontrollare tutte le subdir per capire la roba che ha già scaricato e per continuare dal punto in cui aveva smesso di scaricare a causa della linea caduta...
Invece se ci fosse un'opzione che consenta al programma di non chiudersi e di ritentare ogni tot anche se la connessione appare al momento down, questo consentirebbe di risparmiarci il controllo iniziale.
Inoltre si eviterebbe la necessità di uno script ulteriore, di test conseguenti, modifiche ecc ecc.
Rsync è qualcosa che funziona se supportato lato server. Non vi sono molti server rsync.
Wget funziona senza problemi sia via http che ftp (anche se via http non ho testato il download del ramo slackware).
Anche lato client sembra messo meglio, per esempio al momento ho condotto il download da windows, nonostante abbia cercato un clone di rsync, non ne ho trovato... invece wget funziona bene.
- simplex
- Linux 2.x

- Messaggi: 327
- Iscritto il: mer 27 lug 2005, 0:00
- Slackware: current
- Desktop: xfce
- Contatta:
Re: wget "perpetuo"
capisco, allora ti consiglio lftp, sempre per il fatto che wget fa traffico per niente. davvero.
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: wget "perpetuo"
prova l'opzione timeout, guarda il man per i dettagli
però concordo con simplex che è la peggiore soluzione da adottare, tra l'altro i server rsync non saranno quanto quelli ftp, ma sono i principali e più aggiornati
per il discorso client su windows, cygwin per cominciare e poi ci sono vari client. Ma spero che ci siano client come lftp che fanno da mirroring in modo bidirezionale anche per windows
però concordo con simplex che è la peggiore soluzione da adottare, tra l'altro i server rsync non saranno quanto quelli ftp, ma sono i principali e più aggiornati
per il discorso client su windows, cygwin per cominciare e poi ci sono vari client. Ma spero che ci siano client come lftp che fanno da mirroring in modo bidirezionale anche per windows
- joe
- Iper Master

- Messaggi: 3986
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: wget "perpetuo"
Allora sono io che ignoravo la faccenda.
Credevo che un client come lftp fosse identico a wget per quanto riguarda il download da ftp.
- Domanda numero 1
Perchè esattamente lftp farebbe meno traffico? è parecchio che non lo uso e non ricordo cos'abbia di diverso rispetto wget... aparte che è anche interattivo se non ricordo male.
wget, lftp eccc ecc li usavo anche su windows nella vecchia installazione dove avevo un ambiente cygwin piuttosto carrozzato.
Tuttavia cygwin porta via spazio e nella mia installazione windows di test sono sui 7GB disponibili. Sto provando ad installare un parco software tagliato sulle mie esigenze anche per vedere quanto HD concedere a windows, contavo di stare nei 10GB..
Ci sarà pure qualcosa di compatibile e nativo, non ho cercato troppo bene forse. Ho installato wget e mi sono intestato a farlo funzionare al meglio. Evidentemente come dite anche voi nonè lo strumento migliore.
Però in parecchie guide (che comunque ok, non sono la bibbia) viene reclamizzato anche come strumento di mirroring di interi siti.
- Domanda numero 2
Getslack punta a moltissimi server "http" che predispongono il ramo/i slackware. Volendo sfruttare anche questo protocollo cosa si usa?
Credevo che un client come lftp fosse identico a wget per quanto riguarda il download da ftp.
- Domanda numero 1
Perchè esattamente lftp farebbe meno traffico? è parecchio che non lo uso e non ricordo cos'abbia di diverso rispetto wget... aparte che è anche interattivo se non ricordo male.
wget, lftp eccc ecc li usavo anche su windows nella vecchia installazione dove avevo un ambiente cygwin piuttosto carrozzato.
Tuttavia cygwin porta via spazio e nella mia installazione windows di test sono sui 7GB disponibili. Sto provando ad installare un parco software tagliato sulle mie esigenze anche per vedere quanto HD concedere a windows, contavo di stare nei 10GB..
Ci sarà pure qualcosa di compatibile e nativo, non ho cercato troppo bene forse. Ho installato wget e mi sono intestato a farlo funzionare al meglio. Evidentemente come dite anche voi nonè lo strumento migliore.
Però in parecchie guide (che comunque ok, non sono la bibbia) viene reclamizzato anche come strumento di mirroring di interi siti.
- Domanda numero 2
Getslack punta a moltissimi server "http" che predispongono il ramo/i slackware. Volendo sfruttare anche questo protocollo cosa si usa?
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: wget "perpetuo"
1) perché non scarica i vari index, etc... che ci sono anche in ftp, ma sinceramente wget per ftp non l'ho mai utilizzato.
Di diverso ha che è un client ftp
2) wget o curl, con le opzioni --connect-timeout (come ti ho detto guardo il man, altrimenti vai poco avanti), ma non la vedo la soluzione migliore.
p.s.
non conosco windows e non so se esistono programmi particolari che ti permettono di scaricare solo quel che vuoi, magari c'è qualcosa di nativo senza stare a fare il porting di qualcosa
Di diverso ha che è un client ftp
2) wget o curl, con le opzioni --connect-timeout (come ti ho detto guardo il man, altrimenti vai poco avanti), ma non la vedo la soluzione migliore.
p.s.
non conosco windows e non so se esistono programmi particolari che ti permettono di scaricare solo quel che vuoi, magari c'è qualcosa di nativo senza stare a fare il porting di qualcosa
- joe
- Iper Master

- Messaggi: 3986
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: wget "perpetuo"
Quell'opzione è la prima che avevo adocchiato solo che non funge come pensavo.
Ecco il comando che uso da propt del dosper scaricare il ramo stabile di slackware (13.1).
Però non sembra funzionare come pensavo... quando si disconnette da internet, non fa in tempo a riconnettersi che wget è terminato.
Farò una prova mirata magari.
Comunque a parte i vari index... che son files di testo abbastanza ridotti no... lo spreco di banda sta tutto lì?
EDIT:
prova al volo:
Praticamente, cosa ho fatto:
- ho avviato wget comedacomando soprariportato
- ho disconnesso manualmente la connessione remota ad internet
- wget se n'è accorto subito ritentando una seconda volta.
- ma, essendo ancora disconnesso, non è riuscito a risolvere l'indirizzo e questo l'ha indotto ad uscire
Ecco il comando che uso da propt del dosper scaricare il ramo stabile di slackware (13.1).
Codice: Seleziona tutto
wget --limit-rate=15k --dns-timeout=12000000 --connect-timeout=120000 --waitretry=5 -N -t 0 --retry-connrefused -r --no-parent -c -l inf -X "/slackware-13.1/extra/source","/slackware-13.1/pasture/source","/slackware-13.1/source","/slackware-13.1/testing" ftp://ftp.slackware.at/slackware-13.1/
Farò una prova mirata magari.
Comunque a parte i vari index... che son files di testo abbastanza ridotti no... lo spreco di banda sta tutto lì?
EDIT:
prova al volo:
Codice: Seleziona tutto
C:\software-win>wget --limit-rate=5k --connect-timeout=120000 -c ftp://ftp.slackware.at/slackware-13.1-iso/slackware-13.1-install-d1.iso
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = d:\Programmi\GnuWin32/etc/wgetrc
--2010-12-10 19:19:06-- ftp://ftp.slackware.at/slackware-13.1-iso/slackware-13.1-install-d1.iso
=> `slackware-13.1-install-d1.iso'
Risoluzione di ftp.slackware.at... 81.223.20.35
Connessione a ftp.slackware.at|81.223.20.35|:21... connesso.
Accesso come utente anonymous ... Login eseguito!
==> SYST ... fatto. ==> PWD ... fatto.
==> TYPE I ... fatto. ==> CWD /slackware-13.1-iso ... fatto.
==> SIZE slackware-13.1-install-d1.iso ... 619192320
==> PASV ... fatto. ==> RETR slackware-13.1-install-d1.iso ... fatto.
Lunghezza: 619192320 (591M)
0% [ ] 110.560 5,00K/s in 22s
2010-12-10 19:19:33 (5,00 KB/s) - Connessione dati: Connection reset by peer; Connessione di controllo chiusa.
Altro tentativo in corso.
--2010-12-10 19:19:34-- ftp://ftp.slackware.at/slackware-13.1-iso/slackware-13.1-install-d1.iso
(tentativo: 2) => `slackware-13.1-install-d1.iso'
Connessione a ftp.slackware.at|81.223.20.35|:21... fallito: Connection reset bypeer.
Risoluzione di ftp.slackware.at... fallito: Host not found.
wget: impossibile risolvere l'indirizzo dell'host "ftp.slackware.at"
C:\software-win>
- ho avviato wget comedacomando soprariportato
- ho disconnesso manualmente la connessione remota ad internet
- wget se n'è accorto subito ritentando una seconda volta.
- ma, essendo ancora disconnesso, non è riuscito a risolvere l'indirizzo e questo l'ha indotto ad uscire
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: wget "perpetuo"
--timeout=seconds
Set the network timeout to seconds seconds. This is equivalent to specifying --dns-timeout,
--connect-timeout, and --read-timeout, all at the same time.
When interacting with the network, Wget can check for timeout and abort the operation if it takes too
long. This prevents anomalies like hanging reads and infinite connects. The only timeout enabled by
default is a 900-second read timeout. Setting a timeout to 0 disables it altogether. Unless you know
what you are doing, it is best not to change the default timeout settings.
All timeout-related options accept decimal values, as well as subsecond values. For example, 0.1
seconds is a legal (though unwise) choice of timeout. Subsecond timeouts are useful for checking
server response times or for testing network latency.
- lamarozzo
- Linux 3.x

- Messaggi: 732
- Iscritto il: gio 14 lug 2005, 0:00
- Desktop: xfce
- Distribuzione: archlinux
- Località: Roma
Re: wget "perpetuo"
Non vorrei dire una stupidata ma non c'è anche il problema del timeout lato server? La porta sul server non dovrebbe chiudersi se la connessione è giù per troppo tempo? In questo caso non ci sarebbe molto da fare se non riaprire un'altra connessione.
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: wget "perpetuo"
il difetto di wget è proprio quello che non stabilisce una connessione con il server, ma per ogni file da controllare/scaricare ne apre una. Questo "difetto" può essere sfruttato come pregio, proprio per quel che chiede joe, anche se continuo a vederla come ultima sceltalamarozzo ha scritto:Non vorrei dire una stupidata ma non c'è anche il problema del timeout lato server? La porta sul server non dovrebbe chiudersi se la connessione è giù per troppo tempo? In questo caso non ci sarebbe molto da fare se non riaprire un'altra connessione.
- joe
- Iper Master

- Messaggi: 3986
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: wget "perpetuo"
Farò una prova con la sola opzione --timeout.
Ma un'osservazione più generale:
- Il ramo slackware viene rilasciato attraverso parecchi mirror http.
- come scaricarlo in locale? quale applicazione utilizzare, visto che a quanto dite wget non è lo strumento più indicato?
Ma un'osservazione più generale:
- Il ramo slackware viene rilasciato attraverso parecchi mirror http.
- come scaricarlo in locale? quale applicazione utilizzare, visto che a quanto dite wget non è lo strumento più indicato?
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: wget "perpetuo"
Come ti è già stato suggerito, usa rsync per sincronizzare una directory locale con una remota. Ora non mi ricordo un server rsync, ma anche se cerchi qui su Slacky lo trovi. Visto che ci sono i server, tanto vale utilizzarli.
Emanuele
:edit: guarda qui:
viewtopic.php?f=2&t=32175&p=280667#p280667
Emanuele
:edit: guarda qui:
viewtopic.php?f=2&t=32175&p=280667#p280667
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: wget "perpetuo"
Pippi.S. Ora che sono sul mio PC ti posto anche quello che uso io:in pratica sincronizzo la riderctory attuale "." con quella remota. Però guarda anche il file di filtraggio:in pratica lascio fuori un bel po' di cose. Mi prendo solo tutti i 'txz' dalle directory 'slackware64/' e 'extra/', poi prendo i file 'MANIFEST.bz2' e 'FILE_LIST' e, solo 'aspell-it'. Nient'altro, nota anche la mancanza delle directory 'k*', ovvero kde e i sorgenti del kernel 'k/'. Non usando kde e compilandomi i kernel a manina, quei file non mi interessano. Con questo script e con questo filtro per rsync, mi scarico e tengo aggiornati "solo", circa 920MB di roba.
Nota anche che io seguo la Slackware64, quindi se vuoi seguire la Slackware, tutta questa cosa va adattata.
Emanuele
Codice: Seleziona tutto
$> cat rsync.sh
rsync -hPi -a --delete --delete-excluded --filter='merge rsync-filter' rsync://rsync.slackware.org.uk/slackware/slackware64-current/ .Codice: Seleziona tutto
$> cat rsync-filter
P rsync.sh
P rsync-filter
+ /slackware64/
+ /extra/
- /*/
- k*/
- source/
+ */
+ aspell-it-*.t?z
- aspell-word-lists/*
+ *.t?z
+ MANIFEST.bz2
+ FILE_LIST
- *Nota anche che io seguo la Slackware64, quindi se vuoi seguire la Slackware, tutta questa cosa va adattata.
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- joe
- Iper Master

- Messaggi: 3986
- Iscritto il: ven 27 apr 2007, 11:21
- Slackware: 15.0
- Kernel: 5.15.38
- Desktop: dwm
Re: wget "perpetuo"
Ciao, e grazie per aver pubblicato il tuo script.
Come ho già detto sto lavorando da windows, per testare se il sistema è in ordine e quale software devo installare (il fine ècapire più o meno quanto spazio devo dedicare alla sua partizione... ma questa è un'altra storia).
Ho googolato un po' per cpaire se sia possibile usare rsync (l'originale) sotto windows. Ho visto diversi progetti che ne includerebbero però un'interfaccia, non ho approfondito troppo, per esempio cwrsync e altri.
Poi ho letto qualche guida sulla possibilità di scaricare pachetti dal repository cygwin al fine di creare un pacchetto essenziale per usare rsync e ssh... adesso non ricordo il link, ma è tra i primi risultati di google.
Allora mi sono detto, potrei crearmi un "pacchetto" con il solo rsync.
Non ho ancora testato nulla, ma alla fine l'eseguibile gira senza errori di dipendenze mancanti.
Come fare:
0- Praticamente occorre fare una directory comprensiva di tutti i files eseguibili e librerie necessare per farli funzionare.
Prendiamo i files necessari dal repository di cygwin, io ho usato tutte le versioni più recenti dei vari files, da uno dei tanti mirrors.
Per trovare i vari files è comodissimo questo motore di ricerca:
http://cygwin.com/packages/
oppure anche la chiave di rcerca
accompagnata dal nomedel file che ci manca.
1- Iniziamo con rsync, immettendo "rsync" nel motore di ricerca oteniamo:
http://cygwin.com/cgi-bin2/package-grep.cgi?grep=rsync
Che present un bel po' di roba tra cui il pacchetto rsync-versionepiùrecente.
Diamo un'occhiata a cosa contiene il pacchetto: provenendo da slackware tutto sembra piuttosto semplice da capire.
http://cygwin.com/cgi-bin2/package-cat. ... grep=rsync
In pratica saremo tutti d'accordo che ci basta:
Ok, scarichiamolo allora dal mirror scelto, per esempio:
http://ftp.univie.ac.at/packages/cygwin/release/rsync/
Se date un'occhiata al link, noterete che vi è in quella directory un file chiamato:
http://ftp.univie.ac.at/packages/cygwin ... setup.hint
Contiene ovviamente info sull'installazione di rsync, particolarmente utile è la riga:
Il che ci dice che per far girare rsync.exe che stiamo scaricando, occorreranno anche le librerie di dipendenza sopracitate.
2- scaricato rsync.exe, possiamo provare a lanciarlo e vederecosa manca.
ci viene detto che manca un file fondamentale cygwin1.dll. E' l alibreria fondamentale per far parlare i programmi di cygwin col sistema windows. Lo cerchiamo sempre col motore di ricerca sopra e lo scarichiamo dal mirror nella stessa directory in cui abbiamo rsync.exe.
3- riproviamo a lanciare l'eseguibile rsync.exe dal prompt del dos o con doppio click, penso sia la stessa cosa. Non funge perchè sta volta mancherà il file cygiconv-2.dll. Ne avevamo già il sospetto osservando il file "setup.hint" di rsync.
Quindi cechiamo e scarichiamo quel file nella nostra dir di lavoro. E facciamo lo stesso per gli altri assenti che nell'esempio di rsync saranno:
- cyggcc_s-1.dll
- cygpopt-0.dll
Ah... non ho detto che i files sono in pacchetto tar.bz2, quindi scarichiamo i pacchetti compressi ed estraiamo poi i files che ci servono, io ho usato 7zip in windows.
Ok. Insomma alla fine avremo la nostra directory che io ho chiamato rsync-files come segue
Voglio far notare il volume della directory... 4 MB di roba. Sì per ottenerla ne avremo scaricato qualcosina in più ma non di molto. Questo rispetto all'installazione di un ambiente cygwin completo...
Con slackware per installare il software non si fa in modo troppo diverso.
Il risultato è ilseguente:
Quindi alla fine sembra funzionare o almeno non dà errori relativi alla mancanza di qualcosa.
Va ovviamente testato meglio direi. Però se non altro l'idea potrebbe essere interessante, e non solo per rsync, ma più in generale per il porting di applicazioni unix sotto windows, senza mettere in piedi il completo cygwin.
Va notato che l'eseguibile .exe deve andare a pescare le librerie necessarie .dll nella directory di lavoro e non nel sistema, dove potrebbero esserci (specie se si ha un ambiente cygwin già installato) omonime librerie ma di versioni diverse magari non compatibili con la versione dell'eseguibile scaricato.
La gestione sul sistema windows:purtroppo non so costruire pacchetti per windows da integrare poi con il tool installazione applicazioni. Pertanto direi che questa versione "portabile" di rsync può essere installata dove si vuole c:\programmi\rsync-versione per esempio oppure anche lasciata dove si vuole.... insomma non è così indispensabile. Io non ho idea di come fare un installer per questo "pacchetto" ma se non è difficile e aveste voglia di spiegarlo sicuramente non guasterebbe.
Farò sapere come funziona:
a questo proposito, con wget ho ormai terminato di scaricare il ramo stabile di slackware-13.1 escludendo come già detto le directories:
testing
source
extra/source
pastures/source
pathces/source
Scompiazzando dallo scirpt di ansa89 presente nel wiki e volendo verificare praticamente che ci sia tutto e che sia tutto aggoirnato con un server rsync come posso fare per sincronizzare esattamente il mio ramo loacale /path/slackware-13.1/ con quello remoto, in modo che
1- tutti i files remoti più recenti di quelli locali, sovrascrivano quelli locali
2- tutti i files locali uguali a quelli remoti non vengano riscaricati
3- files locali in più tipo ".list" scaricati da wget vengano cancellati in quanto non presenti sul repo remoto (server rsync)
Andrebbe bene il comando seguente?
E' davvero tutto, scusate la lunghezza del post, spero nella vostra pazienza. 
Come ho già detto sto lavorando da windows, per testare se il sistema è in ordine e quale software devo installare (il fine ècapire più o meno quanto spazio devo dedicare alla sua partizione... ma questa è un'altra storia).
Ho googolato un po' per cpaire se sia possibile usare rsync (l'originale) sotto windows. Ho visto diversi progetti che ne includerebbero però un'interfaccia, non ho approfondito troppo, per esempio cwrsync e altri.
Poi ho letto qualche guida sulla possibilità di scaricare pachetti dal repository cygwin al fine di creare un pacchetto essenziale per usare rsync e ssh... adesso non ricordo il link, ma è tra i primi risultati di google.
Allora mi sono detto, potrei crearmi un "pacchetto" con il solo rsync.
Non ho ancora testato nulla, ma alla fine l'eseguibile gira senza errori di dipendenze mancanti.
Come fare:
0- Praticamente occorre fare una directory comprensiva di tutti i files eseguibili e librerie necessare per farli funzionare.
Prendiamo i files necessari dal repository di cygwin, io ho usato tutte le versioni più recenti dei vari files, da uno dei tanti mirrors.
Per trovare i vari files è comodissimo questo motore di ricerca:
http://cygwin.com/packages/
oppure anche la chiave di rcerca
Codice: Seleziona tutto
site:cygwin.com -ml1- Iniziamo con rsync, immettendo "rsync" nel motore di ricerca oteniamo:
http://cygwin.com/cgi-bin2/package-grep.cgi?grep=rsync
Che present un bel po' di roba tra cui il pacchetto rsync-versionepiùrecente.
Diamo un'occhiata a cosa contiene il pacchetto: provenendo da slackware tutto sembra piuttosto semplice da capire.
http://cygwin.com/cgi-bin2/package-cat. ... grep=rsync
In pratica saremo tutti d'accordo che ci basta:
Codice: Seleziona tutto
Fri Feb 19 19:20:57 2010 356878 usr/bin/rsync.exe
http://ftp.univie.ac.at/packages/cygwin/release/rsync/
Se date un'occhiata al link, noterete che vi è in quella directory un file chiamato:
http://ftp.univie.ac.at/packages/cygwin ... setup.hint
Contiene ovviamente info sull'installazione di rsync, particolarmente utile è la riga:
Codice: Seleziona tutto
requires: libgcc1 libiconv2 libpopt02- scaricato rsync.exe, possiamo provare a lanciarlo e vederecosa manca.
ci viene detto che manca un file fondamentale cygwin1.dll. E' l alibreria fondamentale per far parlare i programmi di cygwin col sistema windows. Lo cerchiamo sempre col motore di ricerca sopra e lo scarichiamo dal mirror nella stessa directory in cui abbiamo rsync.exe.
3- riproviamo a lanciare l'eseguibile rsync.exe dal prompt del dos o con doppio click, penso sia la stessa cosa. Non funge perchè sta volta mancherà il file cygiconv-2.dll. Ne avevamo già il sospetto osservando il file "setup.hint" di rsync.
Quindi cechiamo e scarichiamo quel file nella nostra dir di lavoro. E facciamo lo stesso per gli altri assenti che nell'esempio di rsync saranno:
- cyggcc_s-1.dll
- cygpopt-0.dll
Ah... non ho detto che i files sono in pacchetto tar.bz2, quindi scarichiamo i pacchetti compressi ed estraiamo poi i files che ci servono, io ho usato 7zip in windows.
Ok. Insomma alla fine avremo la nostra directory che io ho chiamato rsync-files come segue
Codice: Seleziona tutto
G:\software-newwin\utilities\rsync\rsync-files>dir
Il volume nell'unità G non ha etichetta.
Numero di serie del volume: 7C80-7757
Directory di G:\software-newwin\utilities\rsync\rsync-files
14/12/2010 11.15 <DIR> .
14/12/2010 11.15 <DIR> ..
13/08/2010 03.44 83.470 cyggcc_s-1.dll
23/12/2009 14.33 1.005.582 cygiconv-2.dll
09/06/2002 06.50 22.528 cygpopt-0.dll
31/08/2010 09.00 2.648.181 cygwin1.dll
19/02/2010 20.20 356.878 rsync.exe
5 File 4.116.639 byte
2 Directory 165.013.258.240 byte disponibili
Con slackware per installare il software non si fa in modo troppo diverso.
Il risultato è ilseguente:
Codice: Seleziona tutto
G:\software-newwin\utilities\rsync\rsync-files>rsync.exe --version
rsync version 3.0.7 protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.
Va ovviamente testato meglio direi. Però se non altro l'idea potrebbe essere interessante, e non solo per rsync, ma più in generale per il porting di applicazioni unix sotto windows, senza mettere in piedi il completo cygwin.
Va notato che l'eseguibile .exe deve andare a pescare le librerie necessarie .dll nella directory di lavoro e non nel sistema, dove potrebbero esserci (specie se si ha un ambiente cygwin già installato) omonime librerie ma di versioni diverse magari non compatibili con la versione dell'eseguibile scaricato.
La gestione sul sistema windows:purtroppo non so costruire pacchetti per windows da integrare poi con il tool installazione applicazioni. Pertanto direi che questa versione "portabile" di rsync può essere installata dove si vuole c:\programmi\rsync-versione per esempio oppure anche lasciata dove si vuole.... insomma non è così indispensabile. Io non ho idea di come fare un installer per questo "pacchetto" ma se non è difficile e aveste voglia di spiegarlo sicuramente non guasterebbe.
Farò sapere come funziona:
a questo proposito, con wget ho ormai terminato di scaricare il ramo stabile di slackware-13.1 escludendo come già detto le directories:
testing
source
extra/source
pastures/source
pathces/source
Scompiazzando dallo scirpt di ansa89 presente nel wiki e volendo verificare praticamente che ci sia tutto e che sia tutto aggoirnato con un server rsync come posso fare per sincronizzare esattamente il mio ramo loacale /path/slackware-13.1/ con quello remoto, in modo che
1- tutti i files remoti più recenti di quelli locali, sovrascrivano quelli locali
2- tutti i files locali uguali a quelli remoti non vengano riscaricati
3- files locali in più tipo ".list" scaricati da wget vengano cancellati in quanto non presenti sul repo remoto (server rsync)
Andrebbe bene il comando seguente?
Codice: Seleziona tutto
rsync -avzh --progress --delete --delete-after \
--exclude="source" \
--exclude="extra/source" \
--exclude="pasture/source" \
--exclude="testing" \
--exclude="patches/source" \
$RSYNC_URL/slackware-13.1/ $LOCAL_PATH/slackware-13.1/