LINUX.ORG.RU
ФорумTalks

ОПРОС: чего вам не хватает в существующих архиваторах?


0

0

Мне не хватает того, что:

1) нельзя в tar.gz/tar.bz2 прочитать последний файл в большом архиве, не прочитав весь архив, нельзя моментально получить список файлов, нельзя удалить какие-то файлы из архива;

2) в остальных архивах нельзя сохранять юниксовые права файлов, симлинки и т. д.

Может быть мне заняться улучшением этого дела?


я вот не знаю, есть ли возможность создавать автономные самораспаковывающиеся архивы. если файл архивирован bzip2 и в системе только gzip и нет доступа в ИНет - уже небольшая проблема.

boatman
()
Ответ на: комментарий от boatman

> 2) в остальных архивах нельзя сохранять юниксовые права файлов, симлинки и т. д.

50 строчек на перле, наверное меньше - на баш. Сколько на сях - не знаю.

anonymous
()

непрофесиионально поставлен вопрос..
автор явно не уловил unix-way и не в курсе разницы между архиваторами 
и паковщиками.

в *NIX есть всего два (де-факто) архиватора - tar и cpio,
и пара поковщиков - gzip и bzip2(более новый и ловкий)..

видимо автора вводит в заблуждение тот факт, что GNU tar обеспечивает
и некоторую оболочку с gzip bzip2.

а в связке tar | gz/bzip2 мне не нравится тупое поведение tara после принудительного закрытия pipe..(то есть после убиения следующего процесса конвеера)

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Паковщик хочу использовать существующий, просто сделать удобный формат для хранения уже сжатых файлов (на выбор пользователя bzip2/gzip/что-то ещё). Пользователь сделает myarchiver cvf something.mar file1.txt file2.png directory3 directory4 symlink5 device6 socket7, оно сожмётся и будет засунуто в something.mar.

mikhail
() автор топика

>нельзя в tar.gz/tar.bz2 прочитать последний файл в большом архиве,

Ну да, это невозможно в принципе без распаковки solid архива.

K48 ★★★★
()

Вопросик: можно ли переместить блок какого-нибудь (напишите какого) размера из конца файла в середину моментально (без чтения и записи всего блока)? Это для удаления файлов из архивов.

mikhail
() автор топика
Ответ на: комментарий от MKuznetsov

((sorry за повторное сообщение - предыдущее очень криво отформатилось))

> Паковщик хочу использовать существующий, просто сделать удобный
> формат
> для хранения уже сжатых файлов (на выбор пользователя
> bzip2/gzip/что-то ещё). Пользователь сделает myarchiver cvf
> something.mar file1.txt file2.png directory3 directory4 symlink5
> device6 socket7, оно сожмётся и будет засунуто в something.mar.


то есть повторить tar как я понимаю..(сначала gzip/bzip2, потом tar/cpio) - ДЫк это-ж почти rpm ;-)

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

Конечно написать архиватор a-la tar интерестно, но он 99.9(9) пополнит 'кладбище домашних проектов на sf.net'

Сделайте(подберите) лучше коллекцию скриптов по работе с tar, и (или) сделайте интерактивную оболочку реализующую максимально полно возможности архиватора. Будет действительно хорошая помощ для новичков, да и возможно не только для них.

