LinuxForum.Fans
Тема

чем лучше копировать?

Автор: Coldead 63 сообщений 12408 просмотров 🔒 закрыта
#129547
Fat-Zer написал:
в итоге остался немного разочарован скоростью

tar без сжатия работает обычно быстрее cp.

bobr написал:
нтфс использует утф-8 и в линуксе и в венде.

возможно дело в размере файла. в MSDN я не нашёл сколько там, но в исходниках венды встречается цифра 265. Доподлинно известно, что в Linux'е ровно 256, при этом формат ASCIIZ, т.е. нам остаётся 255 букв нерусского алфавита, либо 127 русского.
bobr, зря вы так уверенны в венде - документация к венде часто врёт.

И ещё: считается полный путь, потому в венде можно распаковать файл в C://, а в линуксе нельзя в /home/user/.wine/drive_c/disk_c/
распаковывайте такое в /tmp/

#129550
drBatty написал:
bobr, зря вы так уверенны в венде - документация к венде часто врёт.

документация ни при чем. Достаточно посмотреть на MFT NTFS'а в любом шестнадцатеричном редакторе. Имена файлов там в утф-8.
upd: возможно, не утф-8, а утф-16, сейчас не имею возможности проверить.

#129551
drBatty написал:
разве что-то изменилось? а что я такого не заметил? речь точно про tar?
какая ошибка?

Да изменилось, я уже не качаю такие архивы))

А так это был архив, с исходниками на турбо-паскале, где имена файлов состояли из полного описания того, что делает прогамма smile
Распаковывать пробовал точно на ext3, ругалось именно на FS, что не поддерживает имена такой длины.
При этом распаковал из под linux на NTFS вполне нормально.

#129552
bobr написал:
документация ни при чем. Достаточно посмотреть на MFT NTFS'а в любом шестнадцатеричном редакторе. Имена файлов там в утф-8.

это сейчас в windows7. что было в w2k?

#129554
ormorph написал:
Распаковывать пробовал точно на ext3, ругалось именно на FS, что не поддерживает имена такой длины.
При этом распаковал из под linux на NTFS вполне нормально.

и полный путь был одной длинны? и при этом имена были именно в UTF-8?
bobr, кстати, я про длину файлов - почему кодеры в мс выделяют 265 байтов для имени? откуда такая дурацкая цифирь (она в заголовочных файлах, которые есть в MSVS)

#129558
drBatty написал:
bobr, кстати, я про длину файлов - почему кодеры в мс выделяют 265 байтов для имени? откуда такая дурацкая цифирь (она в заголовочных файлах, которые есть в MSVS)

вот это не знаю, и даже как-то неинтересно.

drBatty написал:
это сейчас в windows7. что было в w2k?

в ХР и вин7, в вин2к не знаю.

#129560
bobr написал:
вот это не знаю, и даже как-то неинтересно.

а от этого как раз и зависит возможность распаковки.

bobr написал:
в ХР и вин7, в вин2к не знаю.

ЕМНИП в ХП бала UTF-16, а не UTF-8, но какая-то странная UTF-16.

#129563
drBatty написал:
ЕМНИП в ХП бала UTF-16, а не UTF-8, но какая-то странная UTF-16.

да-да, я апдейтил свой пост выше уже. Там UTF-16. И в вин7 тоже. Насчет странности я не могу ничего сказать, вроде обычная.

#129564
drBatty написал:
и полный путь был одной длинны? и при этом имена были именно в UTF-8?
bobr, кстати, я про длину файлов - почему кодеры в мс выделяют 265 байтов для имени? откуда такая дурацкая цифирь (она в заголовочных файлах, которые есть в MSVS)

Даже если изначально имена файлов были не в utf-8 то после того как перезапоковал в tar.gz кодировка уже была в utf-8 точно. Изначально был rar архив, сначала грешил на архиватор, но потом оказалось что архиватор не причем.
С tar-ом было то же самое.

#129568
drBatty написал:
bobr пишет:

вот это не знаю, и даже как-то неинтересно.

а от этого как раз и зависит возможность распаковки.

а в исходнках нтфс-3г эта же цифра?

#129574
bobr написал:
Насчет странности я не могу ничего сказать, вроде обычная.

непонятно, в каких случаях там utf-16, потому-что английские имена там вроде в ASCII.

ormorph написал:
С tar-ом было то же самое.

это вы использовали тар для венды? или?
короче - у меня всё открывается.

bobr написал:
а в исходнках нтфс-3г эта же цифра?

не знаю...

#129579
drBatty написал:

это вы использовали тар для венды? или?
короче - у меня всё открывается.

Нет для венды я использовал rar а для linux tar.

#129581
drBatty написал:
потому-что английские имена там вроде в ASCII.

