Решение проблемы перемещения кэша

Обсуждение различной информации связанной с картографией, а так же сторонние программные продукты

Модераторы: Tolik, zed

Re: Решение проблемы перемещения кэша

Сообщение arxey » 29 июл 2010, 13:21

Сохранил кеш в tar-архив (3,7Гб). Не могу разархивировать - пишет ошибку. Есть ли софт для востановления битых таров по аналогии с zip и rar? Или есть другой метод - ведь данные там не сжаты!?
arxey
Постигающий Дао
 
Сообщения: 109
Зарегистрирован: 15 сен 2008, 11:21
Благодарил (а): 4 раз.
Поблагодарили: 16 раз.

Re: Решение проблемы перемещения кэша

Сообщение Parasite » 26 авг 2010, 20:25

arxey писал(а):Сохранил кеш в tar-архив (3,7Гб). Не могу разархивировать - пишет ошибку.

Прикажете сидеть и догадываться о тексте оной?

arxey писал(а):Есть ли софт для востановления битых таров по аналогии с zip и rar?

Откуда такая уверенность в "битом таре"?
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Аватара пользователя
Parasite
Администратор
 
Сообщения: 4532
ICQ: 15819243
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 57 раз.
Поблагодарили: 214 раз.

Re: Решение проблемы перемещения кэша

Сообщение arxey » 27 авг 2010, 07:59

Parasite писал(а):Прикажете сидеть и догадываться о тексте оной?
Откуда такая уверенность в "битом таре"?

WinRar пишет: "Архив поврежден"
7zip: "Не удалось открыть файл cache.tar как архив"
PowerArchiver2007 - просто молча сбрасывает процесс разархивации.
Но правда 1 единственный файл извлекается.
Пробовал переименовывать, перемещать в корень диска, менять расширение - все бесполезно.
arxey
Постигающий Дао
 
Сообщения: 109
Зарегистрирован: 15 сен 2008, 11:21
Благодарил (а): 4 раз.
Поблагодарили: 16 раз.

Re: Решение проблемы перемещения кэша

Сообщение Parasite » 27 авг 2010, 11:02

arxey писал(а):
Parasite писал(а):Прикажете сидеть и догадываться о тексте оной?
Откуда такая уверенность в "битом таре"?

WinRar пишет: "Архив поврежден"
7zip: "Не удалось открыть файл cache.tar как архив"
PowerArchiver2007 - просто молча сбрасывает процесс разархивации.
Но правда 1 единственный файл извлекается.
Пробовал переименовывать, перемещать в корень диска, менять расширение - все бесполезно.

Если Вы создали его согласно первого поста данной темы - то у Вас TGZ (tar+gzip) архив, а не чистый TAR. Расширение у него соответственно должно быть .tgz, а не .tar (это тоже написано в первом посте темы). При попытке открыть .tgz как .tar - будет еррор, так как не учтется наличие компрессии в tgz и распаковщику будет рвать шаблон от таких данных.

Попробуйте сменить расширение на правильное и попробовать открыть заново. Если не поможет - сделайте листинг архива средствами самого тара, если все будет в порядке - значит проблема в распаковщиках, а не в контейнере.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Аватара пользователя
Parasite
Администратор
 
Сообщения: 4532
ICQ: 15819243
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 57 раз.
Поблагодарили: 214 раз.

Re: Решение проблемы перемещения кэша

Сообщение Papazol » 28 авг 2010, 23:23

Попробовал написать оболочку для bsdtar. Заточено под задачу перемещения кэша.
Вложения
bsdtar_GUI.zip
(274.77 KiB) Скачиваний: 139
Аватара пользователя
Papazol
Гуру
 
Сообщения: 1210
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 29 раз.
Поблагодарили: 147 раз.

Re: Решение проблемы перемещения кэша

Сообщение zed » 29 авг 2010, 00:28

О, неплохо. Только хотелось бы ещё чтоб прога сама искала и запускала bsdtar из той директории откуда она сама запущена. Т.е. докинули этот GUI до кучи к тару и не надо беспокоиться и закидывать тар в системные папки или прописывать его в path. Плюс, добавить архивирование без сжатия и вызывать не батник tarz.bat, а сразу bsdtar.exe и передавать ему нужные параметры.
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

Re: Решение проблемы перемещения кэша

Сообщение Parasite » 30 авг 2010, 08:57

zed писал(а):bsdtar.exe и передавать ему нужные параметры.

