Files omonimi in release differenti di slack e rsync

Postate qui per tutte le discussioni legate a Linux in generale.

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.
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Files omonimi in release differenti di slack e rsync

Messaggio da joe »

Ciao a tutti.
Mi chiedevo se i files contenuti nelle directory corrispondenti di due release di slackware siano tutti diversi tra loro.
Mi spiego subito con un esempio:

Prendiamo un mirror che distribuisce slackware

ftp://slackware.osuosl.org/pub/slackware

e consideriamo le due directory
slackware-12.0/
e
slackware-12.1/

Ora, alcuni pacchetti hanno la versione invariata dall'una all'altra release e presentano esattamente lo stesso nome.
Per esempio:

Codice: Seleziona tutto

lftp slackware.osuosl.org:/pub/slackware> ls slackware-12.1/slackware/a/sysklogd*
-rw-r--r--    1 10001    10001       61189 Apr 09  2007 sysklogd-1.4.1-i486-10.tgz
-rw-r--r--    1 10001    10001         189 Apr 09  2007 sysklogd-1.4.1-i486-10.tgz.asc
-rw-r--r--    1 10001    10001         457 Apr 09  2007 sysklogd-1.4.1-i486-10.txt
lftp slackware.osuosl.org:/pub/slackware> ls slackware-12.0/slackware/a/sysklogd*
-rw-r--r--    1 10001    10001       61189 Apr 09  2007 sysklogd-1.4.1-i486-10.tgz
-rw-r--r--    1 10001    10001         189 Apr 09  2007 sysklogd-1.4.1-i486-10.tgz.asc
-rw-r--r--    1 10001    10001         457 Apr 09  2007 sysklogd-1.4.1-i486-10.txt
L'esempio sopra come si vede non ha solo stesso nome, ma anche stessa dimensione. Tanto da farmi venire il sospetto che i due file siano identici.
In effetti sia confrontando l'md5sum che il sha1sum, usando diff e pure cmp, pare proprio che i due file siano uguali.

Pensavo che le due releas, utilizzando un'altra versione di libgc, avessero files differenti a livello per lo meno di struttura digitale, se non anche di dimensione....e questo ritrovare lo stesso file in due "rami" differenti m'h un po' confuso.

Potreste aiutarmi a capire un attimo meglio la questione?
So che il ragionamento potrebbe avere poco senso ma avrei un problemino con rsync e diversi dubbi...però non voglio mettere troppa roba nelld stesso post, preferisco parlarne in seguito.

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Files omonimi in release differenti di slack e rsync

Messaggio da conraid »

Pat non ricompila tutto, se ti leggi il changelog capisci cosa è cambiato dalla versione precedente.
Scelte discutibile, diversa da quella fatta qui per i pacchetti per esempio, ma è una scelta. Un programma del resto continua a funzionare ugualmente.
Alcuni programmi non sono nemmeno aggiornati (getmail, systat, etc...) e questo è meno comprensibile. O li togli o li tieni aggiornati, il tutto "nella mia umile opinione"

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Files omonimi in release differenti di slack e rsync

Messaggio da Mario Vanoni »

conraid ha scritto:Pat non ricompila tutto, se ti leggi il changelog capisci cosa è cambiato dalla versione precedente.
Scelte discutibile, diversa da quella fatta qui per i pacchetti per esempio, ma è una scelta. Un programma del resto continua a funzionare ugualmente.
Alcuni programmi non sono nemmeno aggiornati (getmail, systat, etc...) e questo è meno comprensibile. O li togli o li tieni aggiornati, il tutto "nella mia umile opinione"
Esatto, prendi sysstat:
12.0 sysstat-7.0.0
12.1 sysstat-7.0.0

la versione attuale stabile e` sysstat-8.04

Amico (e beta tester) di Sebastien Godard da >10 anni,
ho su tre macchine sysstat-8.1.3 (development)
e funzionano da una settimana prima della pubblicazione perfettamente,
la nuova opzione di sar -d [1 0] e` molto informativa.

L'ho fatto notare a Sebastien, ma non vuole immischiarsi,
e` la distro che deve aggiornarsi a detta sua,
ho mandato una mail a PJV, ovviamente nessuna risposta.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Files omonimi in release differenti di slack e rsync

Messaggio da joe »

Ok, questa spiegazione è sufficiente a farmi tornare i conti.
In pratica il file nell'esempio che riportato (sysklog) non è stato ricompilato...giusto? Pertanto non vengono fuori differenze usando diff o cmp o i vari md5sum e shasum.

---
Avevo chiesto questo, per via di un idea (che con la conferma che hai dato prima pare esser azzeccata)....
In pratica (non so se ricordi la discussione sulla creazione di una iso di slackware minimale) in una directory locale avevo scaricato parte del "ramo 12.0".
Avevo usato rsync con l'opzione --file-from=LISTA.TXT in cui in LISTA.TXT erano contenuti i percorsi di tutti e soli i file cui ero interessato.

Ora vorrei fare la stessa cosa per la 12.1 Quindi mi sono costruito la lista dei files coi pacchetti di cui ho bisogno ecc ecc.
Fatto questo ho pensato: "se nelle 2 directory (12.1 e 12.0) ci sono files uguali (avendo la 12.0 in locale) allora potrei risparmiare un po' di banda usando rsync: come directory remota metto la 12.1 e come directory locale la 12.0 che ho già, così se ci sono dei doppioni di file evito di riscaricarli.
Fatto questo mi ritrovo la directory vecchia, quella della 12.0 con file in più e i vecchi file.
Avevo usato anche l'opzione --delete di rsync sperando di eliminare automaticamente i vecchi files non più presenti nella nuova dir remota (non so se mi sono spiegato...), invece non è stato così e la vecchia dire era sovrappopolata da files vecchi che non mi servivano.
Allora ho riusato rsync in locale usando come sorgente la vecchia directroy (quella della 12.0) e come destinazione una nuova directory (slackware-12.1) vuota. Ho mantenuto la lista dei files LISTA.TXT, e ho lancitao rsync:

resync -avz --delete --delete-after --file-from=LISTA.TXT slackware-12.0/ slackware-12.1/

In pratica dovrebbero essere confluiti nella 12.1 tutti i files della lista presenti in 12.0. Giusto?
E alla fine della fiera dovrei ritrovarmi nella directory slackware-12.1/ i file della lista presenti sul mirror remoto. Giusto?
In effetti per provare questo fatto ho rifatto rsync dal repo remoto della 12.1 alla dir locale sempre della 12.1: non è stato scaricato nessun file....penso che sia buon segno. Cosa ne dite? qualche conferma sulla bonta della directory locale in modo da masterizzarla correttamente mi farebbe piacere.
Anticipo che la iso l'ho già creata e fatta girare con quemu...pare tutto apposto ma il vostro parere mi farebbe piacere.

Visto questo pasticcio che ho combinato, dite che mi conviene riscaricare con rsync usando una dir locale VUOTA come destinazione? Oppure posso fidarmi della dir 12.1 già presente (tanto più per via delle conferme di qemu)???

Aspetto con fiducia una vostra risposta. ;)

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Re: Files omonimi in release differenti di slack e rsync

Messaggio da danix »

non uso da tantissimo rsync, ma ci sto avendo parecchio a che fare in questi giorni quindi ce l'ho fresco come argomento... detto questo, perchè metti 2 opzioni per cancellare??
joe ha scritto:resync -avz --delete --delete-after --file-from=LISTA.TXT slackware-12.0/ slackware-12.1/
secondo me basta --delete-after...
infine, se hai lanciato rsync nella dir 12.1 con i files che avresti voluto scaricare e non ha scaricato o cancellato nulla secondo me va bene... se poi dici di aver provato con qemu e tutto funziona sei abbastanza tranquillo...
In ogni caso se vuoi vedere quello che farebbe rsync puoi usare l'opzione --dry-run assieme a -v che ti da un output di tutto quello che farebbe senza però fare nulla in realtà... In più se usi l'opzione --log-file=FILE tutto l'output di rsync viene "appeso" ad un FILE di log a tua scelta che ti permette di andare a ricontrollare in seguito tutto quello che è successo...

ciau
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Files omonimi in release differenti di slack e rsync

Messaggio da joe »

danix85 ha scritto: perchè metti 2 opzioni per cancellare??
joe ha scritto:resync -avz --delete --delete-after --file-from=LISTA.TXT slackware-12.0/ slackware-12.1/
secondo me basta --delete-after...
http://www.slacky.eu/wikislack/index.ph ... _Slackware

dai un'occhiata a come viene consigliato di richiamare rsync....avevo scopiazzato un po' da lì.

Ad ogni modo sono due opzioni diverse:
man rsync ha scritto: --delete delete files that don't exist on sender
--delete-before receiver deletes before transfer (default)
--delete-during receiver deletes during xfer, not before
--delete-after receiver deletes after transfer, not before
--delete-excluded also delete excluded files on receiver
--ignore-errors delete even if there are I/O errors
In pratica omettendo il delete-after, adotterebbe il default ovvero --delete-before.
Anche se non capisco bene l'opzione --delete in se:
dice: "cancella i files che non esistono sul "sender"" cosa intende di preciso?

Il discorso è questo scusate l'esempio:

dir locale: L
dir remota: R
L contiene: pippo, paperino, pluto
R contient: pippo, paperone, nonnapapera + altri-files

voglio fare in modo che rsync sincronizzi la locale con la remota in modo che la locale contenga

pippo
paperone
nonnapapera

con l'accortezza (ma questo penso sia automatico) che:
se il "pippo" inizialmente in L fosse uguale a quello in R allora non venga riscaricato
altrimenti se indipendentemente dall'omonimia e dimensioni, fosse differente, allora venga riscaricato e sovrascritto.

Con l'opzione --files-from=LISTA ho messo in LISTA pippo, paperone, nonnapapera.
Pensavo che lopzione delete mi cancellasse papereino e pluto, invece sono ancora presenti nella locale dopo il rsync.....
Avete idee? qualche riga di spiegazione sarebbe preziosa.

infine, se hai lanciato rsync nella dir 12.1 con i files che avresti voluto scaricare e non ha scaricato o cancellato nulla secondo me va bene... se poi dici di aver provato con qemu e tutto funziona sei abbastanza tranquillo...
Ma, penso anch'io anche alla luce dei controlli che ho fatto con diff md5sume via dicendo...a quanto pare quei file sono identici a quelli remoti e questo significa che la directory locale dovrebbe essere corretta e la iso creata ok...ma speravo in qualche conferma ulteriore, per questo ho postato.
Grazie mille anche per gli altri consigli.

Saluti. :)

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Files omonimi in release differenti di slack e rsync

Messaggio da conraid »

joe ha scritto:
danix85 ha scritto: perchè metti 2 opzioni per cancellare??
joe ha scritto:resync -avz --delete --delete-after --file-from=LISTA.TXT slackware-12.0/ slackware-12.1/
secondo me basta --delete-after...
[...]
In pratica omettendo il delete-after, adotterebbe il default ovvero --delete-before.
Lui ti ha detto il contrario, cioè di togliere --delete e non --delete-after.
Comunque puoi lasciarli entrambi, male non fa.
joe ha scritto: Anche se non capisco bene l'opzione --delete in se:
dice: "cancella i files che non esistono sul "sender"" cosa intende di preciso?
Se tu hai dei files per un progetto (quindi nella directory origine, sender) e da quel progetto togli 5 file e ne aggiungi altri 6, quella funzione fa sì che oltre a scaricare i nuovi 6 files ti cancella i 5 anche nella directory di destinazione.
joe ha scritto: Con l'opzione --files-from=LISTA ho messo in LISTA pippo, paperone, nonnapapera.
Pensavo che lopzione delete mi cancellasse papereino e pluto, invece sono ancora presenti nella locale dopo il rsync.....
Avete idee? qualche riga di spiegazione sarebbe preziosa.
Quel che vuoi lui te lo fa in automatico. Cioè cancellare cosa non c'è più.
Ma... c'è un ma bello grosso.

Se leggi il man vedi che con --files-from, include o exclude sono esclusi dal delete i file non presenti nella lista, quindi dovresti usare anche --delete-excluded

Files that are excluded from transfer are also excluded from being deleted unless you use
the --delete-excluded option or mark the rules as only matching on the sending side

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Files omonimi in release differenti di slack e rsync

Messaggio da joe »

conraid ha scritto:
Quel che vuoi lui te lo fa in automatico. Cioè cancellare cosa non c'è più.
Ma... c'è un ma bello grosso.

Se leggi il man vedi che con --files-from, include o exclude sono esclusi dal delete i file non presenti nella lista, quindi dovresti usare anche --delete-excluded

Files that are excluded from transfer are also excluded from being deleted unless you use
the --delete-excluded option or mark the rules as only matching on the sending side
Avevo pensato anch'io a questo fatto però provando non ho ottenuto il risultato sperato....
Ti/Vi propongo l'esempio seguente:
- abbiamo due dir "a" e "c".
- vogliamo sincronizzare alcuni files di "a" verso "c" in modo che c contenga solo quei files specificati nella solita lista.
- a contiene ovviamente i files che ci interessano + altri
- c contiene (per esempio) i file che ci interessano (ma magari sono da aggiornare) + altra roba che vorremmo fosse eliminata da rsync perchè non compresa nella lista.
Riporto l'esempio pratico di quanto ottengo:

Codice: Seleziona tutto

[xxx@xxx prove]$ ls a c
a:
altri_files  paperino  paperone  pippo

c:
paperino  paperone  pippo  pluto  topolino
[xxx@xxx prove]$ cat lista
paperino
paperone
pippo
[xxx@xxx prove]$ rsync -avz --files-from=lista --delete-excluded a/ c/
building file list ... done

sent 104 bytes  received 20 bytes  248.00 bytes/sec
total size is 0  speedup is 0.00
[xxx@xxx prove]$ ls c
paperino  paperone  pippo  pluto  topolino
[xxx@xxx prove]$
Come si vede, nonostante l'utilizzo dell'opzione --delete-excluded i file in eccesso nella destinazione rispetto a quelli della lista non vengono comunque eliminati....
Che dite? Non ho ancora capito il meccanismo....

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Re: Files omonimi in release differenti di slack e rsync

Messaggio da danix »

forse ti sei dimenticato --delete... ma a questo punto non ne sono troppo sicuro...
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Files omonimi in release differenti di slack e rsync

Messaggio da joe »

danix85 ha scritto:forse ti sei dimenticato --delete... ma a questo punto non ne sono troppo sicuro...
No, avevi ragione tu prima, anche con il --delete non funge, ommeglio non fa quello che m'aspettavo.

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Re: Files omonimi in release differenti di slack e rsync

Messaggio da danix »

quindi hai risolto?? se si posta che sono curioso di vedere come hai fatto...


bye
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Files omonimi in release differenti di slack e rsync

Messaggio da conraid »

joe ha scritto:

Codice: Seleziona tutto

$ cat lista
paperino
paperone
pippo
Ma lista è davvero così?

Perché se fai --exclude-file o --include-file ok, altrimenti devi mettere qualcosa come

+paperino
+papero
-pippo

Leggi la sezione FILTER RULES del man

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Files omonimi in release differenti di slack e rsync

Messaggio da joe »

Sì la lista l'ho costruita proprio così e a parte tutto funziona, nel senso che i file vengono trasferiti ecc, ma non funziona precisamente come vorrei io.
Mi sa che il problema non è quella lista....ho letto un po' il man, ma nonparla di quei filtri relativamente al'opzione --files-from.
Comunque ho fatto la prova pratica che vi riporto di seguito.

Codice: Seleziona tutto

[xxx@xxx prove]$ ls a c
a:
altri_files  paperino  paperone  pippo

c:
paperino  paperone  pippo  pluto  topolino
[xxx@xxx prove]$ cat lista
+paperino
+paperone
+pippo
[xxx@xxx prove]$ rsync -avz --files-from=lista --delete --delete-excluded a/ c/
building file list ... rsync: link_stat "/home/xxx/downloads/prove/a/+paperino" failed: No such file or directory (2)
rsync: link_stat "/home/xxx/downloads/prove/a/+paperone" failed: No such file or directory (2)
rsync: link_stat "/home/xxx/downloads/prove/a/+pippo" failed: No such file or directory (2)
done

sent 29 bytes  received 20 bytes  98.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files could not be transferred (code 23) at main.c(892) [sender=2.6.8]
[xxx@xxx prove]$
L'errore che dà mi fa pensare che quella sintassi (+, -, ecc) per filtrare il file non è compatibile con l'opzione --files-from=FILE che a questo punto, penso voglia proprio il percorso dei singoli files o directories.
Quindi nulla di fatto:
il --delete-excluded non fa quello che vorrei a quanto pare. :|

Mi viene anche il dubbio che magari non ci siamo capiti bene....avete chiaro l'obiettivo che ho in mente?
Cioè il risultato che vorrei raggiungere dovrebbe essere:

Codice: Seleziona tutto

[xxx@xxx prove]$ ls c
paperino  paperone  pippo
Ovviamente ho scritto quest'ltimo qui sul form, non ricopiato da shell è un esempio del risultato che spererei di ottenere....
Non riesco proprio a capire...eppure è una operazione tutto sommato semplice:
collegati al sender
cerca sul sender i file della lista e confrontali con quelli locali omonimi
aggiorna sovrascrivendoli gli omonimi
cancella tutto il resto dalla dir locale.

Non riesco neanche a trovare esempi simili in rete...
Mi pare tutto sommato un buon metodo per tirare giù precisamente i file desiderati dal mirror slackware voluto, ma se funziona solo con la dir di destinazione vuota, allora non è il massimo della vita. :?

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Files omonimi in release differenti di slack e rsync

Messaggio da conraid »

Prova con

+ /paperino
+ /paperone
+ /pippo
- *

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Files omonimi in release differenti di slack e rsync

Messaggio da joe »

conraid ha scritto:Prova con

+ /paperino
+ /paperone
+ /pippo
- *
Avevo già provato anche con lo spazio, ma non con l'asterisco in fondo...ad ogni modo riprovando da sempre errore:

Codice: Seleziona tutto

$ cat lista
+ paperino
+ paperone
+ pippo
- *
$ rsync -avz --files-from=lista --delete --delete-excluded a/ c/
building file list ... rsync: link_stat "/home/xxx/downloads/prove/a/+ paperino" failed: No such file or directory (2)
rsync: link_stat "/home/xxx/downloads/prove/a/+ paperone" failed: No such file or directory (2)
rsync: link_stat "/home/xxx/downloads/prove/a/+ pippo" failed: No such file or directory (2)
rsync: link_stat "/home/xxx/downloads/prove/a/- *" failed: No such file or directory (2)
done

sent 29 bytes  received 20 bytes  98.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files could not be transferred (code 23) at main.c(892) [sender=2.6.8]

Rispondi