Portál AbcLinuxu, 14. května 2025 01:05

Dotaz: Modifikace ctime pri kopirovani souboru na vfat

26.2.2007 17:55 Drašar | skóre: 27 | Velký Týnec
Modifikace ctime pri kopirovani souboru na vfat
Přečteno: 204×
Odpovědět | Admin
Zdravim. Nevite nahodou nekdo jak pri kopirovani souboru na vfat zaridit, aby zustal zachovan ctime? cp -p to zvladne z vfat na ext3 bez problemu, ale naopak se mi cas prepise :-(
Patička
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.2.2007 19:25 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Modifikace ctime pri kopirovani souboru na vfat
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevěřím, že cp -p zachová ctime. Mohu vidět důkaz? To je totiž vlastnost inodu. Dále se domnívám, že vfat nerozlišuje mezi ctime a mtime. Uchovává si pouze jeden čas, takže ctime i mtime se zobrazí jako stejné.
27.2.2007 00:28 Drašar | skóre: 27 | Velký Týnec
Rozbalit Rozbalit vše Re: Modifikace ctime pri kopirovani souboru na vfat
Ano, mas pravdu. cp -p ctime opravdu meni, spletl jsem si to s mtimem :-/. Nicmene vfat mezi ctime a mtime rozlisuje (fctime, ctime, cdate, adate, mtime, mdate). Kdyz soubor zkopiruju pod Win XP, tak ctime i mtime zustanou zachovany (samozrejme i datumy), pod Linuxem bohuzel ani jeden (nebo aspon nevim jak na to).
Patička
27.2.2007 15:22 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Modifikace ctime pri kopirovani souboru na vfat
Asi to neni naimplementovane:

/usr/src/linux/fs/vfat/namei.c:
static int vfat_build_slots(struct inode *dir, const unsigned char *name,
          int len, int is_dir, int cluster,
          struct timespec *ts,
          struct msdos_dir_slot *slots, int *nr_slots)
{
/*…*/
  fat_date_unix2dos(ts->tv_sec, &time, &date);
  de->time = de->ctime = time;
  de->date = de->cdate = de->adate = date;
/*…*/
}
28.2.2007 12:58 Drašar | skóre: 27 | Velký Týnec
Rozbalit Rozbalit vše Re: Modifikace ctime pri kopirovani souboru na vfat
Tak zdrojaky jsem nestudoval, ale zjistil jsem, ze naimplementovane to evidentne je :-). Problem byl v tom, ze mtime se modifikuje v pripade, kdyz soubor kopiruji uzivatelem s UID ruznym od UID vlastnika souboru pripojene vfat (i kdyz mam umask=000). Tohle samozrejme neplati pro roota.
Patička
31.8.2008 21:04 ubuntu
Rozbalit Rozbalit vše Re: Modifikace ctime pri kopirovani souboru na vfat
Tento příspěvek mi velmi pomohl. Potřeboval jsem skopírovat data z CF na FAT32 a zachovat datum i čas souborů. Stačilo tedy použít sudo cp -p atd.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.