PS : форум видимо мало предназначем для длинных сообщений.. видимо только для неинформативно-эмоциональных восклицаний ;( (это про формат по умолчанию)

MKuznetsov ★★★★★
()
Ответ на: комментарий от mikhail

> Вопросик: можно ли переместить блок какого-нибудь (напишите какого) размера из конца файла в середину моментально (без чтения и записи всего блока)? Это для удаления файлов из архивов.

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

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

>Конечно написать архиватор a-la tar интерестно, но он 99.9(9) пополнит 'кладбище домашних проектов на sf.net'

zip там? rar там? 7zip там? tar не катит, я уже объяснил почему, в самом первом сообщении. Сделать кучу bz2 и запихать в tar тоже не особо хорошо - из него нельзя моментально удалить файл, чтобы при этом размер уменьшился.

mikhail
() автор топика
Ответ на: комментарий от MKuznetsov

>PS : форум видимо мало предназначем для длинных сообщений.. видимо только для неинформативно-эмоциональных восклицаний ;( (это про формат по умолчанию)

Не используй Preformatted text. Также прочитай:

(В режиме Tex paragraphs игнорируются переносы строк. Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования).

mikhail
() автор топика
Ответ на: комментарий от MKuznetsov

Господа, используйте, пожалуйста, режим "User line break", а то несколько неудобно читать ваши посты со строками на три экрана горизонтальной прокрутки.

K48 ★★★★
()

>1) нельзя в tar.gz/tar.bz2 прочитать последний файл в большом архиве, не ?>прочитав весь архив, нельзя моментально получить список файлов, нельзя удалить >какие-то файлы из архива;

бред, надо просто немного подумать и все появиться, конкретно:

чтобы получить список файлов не распоковывыя весь архив, надо просто его сохранить рядом с с самим архивом, это unix way.

чтобы не распоковывать весь архив чтобы получить последний файл, надо сжимать
не все файлы как один, а каждый по отдельности, чтобы и делают остальные архиваторы.

все эти функции реальзуют простейшие скрипты,
зачем изобретать велосипед.

anonymous
()

Хочу посмотреть реализации tar, zip, 7z (подскажите ещё открытые архиваторы) и объединить фичи. Писать это дело видимо надо на C под GPL.

mikhail
() автор топика
Ответ на: комментарий от anonymous

>чтобы получить список файлов не распоковывыя весь архив, надо просто его сохранить рядом с с самим архивом, это unix way.

В некоторых ситуациях нужно обойтись ровно одним файлом.

>чтобы не распоковывать весь архив чтобы получить последний файл, надо сжимать не все файлы как один, а каждый по отдельности, чтобы и делают остальные архиваторы.

Конечно.

>все эти функции реальзуют простейшие скрипты, зачем изобретать велосипед.

А зачем вместо того, чтобы сделать вещь, прикручивать костыли? Кстати, как удалить файл из архива моментально, уменьшив при этом размер?

mikhail
() автор топика
Ответ на: комментарий от theserg

Да уж ты точно ничего не сделаешь, никогда. Так что зря с такими каментами вылезаешь. Убог ты для таких дел.

Debiloid
()
Ответ на: комментарий от boatman

> я вот не знаю, есть ли возможность создавать автономные самораспаковывающиеся архивы. если файл архивирован bzip2 и в системе только gzip и нет доступа в ИНет - уже небольшая проблема.

shar

ivlad ★★★★★
()
Ответ на: комментарий от ivlad

>Зачем? Если шифровать захочется - я лучше в gpg пущу.

Заксорить файлы и список файлов паролем и все дела. Нахрена тут асимметричное шифрование?

mikhail
() автор топика

Если выражаться тервинами WinRAR, то tar.gz/tar.bz2 это "непрерывный архив" и поэтому вы пишите о проблеме 1.
Если вы хотите её избежать, то делайте архивы gz.tar/bz2.tar.

unDEFER ★★★★★
()
Ответ на: комментарий от unDEFER

Да, об этом же писал anonymous (*) (19.08.2005 0:15:27)
А про моментальное удаление файла с уменьшением размера -- это, извините, ни один архиватор реально красиво (без перезаписи всего архива) не сделает. Даже просто вырезать строку из файла без перезаписи его (точнее той части что идёт после вырезания) на диск невозможно (с современными файловыми системами/хранителями информации).

unDEFER ★★★★★
()
Ответ на: комментарий от unDEFER

да, быстро вырезать кусок из файла современные ФС не умеют..
впоминается VMS с его дивной системой у которой был специальный
тип файлов - VLR (volatile length record) если не ошибаюсь, 
так вот там это было вполне возможно..Правда там ФС ещё и версии файлов поддерживала ;-)

MKuznetsov ★★★★★
()
Ответ на: комментарий от unDEFER

>А про моментальное удаление файла с уменьшением размера -- это, извините, ни один архиватор реально красиво (без перезаписи всего архива) не сделает. Даже просто вырезать строку из файла без перезаписи его (точнее той части что идёт после вырезания) на диск невозможно (с современными файловыми системами/хранителями информации).

Можно конец архива засунуть в середину.

mikhail
() автор топика
Ответ на: комментарий от mikhail

> Можно конец архива засунуть в середину.
И что получится? Фрагментированный файл на три фрагмента? Причём не на уровне ФС, а какой-то вашей системы (вашего архиватора)? А нафига?

unDEFER ★★★★★
()
Ответ на: комментарий от MKuznetsov

:-) Любопытно. Но ничего до этого я об этом не слышал :-/

unDEFER ★★★★★
()
Ответ на: комментарий от MKuznetsov

Вообще-то в RMS можно было удалить любой record, в любом типе файлов.

Debiloid
()
Ответ на: комментарий от mikhail

>Заксорить файлы и список файлов паролем и все дела.

Не знаю как архиваторами, но шифрованием тебе точно пока лучше не заниматься.

thand
()
Ответ на: комментарий от K48

>Ну да, это невозможно в принципе без распаковки solid архива.
Однако что мешает вытащить из bz2 список файлов, записать этот список в файл и поместить bz2 и файл списка файлов в файл контейнер ?
IMHO довольно не плохая идея.

cpu
()

Миша дело говорит. Просто он вам, кажется, не до конца свою идею рассказал.

Итак, чего хочется от нового архиватора:

-- возможность оперировать отдельными членами архива, не сжимая/разжимая весь архив (как в zip);
-- шифровать и подписывать члены архива;
-- поддержка Unicode в именах членов архива;
-- поддержка прав доступа, владельцев и прочих расширенных атрибутов для каждого члена;
-- контрольная сумма членов архива;
-- возможность применения _различных_ алгоритмов для шифрования, цифровой подписи и сжатия файлов.

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

Что думает общественность?

Deleted
()
Ответ на: комментарий от Deleted

Что swiss army knife надо засунуть вендузятникам в анусы, и прокрутить по три раза. Если не дойдёт до баранов - то ещё по три раза повторить.

Unix way рулит. На КАЖДУЮ из перечисленных задач нужна отдельная тулзень.

Debiloid
()
Ответ на: комментарий от mikhail

>Заксорить файлы и список файлов паролем и все дела. Нахрена тут асимметричное шифрование?

tar -c -f- /home/michail | gpg -c > file.tar.gpg

Где здесь ассиметричное шифрование? Можно еще прогресс бар на pv в строку впихнуть, если очень охота. Можно mcrypt или aespipe вместо gpg. А по поводу заксорить, то за такое надо бить по голове книгой Шнайера до полного просветления.

anonymous
()
Ответ на: комментарий от Deleted

>Итак, чего хочется от нового архиватора:

-- шифровать и подписывать члены архива; -- возможность применения _различных_ алгоритмов для шифрования, цифровой подписи и сжатия файлов.

gpg это умеет, он не только ассиметричным шифрование занимается. Да и сжать шифрованый файл спомошью zip,zlib,bzip2 он тоже может. Читать gpg --version и man gpg.

-- контрольная сумма членов архива;

тем же gpg можно считать и контрольные суммы.

Выше есть простенкий пример как этим пользоваться.

thand
()
Ответ на: комментарий от anonymous

tar -c -f- /home/michail | bzip2 -c | gpg -c --cipher-algo AES256 > file.tar.bz2.gpg

Так прокатит?

Целостность архива тоже будет обеспечена - если он поврежден, то выскочат ошибки, но можно восстановить попакетно.

anonymous
()
Ответ на: комментарий от anonymous

bzcat -c file.tar.bz2 | gpg --decrypt | (cd /home/michail ; tar xv)

