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

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

Модератор: Tolik

arxey
Постигающий Дао
Сообщения: 139
Зарегистрирован: 15 сен 2008, 11:21
Благодарил (а): 10 раз
Поблагодарили: 22 раза

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

Сообщение arxey »

Сохранил кеш в tar-архив (3,7Гб). Не могу разархивировать - пишет ошибку. Есть ли софт для востановления битых таров по аналогии с zip и rar? Или есть другой метод - ведь данные там не сжаты!?
Аватара пользователя
Parasite
Администратор
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раза
Поблагодарили: 508 раз

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

Сообщение Parasite »

arxey писал(а):Сохранил кеш в tar-архив (3,7Гб). Не могу разархивировать - пишет ошибку.
Прикажете сидеть и догадываться о тексте оной?
arxey писал(а):Есть ли софт для востановления битых таров по аналогии с zip и rar?
Откуда такая уверенность в "битом таре"?
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
arxey
Постигающий Дао
Сообщения: 139
Зарегистрирован: 15 сен 2008, 11:21
Благодарил (а): 10 раз
Поблагодарили: 22 раза

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

Сообщение arxey »

Parasite писал(а):Прикажете сидеть и догадываться о тексте оной?
Откуда такая уверенность в "битом таре"?
WinRar пишет: "Архив поврежден"
7zip: "Не удалось открыть файл cache.tar как архив"
PowerArchiver2007 - просто молча сбрасывает процесс разархивации.
Но правда 1 единственный файл извлекается.
Пробовал переименовывать, перемещать в корень диска, менять расширение - все бесполезно.
Аватара пользователя
Parasite
Администратор
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раза
Поблагодарили: 508 раз

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

Сообщение Parasite »

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/
Изображение
Аватара пользователя
Papazol
Гуру
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 73 раза
Поблагодарили: 647 раз

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

Сообщение Papazol »

Попробовал написать оболочку для bsdtar. Заточено под задачу перемещения кэша.
Вложения
bsdtar_GUI.zip
(274.77 КБ) 615 скачиваний
zed
Гуру
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз
Поблагодарили: 568 раз

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

Сообщение zed »

О, неплохо. Только хотелось бы ещё чтоб прога сама искала и запускала bsdtar из той директории откуда она сама запущена. Т.е. докинули этот GUI до кучи к тару и не надо беспокоиться и закидывать тар в системные папки или прописывать его в path. Плюс, добавить архивирование без сжатия и вызывать не батник tarz.bat, а сразу bsdtar.exe и передавать ему нужные параметры.
Аватара пользователя
Parasite
Администратор
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раза
Поблагодарили: 508 раз

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

Сообщение Parasite »

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/
Изображение
Аватара пользователя
Papazol
Гуру
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 73 раза
Поблагодарили: 647 раз

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

Сообщение Papazol »

Очень интересная штука этот 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.

Нашёл! Как всегда, причина - кривые руки. Буква "с" была набрана кириллицей.
zed
Гуру
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз
Поблагодарили: 568 раз

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

Сообщение zed »

Задачу по перемещению исполняемого файла в папку с оболочкой
Зачем? Пользователь сам положит её в эту папку. Просто в команде вызывать не bsdtar, а "путь откуда нас запустили\bsdtar.exe".
если путь к этому файлу (или к этой папке) содержит пробелы, то cmd этого не понимает. Искал, читал, вычитал, что надо подобные пути заключать в кавычки. Надо будет попробовать, хотя пока непонятно, что именно надо заключать в кавычки: всю команду или не всю...
Для надёжности, все пути надо делать в кавычках (а не команды).
Пример:

Код: Выделить всё

"some path\bsdtar.exe" -сf "some path\targetfile" "folder"
В общем случае и в имени папки могут быть пробелы, так что и его надо в кавычках делать.
Аватара пользователя
Papazol
Гуру
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 73 раза
Поблагодарили: 647 раз

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

Сообщение Papazol »

zed писал(а):Зачем? Пользователь сам положит её в эту папку. Просто в команде вызывать не bsdtar, а "путь откуда нас запустили\bsdtar.exe".
Конечно, именно это я и имел в виду. В данном случае перемещение - из папки Windows в другую папку, не относящуюся к path. Это удалось сделать.
zed писал(а):Для надёжности, все пути надо делать в кавычках (а не команды).
Пример:

Код: Выделить всё

"some path\bsdtar.exe" -сf "some path\targetfile" "folder"
В общем случае и в имени папки могут быть пробелы, так что и его надо в кавычках делать.
Теперь всё понятно. Да, чтобы писАть на каком-либо языке, надо как минимум этот язык знать. Не забыть бы теперь всё это.
Вот новый вариант оболочки. Файл bsdtar.exe должен находиться в одной папке с оболочкой.
Вложения
bsdtar_GUI.zip
(275.08 КБ) 572 скачивания
Ответить

Вернуться в «Другие программы»