Ответы пользователя по тегу Архивация данных
  • Как максимально распаковать многотомный архив с частью недокачанных томов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    так просто запусти распаковку на отдельные тома-файлы, неважно что они не .rar в конце.

    Но распаковать кусочки файла, которые находятся в поврежденном месте нельзя - алгоритм компрессии использует словари, которые могут содержаться в этих поврежденных местах, и распаковка упакованного неизвестным местом невозможна.

    Если архив солид - то тогда все. У солид архива один "словарь" на все файлы, начиная с самого начала.
    Если архив не солид - можно распаковать только те файлы, которые целиком есть в скачанных местах.

    Собственно в рар же есть опция восстановления повержденных архивов - запускай - то, что он может извлечь он извлечет. То что он не сможет извлечь - я думаю альтернативными способами точно не выйдет.
    Ответ написан
    Комментировать
  • Как запаковать файлы или папки в bash скрипт?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    base64 --help

    MYFILE=$(base64 -w0 <file>)
    Ответ написан
    2 комментария
  • Можно ли ускорить архивацию/разархивацию за счет распараллеливания ??

    saboteur_kiev
    @saboteur_kiev
    software engineer
    pigz - многопоточный архиватор для gzip алгоритма.
    winrar и 7zip тоже умеют в многопоточность
    Ответ написан
    Комментировать
  • Возможно ли взломать архивы с .tar расширением?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    tar в принципе не поддерживает шифрование с паролем.
    То есть шифрование было сделано чем-то другим. Надо понять чем и тогда будет понятно что ломать.
    Ответ написан
  • Как распаковать 70К файлов .ZIP и автоматически переносить их на другой локальный диск?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    Делаете скрипт, в котором пробегаете по каждому файлу командой типа:
    unzip -o -d f:/ <file.zip> model
    из-за того, что файлов очень много, надо что-то придумать с итерацией.
    Если бы стоял bash, я бы сделал через xargs
    Ответ написан
  • Разделить архив на 2 независимые части?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Никак.
    Современные архиваторы, как один из алгоритмов, используют в том числе и словари, то есть анализируя файл, повторяющиеся места сокращаются.
    Таким образом в первой половине файла есть данные, которые необходимы для распаковки оставшейся части файла. Извлечь кусок файла таким образом невозможно.
    Вам нужно изначально разбить файл на части, и запаковать их отдельными файлами.
    Ответ написан
    Комментировать
  • Какой алгоритм сжатия данных использовать при архивации лог файлов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    "Стоит задача написать архиватор лог файлов"

    "Алгоритмов сжатия данных немало и у каждого своя спецификация.
    Как определить какой алгоритм сжатия данных нужно использовать для архивации файла, в котором много повторяющихся элементов?"

    У вас в задаче я не вижу требований, написать идеальный архиватор лог файлов.
    Вдобавок написать хотя бы простейший архиватор - уже нетривиальная задача для новичка, а судя по вопросу - вы новичок.

    Что я могу подсказать, так это свою догадку, что хотел ваш препод, но для этого нужно понять принципы алгоритмов сжатия по словарю - когда вы анализируете файл, находите в нем что-то похожее, составляете словарь похожих частей и сжимаете используя этот словарь.
    Так вот - в случае сжатия нескольких файлов, можно использовать словарь первого файла для сжатия второго и так далее.
    В архиваторах это называется solid архив.
    Его преимущество - меньший размер.
    Недостаток - при распаковке одного конкретного файла (например последнего), вам придется распаковать все предыдущие.
    Ответ написан
    3 комментария
  • Как сделать автоматическое резервное копирование файлов, при подключении переносного HDD?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    Простой скрипт на расписание не поможет?
    Ответ написан
    Комментировать
  • Как решить проблему с tar incremental?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Предположим у вас есть бэкапы
    1
    2
    3
    4

    Как очередной incremental бэкап должен узнать, что было забэкаплено в 2, 3, 4?
    Поэтому tar сохраняет мета-информацию.

    P.S. Виндовые архиваторы могут некорректно видеть содержимое .tar архива. Пользуйтесь портироавнным tar.
    Ответ написан
  • Как думаете, тексты, сжатые с помощью zlib сейчас, получится распаковать через 100 лет?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Конечно да.
    Все, что было сжато 100 лет назад, сейчас успешно разжимается, не говоря уж о том, что было сжато в 80-90е.
    Ответ написан
    Комментировать
  • За счет чего достигается такой высокий уровень сжатия?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Есть хаос и есть порядок.
    Чем больше упорядоченной информации в файлах, тем больше закономерностей можно вычислить и сжать их до уровня хаоса.
    Ничего кардинально нового не придумали,

    Можете просто любым hexview-ером посмотреть что внутри файлов - уверен там просто удачно подобрались файлы с кучей нулей и повторов информации.
    Ответ написан
    Комментировать
  • Как разархивировать rar архив с помощью cuda?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Пока что никто такое не делает.
    Для создания алгоритма архивации нужен именно CPU а не GPU. Тех задач, которые может посчитать GPU в процессе архивирования не так уж и много. То есть если алгоритм и реализовать, выхлоп будет ну 30-40%. Просто задачи не те.

    Зато какие минусы:
    Нестабильная работа на разных компах, поскольку видяшки все разные, частоты разные, синхронизация и вообще API для работы с GPU постоянно меняется. Для nvidia и ATI надо писать совершенно разное, и архиватор должен определять кучи моделей карт, чтобы знать чем пользоваться а чем нет.
    Основной приток производительности в GPU идет от распарралеливания однотипных процессов, в то время как для архивации важно учитывать все, что было сжато до, чтобы использовать это для дальнейшего сжатия.
    Грубо говоря: если для того, чтобы на экране нам нужно сделать эффект размытия, мы можем поделить экран на 100 кусочков и каждый размыть отдельно в отдельном потоке на GPU. Если же мы разделим на 100 кусочков архивируемый файл, и каждый кусочек будет архивировать отдельно, мы не сможем пользоваться наработками по первым кускам, чтобы благодаря обработанным данным сжать послеюущие. Парралелить процесс архивации получается крайне плохо, из-за этого смысл использования GPU отпадает. Нужно же понимать, что GPU это не супербыстрая железка, а железка, которая хорошо заточена под определенные задачи.

    Конечно попытки реализовать отдельные алгоритмы архивации есть, но из-за вышеупомянутого, степень сжатия очень маленькая, потому что можно реализовать только простые алгоритмы на кусках данных. Полноценный алгоритм, как в winrar полностью перенести в GPU невозможно, поэтому CUDA-архиваторы пока существуют просто в виде тестовых программок разных любителей попробовать, и до полноценного архиватора они не дотягивают.
    Ответ написан
    3 комментария