Fórum Root.cz
Hlavní témata => Software => Téma založeno: Jiri J. 04. 09. 2010, 22:01:59
-
Udělal jsem si live USB flash se SystemRescueCD.
Chtěl jsem kopírovat obsah externího fat32 disku na logický disk ntfs.
Nejdřív jsem zkusil dd - nevím proč nechtěl provést dd if=/mnt/backup of=/mnt/disk tak jsem našel rsync.
Namountoval jsem NTFS disk sda5 přes ntfs-3g /dev/sda5 /mnt/disk
rsync -a /mnt/backup/ /mnt/disk
parametr -a by měl kopírovat všechny soubory i s právy, všech 80GB se zkopírovalo.
Pak pro jistotu jsem provedl porovnání find -type f -exec cmp {} /mnt/disk/{} \;
a byl jsem nepříjemě překvapen, že se názvy souborů s diakritikou změnily na ?? (např. "Nov? slo?ka").
Jaký nástroj či distribuci použít aby toto nehrozilo?
Díky za rady
-
FAT32 je potřeba připojit s atributy codepage=852,iocharset=utf8
-
Chtěl jsem kopírovat obsah externího fat32 disku na logický disk ntfs.
Nejdřív jsem zkusil dd - nevím proč nechtěl provést dd if=/mnt/backup of=/mnt/disk ...
dobrý vtip. opravdu myslíte vážně, že by kopie dat z fat32 přes dd fungovala na ntfs? :-)
parametr -a by měl kopírovat všechny soubory i s právy, všech 80GB se zkopírovalo.
a odkdy umí fat32 nastavovat práva? :-)
-
dobrý vtip. opravdu myslíte vážně, že by kopie dat z fat32 přes dd fungovala na ntfs? :-)
No to pochopitelně nevím, v man dd nic takového není a jak já to mám zjistit? Pokud namountuju disk přes ntfs-3g a můžu na něj zapisovat, tak počítám že na něj zapíše i dd.
a odkdy umí fat32 nastavovat práva? :-)
Parametr -a má znamenat archive, tedy nejenom práva, ale i příznaky atp.
-
Nejdřív jsem zkusil dd - nevím proč nechtěl provést dd if=/mnt/backup of=/mnt/disk tak jsem našel rsync.
...
No to pochopitelně nevím, v man dd nic takového není a jak já to mám zjistit? Pokud namountuju disk přes ntfs-3g a můžu na něj zapisovat, tak počítám že na něj zapíše i dd.
beru zpět, takhle by se to chovalo při kopírování z/do /dev/něco..
/mnt/backup ani /mnt/disk ale nejsou soubory, tj. kopírování přes dd moc fungovat nemůže :) (a je určený spíše pro kopie speciálních znakových/blokových zařízení v /dev/* než finálních souborů)
Parametr -a má znamenat archive, tedy nejenom práva, ale i příznaky atp.
ano, pokud na zdrojovém FS nějaká práva budou :) a i tak by se zkopírovaly pouze ty unixové, tj. ne NTFS..
-
Navedl mě KIT, díky
FAT32 je potřeba připojit s atributy codepage=852,iocharset=utf8
Tak jsem potrápil strýčka google, našel jsem diskuzi http://www.abclinuxu.cz/blog/bohous/2005/6/pripojeni-wokennich-disku-s-cestinou (http://www.abclinuxu.cz/blog/bohous/2005/6/pripojeni-wokennich-disku-s-cestinou), V SystemRescueCD jsem podle ní namountoval fat disk sda2: mount -o ro,iocharset=iso8859-2,codepage=852 /dev/sda2 /mnt/hdd
Dále NTFS disk sda5 pomocí ntfs-3g: mount -t ntfs-3g -o nls=nls_utf8 /dev/sda5 /mnt/ntfs
Na sda2 mám adresář pok/příliš žluťoučký kůň pěl ďábelské ódy. Zkusil jsem pomocí rsync tento adresář kopírovat: rsync -a /mnt/hdd/ /mnt/ntfs
Bohužel rsync vyhodil hlášku:
...failed: Invalid or incomplete multibyte or wide character (84) *** Skipping any contents from this failed directory ***
Je mi jasné, že jde o špatně nastavené codepage nebo znakovou sadu nebo tak něco, ale nevím jak to nastavit správně. Ještě zkusím znovu namountovat fat s iocharset=utf8 a uvidím.
-
Ok tak namountování FAT32 disku s parametrem iocharset=utf8 problém vyřešilo
mount -o ro,iocharset=utf8,codepage=852 /dev/sda2 /mnt/hdd
Ale vůbec nevím proč to tak je, chtělo by to mít nějakou knížku, kde je to srozumitelně vysvětleno.
PS možná by se hodilo tuhle diskuzi přesunout do jiné sekce než software