UNIX WAY!

И так почти все можно сделать. Нафига изобретать навороченный архиватор с кучей неизбежных дыр? это уже offtopic way.

anonymous
()

лучше напиши продвинутый конфигуратор монитора для кде, что бы либо вендовые инф файлы воспринимал либо позволял вручную и удобно выставлять все нужные параметры монитора. и чтобы не надо было для этого ковыряться в xorg.conf.

anonymous
()
Ответ на: комментарий от Deleted

> Что думает общественность?

Общественность уже высказалась - "эти задачи уже решены благодаря юниксвэй"

anonymous
()
Ответ на: комментарий от mikhail

> Заксорить файлы и список файлов паролем и все дела. Нахрена тут асимметричное шифрование?

А нахрена такое шифрование?

ivlad ★★★★★
()
Ответ на: комментарий от ivlad

>А нахрена такое шифрование?

А ты можешь взломать? Хотя в некоторых случаях, когда злоумышленнику известна часть данных, взломать можно. Но можно подумать насчёт шифрования.

mikhail
() автор топика
Ответ на: комментарий от mikhail

>А ты можешь взломать? Хотя в некоторых случаях, когда злоумышленнику известна часть данных, взломать можно. Но можно подумать насчёт шифрования

А этот самый список файлов, который и есть ключ, ты будешь вместе с архивом хранить или на словах передовать?
Типа "запомни, пароль:
music/Ferry Corsten/02-Ferry Corsten - Live In Ibiza
music/Ferry Corsten/02-Ferry Corsten - Live In Ibiza/01-Ferry Corsten - Live In Ibiza-01.mp3
music/Ferry Corsten/02-Ferry Corsten - Live In Ibiza/02-Ferry Corsten - Live In Ibiza-02.mp3
music/Ferry Corsten/02-Ferry Corsten - Live In Ibiza/03-Ferry Corsten - Live In Ibiza-03.mp3
music/Ferry Corsten/02-Ferry Corsten - Live In Ibiza/04-Ferry Corsten - Live In Ibiza-04.mp3
music/Ferry Corsten/02-Ferry Corsten - Live In Ibiza/05-Ferry Corsten - Live In Ibiza-05.mp3
music/Ferry Corsten/02-Ferry Corsten - Live In Ibiza/06-Ferry Corsten - Live In Ibiza-06.mp3
music/Ferry Corsten/02-Ferry Corsten - Live In Ibiza/07-Ferry Corsten - Live In Ibiza-07.mp3
music/Ferry Corsten/02-Ferry Corsten - Live In Ibiza/08-Ferry Corsten - Live In Ibiza-08.mp3
music/Ferry Corsten/02-Ferry Corsten - Live In Ibiza/09-Ferry Corsten - Live In Ibiza-09.mp3
music/Ferry Corsten/02-Ferry Corsten - Live In Ibiza/10-Ferry Corsten - Live In Ibiza-10.mp3"

Да и на маленьких паролях xor обеспечивает просто никакое шифрование.

thand
()
Ответ на: комментарий от Ypog

>Какой же ты всё таки примитивный. Не стыдно?

А ты крутой хакир? Насчёт шифрования - разберусь с этим вопросом.

mikhail
() автор топика
Ответ на: комментарий от mikhail

Примитивные люди от непримитивных отличаются тем, что сначала сморозят чушь, а потом идут разбираться (крайне редко). Непримитивный сначала разберётся, а потом выскажется.

Ypog
()
Ответ на: комментарий от K48

> Господа, используйте, пожалуйста, режим "User line break", а то несколько неудобно читать ваши посты со строками на три экрана горизонтальной прокрутки.

Opera + Fit to window width рулит! ;)

anonymous
()
Ответ на: комментарий от Deleted

>Итак, чего хочется от нового архиватора:

Есть такие. Готовые. Целая куча. ext3, reiserfs, и еще вагон и маленькая тележка.

DonkeyHot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.