The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Обновление GNU tar 1.16

11.11.2006 21:36

После нескольких лет разработки выпущена новая версия GNU tar 1.16.

Главным новшеством является несовместимое с прошлыми версиями изменение алгоритма обработки спецсимволов в именах файлов. Например, для команды "tar xf foo.tar '*.c'" прошлые версии gnu tar извлекали из архива все файлы заканчивающиеся на ".c", начиная с версии 1.16 будет извлечен только файл с именем "*.c" (работа с масками прекращена, для включения прежнего режима введены опции "--wildcards", "--anchored", "--ignore-case" и "--wildcards-match-slash").

Кроме того, появились новые опции:

  • --transform - преобразование имен перед помещением в архив, например: tar cf foo.tar --transform 's,^,prefix/,'.
  • --mtime - позволяет изменить время модификации для файлов в архиве;
  • В командной строке теперь можно задавать несколько -T (--files-from) опций подряд, причем в файлах задаваемых через опцию -T могут быть заданы другие опции tar.
  • --no-unquote - запрещает проверку на уникальность файла перед включением его в архив;
  • --to-command - передача вывода команды tar через pipe заданной программе;
  • --delay-directory-restore - восстановление атрибутов директорий после распаковки всех файлов из архива;

    1. Главная ссылка к новости (http://freshmeat.net/projects/...)
    2. changelog
    Лицензия: CC BY 3.0
    Короткая ссылка: https://opennet.ru/8800-tar
    Ключевые слова: tar
    При перепечатке указание ссылки на opennet.ru обязательно


    Обсуждение (9) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Dyr (??), 22:58, 11/11/2006 [ответить]  
  • +/
    >Главным новшеством является несовместимое с прошлыми версиями изменение алгоритма обработки спецсимволов в именах файлов.
    Ну и вот нахрена так делать? Какому идиоту пришла в голову такая идея? Добавили бы флаг "не рассматривать как wildcard", и тогда можно было бы сохранить совместимость со старым вариантом, использующимся в тысячах скриптах, и было бы им "новшество". Пипец, новоманы, мля.
     
     
  • 2.2, Аноним (-), 23:18, 11/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну и вот нахрена так делать? Какому идиоту пришла в голову такая
    >идея? Добавили бы флаг "не рассматривать как wildcard", и тогда можно
    >было бы сохранить совместимость со старым вариантом, использующимся в тысячах скриптах,
    >и было бы им "новшество". Пипец, новоманы, мля.

    Думать надо было раньше, когда вилдкартами в gnu tar сломали совместимость с классическим tar.
    Будет хорошим уроком писателям скриптов под не под tar, а под gnu tar.

     

  • 1.3, Damon (??), 08:30, 12/11/2006 [ответить]  
  • +/
    Хм, а в рук-вах написано, что "*" не программа разворачивает, а оболочка (shell)... В новости шаблон "*.c" взят дополнительно в одинарные кавычки ("tar xf foo.tar '*.c'"), следовательно shell его не обрабатывает и как есть передает tar'у. Как я понимаю, если опустить кавычки ("tar xf foo.tar *.c"), shell сама развернет шаблон в список файлов и передаст его программе.
    PS. А много ли народу пользовалось сей возможностью tar'а? Т.е. передавали ему шаблон в одинарных кавычках...
     
     
  • 2.4, Damon (??), 08:32, 12/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Тьфу, извеняюсь, пропустил кусок:
    "прошлые версии gnu tar извлекали из архива все файлы заканчивающиеся на ".c""
    -- вопрос снимается...
     

  • 1.5, nowinter (?), 11:04, 12/11/2006 [ответить]  
  • +/
    агуенно, девелоперы во всей красе. сначала - тудой, потом - судой. чтоб враг, мля, не рассламлялся
     
  • 1.6, rihad (?), 18:33, 12/11/2006 [ответить]  
  • +/
    > --to-command - передача вывода команды tar через pipe заданной программе;

    GNU в очередной раз идет врознь с одной из основных философий Unix: объединение нескольких простых команд, выполняющих одну специфическую задачу для решения одной сложной задачи. На фига им было дублировать фунционал шелла для пайпов я не пойму. Биты шлифуют? Или им показалось что не на всех юниксах есть шелл? :) Или на кофеварке, где шеллу не место, tar будет зерна кофе на лету распаковывать?..

     
     
  • 2.7, kait (??), 05:20, 13/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    А как с помощью шелла передать вывод команды tar уже работающей программе? (я честно не знаю!)
     
     
  • 3.8, GateKeeper (??), 08:41, 13/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Возможно, через тот же pipe? Или "именованный канал" (fifo)?
     
  • 3.9, www.andr.ru (?), 14:34, 13/11/2006 [^] [^^] [^^^] [ответить]  
  • +/
    > GNU в очередной раз идет врознь с одной из основных философий Unix

    GNU, linux и даже BSD - уже давно не UNIX.
    UNIX - это вот
            http://cm.bell-labs.com/plan9/
            http://metacomputer.ru/plan9/

    т.е. не она сама, а самая что ни на есть философия UNIX.
    все остальные нагло пользуются чужой торговой маркой.
    вообще только очень не ленивому человеку могла прийти в голову идея писать.
       --wildcard-i-do-not-use-now
    умная голова рукам покоя не даёт :-)

    > А как с помощью шелла передать вывод команды tar

    man tar
    -O      (x, t modes only) In extract (-x) mode, files will be written to
                 standard out rather than being extracted to disk.  In list (-t)
                 mode, the file listing will be written to stderr rather than the
                 usual stdout.

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру