Newsgroup: it.comp.os.linux.sys
Titolo: flag archive su NTFS

sapete come impostare questo flag?
Situazione:
con 'cp -r' copo dei file da XFS verso NTFS.
Dopo aver copiato lancio: rsync -avr --no-p --no-g . /my/ntfs/media/
E lui sovrascrive nuovamente i file per poi (secondo la mia deduzione)
impostarci sopra il flag archive (-a).
A questo punto è tutto a posto e una ulteriore passata di 'rsync' non
copia più niente perché trova i file a posto.
La deduzione è comunque giusta perché se ometto il flag '-a' l'rsync
copia sempre, e poi ancora sempre all'infinito.
Sarà una cavolata ma non sto trovando il modo per farlo fare a Linux.
Potrei montare il disco USB su Windows e usare quindi il comando
"attrib", ma deve esserci un modo anche in linux.
In alternativa (non l'ho ancora provato) potrei usare l'md5 in luogo
del flag archive, però mi pare che dovrei impiegare molto più tempo a
verificare la copia.
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
  printf $i }'; echo

 
diamine, ma puo' essere che solo 'rsync' è in grado di impostare questo
flag? ggrrrhh.
ho provato 'mattrib' ma su NTFS non sono riuscito a farlo funzionare
(credo che voglia la FAT).


 (credo che voglia la FAT).
setfattr, e' spiegato in questa pagina:
http://pagesperso-orange.fr/b.andre/extend-attr.html
nel paragrafo "NTFS Attributes"
(se capisco quello che vuoi fare)

Il giorno Sun, 28 Jun 2009 20:19:07 +0100
antani <ant...@mail.not> ha scritto:

Hai capito, ma esattamente al contrario :)
Non devo impostare attributi estesi su XFS, bensì il flag archive su
NTFS.
Se 'rsync -a' riesce a farlo allora deve poterlo fare anche
qualcos'altro.
Dai che ti devo già diverse birre, se mi trovi anche questo aggiungine
un'altra sul mio conto :) 


 NTFS.
Veramente mi pare proprio quello che e' descritto in quella pagina:
# Set the NTFS read-only flag to file target-file (on a small-endian
computer)
setfattr -h -v 0x01000000 -n system.ntfs_attrib target-file
in base alla tabella che c'e' sopra, per il flag archive dovrebbe essere una
cosa cosi':
# Set the NTFS archivey flag to file target-file (on a small-endian
computer)
setfattr -h -v 0x20000000 -n system.ntfs_attrib target-file
non e' comunque difficile fare alcune prove per vedere se funziona.

 non e' comunque difficile fare alcune prove per vedere se funziona.
Questo mi era sfuggito, però non mi sta funzionando lo stesso:
$ setfattr -h -v 0x20000000 -n system.ntfs_attrib '01 - Chan Chan.mp3' 
setfattr: 01\040-\040Chan\040Chan.mp3: Operazione non supportata
Poniamo caso che funzioni come con le ACL allora ho provato anche con
questo prima:
$ mount -o remount,user_xattr /bla/bla
C'è da dire che 'rsync' mi imposta il parametro senza che io abbia
montato il filesystem con il supporto per gli attributi estesi.
C'è ancora qualcosa da capire.


 C'è ancora qualcosa da capire.
strace rsync dovrebbe mostrarti almeno che system call esegue per fare cio'.

 setfattr: 01\040-\040Chan\040Chan.mp3: Operazione non supportata
Ah, e credo che quella pagina presupponga che il filesystem NTFS sia montato
con ntfs-3g.

 Max_Adamo wrote:

Io _uso_ ntfs-3g, perché scrivo su quel drive.
/dev/sdc3 on /media/IomegaNTFS type fuseblk
(rw,nosuid,nodev,allow_other,blksize=4096,user_xattr)


 Max_Adamo wrote:

Questa è la cosa più interessante che riesco a notare dall'output di
strace:
open("/lib/libattr.so.1", O_RDONLY)     = 3
read(3,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\r\0\0004\0\0\0L"...,
512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=17796, ...}) = 0
mmap2(NULL, 20584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xb7db4000 mmap2(0xb7db8000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb7db8000
close(3)                                = 0 mmap2(NULL, 4096,
PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7db3000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7db36c0,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
Mi inizia a sorgere il dubbio che si tratta di qualcosa che in Linux
non è stato implementato, e che la funzionalità sia stata inmplementata
solo in rsync, perché è utilizzata da molti per i backup su
condivisioni samba e partizioni win.


 qualcos'altro.
Forse mattrib, presente nel pacchetto mtools. Tieni comunque presente
che sia ntfsinfo che ntfscp ti permettono di visualizzare (il
primo) e di impostare (il secondo) gli attributi NTFS
Enrico