не-не, английские тож в утф-16. Я как-то раз пытался по образу диска грепом найти запись о файле в мфт. И потом просто просматривал мфт этого образа. Там утф-16. Образ был с установленной винХР.

#129583
ormorph написал:
Нет для венды я использовал rar а для linux tar.

рар оригинально корёжит имена. лучше его не использовать. есть 7z для венды, он имена не корёжит.

#129584
bobr написал:
не-не, английские тож в утф-16. Я как-то раз пытался по образу диска грепом найти запись о файле в мфт.

дык и я говорю - странно. потому-что я видел образ венды, в котором нерусские буквы стоят вплотную, как в win9x. короче - венда такая загадочная :)

#129586
drBatty написал:
tar без сжатия работает обычно быстрее cp.

решил проверить:
на tmpfs:
[console]
goblin portage_0 # tar -cf ../tar_pipe . &
goblin portage_0 # cd ../portage_1
goblin portage_1 # date && tar -xf ../tar_pipe . && date
Втр Фев 15 14:57:25 MSK 2011
[1]+ Done tar -cf ../tar_pipe . (wd: /tmp/portage_0)
(wd now: /tmp/portage_1)
Втр Фев 15 14:57:31 MSK 2011
goblin portage_1 # cd ../portage_2
goblin portage_2 # date && cp -axR ../portage_0/* && date
Втр Фев 15 14:58:34 MSK 2011
Втр Фев 15 14:58:38 MSK 2011
[/console]
итого 6с. - tar; 8с. - cp
на reiserfs в LVM:
[console]
goblin tmp # cd portage_0
goblin portage_0 # tar -cf ../tar_pipe . &
[1] 15928
goblin portage_0 # cd ../portage_1
goblin portage_1 # date && tar -xf ../tar_pipe . && date
Втр Фев 15 15:16:28 MSK 2011
[1]+ Done tar -cf ../tar_pipe . (wd: /var/tmp/portage_0)
(wd now: /var/tmp/portage_1)
Втр Фев 15 15:16:55 MSK 2011
goblin portage_1 # cd ../portage_2
goblin portage_2 # date && cp -axR ../portage_0/* . && date
Втр Фев 15 15:18:21 MSK 2011
Втр Фев 15 15:19:03 MSK 2011
goblin portage_2 # rm -rf *
goblin portage_2 # rm -rf ../portage_1/*
goblin portage_2 # date && cp -axR ../portage_0/* . && date
Втр Фев 15 15:21:17 MSK 2011
Втр Фев 15 15:21:42 MSK 2011
[/console]
итого 38с. - tar; 45/35с. - cp
в общем почти одикнаково...
но всё это не претендует на абсолютную истенность...

#129591
drBatty написал:
рар оригинально корёжит имена. лучше его не использовать. есть 7z для венды, он имена не корёжит.

Уже не помню как правил, но по моему просто удалил пробелы между словами в названии, название стало короче, после этого все нормально копировалось уже на ext3.
Не знаю как он корежит имена, но только на взгляд вроде ни каких кракозяб не было тут уж хз.
Мог такое ожидать от fat, но от ext3 было удивительно.

#129600
drBatty написал:
дык и я говорю - странно. потому-что я видел образ венды, в котором нерусские буквы стоят вплотную, как в win9x. короче - венда такая загадочная smile

Может, действительно от версии к версии это меняется.
Винда такая винда.

#129613
Fat-Zer написал:
в общем почти одикнаково...
но всё это не претендует на абсолютную истенность...

когда как... это зависит от 100500 причин.

ormorph написал:
но от ext3 было удивительно.

угу. удивительно. я уж не знаю чем вы там распаковывали, но может распаковщик как-то криво работал.

ormorph написал:
Не знаю как он корежит имена, но только на взгляд вроде ни каких кракозяб не было тут уж хз.

я тоже не знаю. знаю, что длится это давно, рар корёжит, другие распакорвщики раскорёживают обратно. Ну а т.к. кроме авторов рара никто этого точно не знает, обратный процесс удаётся только самому winrar'у, коим я и пользуюсь на практике. А что-бы длинные имена влезали, распаковываю в /tmp.

bobr написал:
Может, действительно от версии к версии это меняется.
Винда такая винда.

про это не в курсе, но меняется очень многое. причём в MSDN об этом пишут в последнюю очередь.

#129616

Вроде tar по времени все же немного впереди :

text

localhost tmp # time tar -C /media/FreeBSD_Packages/ -cf - . |tar -xf - 

real 2m14.739s user 0m0.170s sys 0m2.640s localhost tmp # rm -rf * localhost tmp # time cp -ax /media/FreeBSD_Packages/. .

real 2m15.120s user 0m0.030s sys 0m1.640s

копирование CD
smile

Войдите или зарегистрируйтесь, чтобы ответить.