Кстати, если вдруг кто не знает - tar нативно может разбивать свои архивы на части указанного размера:

Запаковка:
Код: Выделить всё
tar -c -M --tape-length=102400 --file=disk1.tar BIGFILE

будет делать 100мб-куски архива из папки BIGFILE (с переспрашиванием имени каждого куска) по типу "Prepare volume #2 for disk1.tar and hit return". Если нужно изменить имя второй части (например на disk2.tar) - то надо ответить "n disk2.tar", итд.

Распаковка:
Код: Выделить всё
tar -x -M --file=disk1.tar BIGFILE
Prepare volume #2 for disk1.tar and hit return: n disk2.tar
Prepare volume #2 for disk2.tar and hit return:

:)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Аватара пользователя
Parasite
Администратор
 
Сообщения: 4532
ICQ: 15819243
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 57 раз.
Поблагодарили: 214 раз.

Re: Решение проблемы перемещения кэша

Сообщение Papazol » 30 авг 2010, 21:55

Очень интересная штука этот bsdtar... Задачу по перемещению исполняемого файла в папку с оболочкой мне правильно решить не удалось, так как если путь к этому файлу (или к этой папке) содержит пробелы, то cmd этого не понимает. Искал, читал, вычитал, что надо подобные пути заключать в кавычки. Надо будет попробовать, хотя пока непонятно, что именно надо заключать в кавычки: всю команду или не всю...
И ещё одна загвоздка. Почему-то при попытке архивировать без сжатия выдаётся ошибка.
Изображение
Наверно, я неправильно записываю командную строку. Я пишу так:
Код: Выделить всё
bsdtar.exe -сf targetfile folder

где targetfile - путь и название архива, folder - название папки, которую надо заархивировать.
Причём команды, архивирующие со сжатием
Код: Выделить всё
bsdtar.exe -cvz -f targetfile folder
и
Код: Выделить всё
bsdtar.exe -cvz --file=targetfile folder

выполняются правильно. Во всех случаях рабочая директория - на ступень выше папки folder, например, если нужная папка находится по пути
X:\SASPlanet\cache\folder, то рабочая директория - X:\SASPlanet\cache.

Нашёл! Как всегда, причина - кривые руки. Буква "с" была набрана кириллицей.
Аватара пользователя
Papazol
Гуру
 
Сообщения: 1210
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 29 раз.
Поблагодарили: 147 раз.

Re: Решение проблемы перемещения кэша

Сообщение zed » 30 авг 2010, 22:39

Задачу по перемещению исполняемого файла в папку с оболочкой

Зачем? Пользователь сам положит её в эту папку. Просто в команде вызывать не bsdtar, а "путь откуда нас запустили\bsdtar.exe".

если путь к этому файлу (или к этой папке) содержит пробелы, то cmd этого не понимает. Искал, читал, вычитал, что надо подобные пути заключать в кавычки. Надо будет попробовать, хотя пока непонятно, что именно надо заключать в кавычки: всю команду или не всю...

Для надёжности, все пути надо делать в кавычках (а не команды).
Пример:
Код: Выделить всё
"some path\bsdtar.exe" -сf "some path\targetfile" "folder"

В общем случае и в имени папки могут быть пробелы, так что и его надо в кавычках делать.
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

Re: Решение проблемы перемещения кэша

Сообщение Papazol » 31 авг 2010, 00:06

zed писал(а):Зачем? Пользователь сам положит её в эту папку. Просто в команде вызывать не bsdtar, а "путь откуда нас запустили\bsdtar.exe".

Конечно, именно это я и имел в виду. В данном случае перемещение - из папки Windows в другую папку, не относящуюся к path. Это удалось сделать.

zed писал(а):Для надёжности, все пути надо делать в кавычках (а не команды).
Пример:
Код: Выделить всё
"some path\bsdtar.exe" -сf "some path\targetfile" "folder"

В общем случае и в имени папки могут быть пробелы, так что и его надо в кавычках делать.

Теперь всё понятно. Да, чтобы писАть на каком-либо языке, надо как минимум этот язык знать. Не забыть бы теперь всё это.
Вот новый вариант оболочки. Файл bsdtar.exe должен находиться в одной папке с оболочкой.
Вложения
bsdtar_GUI.zip
(275.08 KiB) Скачиваний: 160
Аватара пользователя
Papazol
Гуру
 
Сообщения: 1210
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 29 раз.
Поблагодарили: 147 раз.

Пред.След.

Вернуться в Другие

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron