информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Spanning Tree Protocol: недокументированное применениеГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / software
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
А, сорри, я неправильно понял :) 24.06.03 20:21  Число просмотров: 980
Автор: Ktirf <Æ Rusakov> Статус: Elderman
Отредактировано 24.06.03 20:30  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Пока еще не открыл, но может быть открою скоро-недолго. Надо только с лицензиями разобраться...
А в целом да, проект будет посвящен для начала одной ма-аленькой утилитке на Си, которая только и умеет что файлы внутри зипа переименовывать :) Ну а дальше время покажет. То же, что я сказал - это сугубо коммерческий закрытый проект, в котором эта утилитка может быть будет использоваться.
<software>
Ищу программу, кодовые слова - zip, rename, Unix 21.06.03 16:42  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
Подробнее: требуется программа, работающая в командной строке, на C/C++ (Perl, Python и прочая не предлагать), которая умеет переименовывать файлы внутри архива .zip. Желательна, но не обязательна поддержка расширенного формата Zip64.
Если кто-то что-нибудь подобное видел, откликнитесь. Как ни странно, найти такую в сущности простую вещь оказалось проблемой. Да, важно: лицензия должна разрешать использование в коммерческих проектах (внимание тем, кто в танке: GPL подходит).
Нашел - не программу, библиотеку, но тоже хорошо. 25.06.03 15:31  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
Отредактировано 25.06.03 15:32  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Даже две: zziplib и zipios++. Обе имеют лицензию LGPL, первая - C интерфейс, вторая - C++. В общем, если кому еще пригодится, оставляю здесь линки. Всем спасибо за поддержку и обсуждение.

zziplib
zipios++
а такой метод не подойдет? 23.06.03 15:16  
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
распаковать файл, удалить его из архива и добавить под другим именем? как это к примеру делает FAR manager
тем более что именно то что ты хочешь вряди найдешь
В том-то все и дело, что 23.06.03 15:49  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
если не дай Бог непожатый текстовый файл окажется размером в несколько гигабайт (в моей задаче может такое произойти), то слишком много места и времени потребуется для перепаковки. А самое главное - это и не нужно.
Думаю zlib должен уметь такое делать 21.06.03 22:15  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
> Подробнее: требуется программа, работающая в командной
> строке, на C/C++ (Perl, Python и прочая не предлагать),
Для того чтоб сделать программу для командной строки, придется написать небольшую обертку - вызов функций zlib-ы.
Уже смотрел. zlib вообще не знает о файловой системе внутри архива. 21.06.03 23:47  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
> > Подробнее: требуется программа, работающая в командной
> > строке, на C/C++ (Perl, Python и прочая не
> предлагать),
> Для того чтоб сделать программу для командной строки,
> придется написать небольшую обертку - вызов функций zlib-ы.
Обертка выйдет, увы, не небольшая, и самое смешное, что как раз возможностей zlib там и не понадобится. Потому что все дерево файлов лежит отнюдь неупакованным, упаковывается только их содержимое.
В общем, я уже сходил на сайт PKWare и взял там описание формата ZIP... Теперь пишу прогу, которая аккуратно хакает архивы, чтобы переименовать содержащиеся там файлы и не повредить всего остального. Похоже это проще всего.
это подходит только в том случае если по длине новое имя меньше или равно длине старого 23.06.03 15:22  
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
иначе ничего не получится
Уже получилось :-D 23.06.03 15:47  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
Отредактировано 23.06.03 15:50  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Я успешно сменил имя из одного символа на имя из семнадцати - слегка подкорректировав некоторые поля, конечно. UNIXовый zip подлога не заметил. Осталось реализовать алгоритм.
Не понял немного 21.06.03 20:31  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
> Подробнее: требуется программа, работающая в командной
> строке, на C/C++ (Perl, Python и прочая не предлагать),
> которая умеет переименовывать файлы внутри архива .zip.
> Желательна, но не обязательна поддержка расширенного
> формата Zip64.
По поводу С/С++ - она тебе в сорцах что-ли нужна?

> Если кто-то что-нибудь подобное видел, откликнитесь. Как ни
> странно, найти такую в сущности простую вещь оказалось
> проблемой.
А заказать? Вон есть job - запости там.
Хотя может я чего не понял...
Не понял немного 21.06.03 23:44  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
> По поводу С/С++ - она тебе в сорцах что-ли нужна?
Эту прогу нужно включить в проект, который будет собираться на пяти платформах. Можно, конечно, держать пять бинарников, но некрасиво это как-то.

> А заказать? Вон есть job - запости там.
> Хотя может я чего не понял...
Заказать я сам себе могу :) Уже писать начал даже :) Просто надеялся, что до меня такую софтину уже придумали. Ну что ж, одним проектом на SourceForge станет больше...
А что за проект (извиняюсь за любопытство), если не секрет? 24.06.03 10:31  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Система поиска по гетерогенной совокупности банков данных для биологов 24.06.03 13:10  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
Я не очень заумно выразился? :)
Да не, не очень. 24.06.03 15:48  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
> Я не очень заумно выразился? :)
Теперь непонятно другое - зачем в программе поиска по базам предусматривать переименовывание файлов в архивах?
Для предварительной упаковки файла с результатами поиска на серверной стороне. 24.06.03 20:26  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
На самом деле задача выросла очень неожиданно. У UNIX zip'а есть возможность в качестве упаковываемого файла принимать стандартный вход. Все бы ничего, вот только внутри архива этот файл оказывается с именем "-". Естественно, когда всякие виндузятники начинают смотреть это WinZIPом или даже просто хревым проводником, этот факт вылезает на поверхность. Вот и пришлось придумывать, как с этим справиться. Создание временного файла в общем случае нерационально, проще слегка подпортить тот архив, который потоком же выходит из zip'а.
Только свой упаковщик писать придется. 25.06.03 10:23  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 25.06.03 10:26  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
> На самом деле задача выросла очень неожиданно. У UNIX zip'а
> есть возможность в качестве упаковываемого файла принимать
> стандартный вход. Все бы ничего, вот только внутри архива
> этот файл оказывается с именем "-". Естественно, когда
> всякие виндузятники начинают смотреть это WinZIPом или даже
> просто хревым проводником, этот факт вылезает на
> поверхность. Вот и пришлось придумывать, как с этим
> справиться. Создание временного файла в общем случае
> нерационально, проще слегка подпортить тот архив, который
> потоком же выходит из zip'а.

используя ZIP алгоритм, но формат свой. Глупо вставлять поддержку разных версий программ зип-упаковщиков, особенно версии, которые появятся в будущем.
А с Юниксом своя песня: на сколько я знаю, упаковщики на большинстве платформ создают архив структуры типа [имя файла, зазипованные данные]. Когда я начал знакомится с юниксами, я сначала был удивлен, что zip не может зазиповать несколько файлов, как в ДОСе. Зипует он один файл дописывая расширение (.z) или в новый файл, если в командной строке указать. При зиповке нескольких файлов их надо сначала затарить, а чтобы обработать дерево каталогов и файлы с нужным типом/атрибутами, их нужно было find'ом найти. получается один файл, он-то и зипуется, и в зип-файле название файла в явном виде не найти, и переименовать его не раззиповывая тоже.
Я думаю, что обойдется :) 25.06.03 14:30  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
> используя ZIP алгоритм, но формат свой. Глупо вставлять
> поддержку разных версий программ зип-упаковщиков, особенно
> версии, которые появятся в будущем.
Дело в том, что на все зип-упаковщики (не путать с z-упаковщиками) существует, как ни удивительно, ровно один формат, который описан на сайте PKWare. Именно этот формат используется и в чистом zip (который по умолчанию есть на большинстве Унихов и который есть практически для всего, для чего есть компилятор C). и в pkzip (народ, помнящий DOS, прекрасно знает этот архиватор - курилка жив и здравствует, причем уже и под Windows с Linux'ом), и в WinZip, и во многих других. Этот формат используется WinRARом и проводником WindowsXP для работы с zip-файлами. Короче говоря, это стандарт де-факто.

> А с Юниксом своя песня: на сколько я знаю, упаковщики на
> большинстве платформ создают архив структуры типа [имя
> файла, зазипованные данные]. Когда я начал знакомится с
> юниксами, я сначала был удивлен, что zip не может
> зазиповать несколько файлов, как в ДОСе. Зипует он один
> файл дописывая расширение (.z) или в новый файл, если в
> командной строке указать.
файлы .Z делает другая команда, которая называется compress. Она, как и gzip и compact, действительно способна упаковывать лишь ровно один файл, без хранения дерева каталогов и даже имени файла. zip и его ближайшие родственники (к коим gzip не относится), хранит внутри архива некую упрощенную файловую систему. Вообще со стороны его авторов это героизм, потому что zip переносим между платформами, в частности, мне ничто не мешает упаковать дерево на Unix, а потом перенести его на Амигу или на Windows.

> получается один файл, он-то и зипуется, и в
> зип-файле название файла в явном виде не найти, и
> переименовать его не раззиповывая тоже.
Опять-таки не путаем .z/.Z/.gz файлы и .zip-файлы. В них используются разные алгоритмы упаковки и формат у них отличается.
Ну если в проекте будет предусмотрена работа только с .zip без .z, то действительно может обойдется :) 25.06.03 14:54  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
В .z проблемы переименования файла внутри архива нет в принципе :) 25.06.03 14:55  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
:-))) Насколько я понял, имелся в виду проект на sourceforge, связанный с zip-ами 24.06.03 15:44  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Ты ж вроде намекал, что свой проект ты там открыл
А, сорри, я неправильно понял :) 24.06.03 20:21  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
Отредактировано 24.06.03 20:30  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Пока еще не открыл, но может быть открою скоро-недолго. Надо только с лицензиями разобраться...
А в целом да, проект будет посвящен для начала одной ма-аленькой утилитке на Си, которая только и умеет что файлы внутри зипа переименовывать :) Ну а дальше время покажет. То же, что я сказал - это сугубо коммерческий закрытый проект, в котором эта утилитка может быть будет использоваться.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach