распаковка tarball с жесткими ссылками на файловую систему, которая не поддерживает жесткие ссылки

Я получил tarball (скажем t.tar.gz ), который содержит следующие файлы

 ./a/a.txt ./b/b.txt 

где ./b/b.txt – это жесткая ссылка на ./a/a.txt .

Я хочу распаковать tarball в сетевой файловой системе (AFS), которая поддерживает только жесткие ссылки в том же каталоге (см. Здесь ). Поэтому, просто tar -xzf t.tar.gz его через tar -xzf t.tar.gz возникает ошибка, из-за ./b/b.txt невозможно создать жесткую ссылку ./b/b.txt .

До сих пор мое решение проблемы состояло в распаковке ./t.tar.gz в файловой системе, которая поддерживает обычные жесткие ссылки. Затем упакуйте его снова с помощью опции --hard-dereference как предлагает руководство по GNU tar . И, наконец, распакуйте этот новый архив в AFS.

Поскольку это неудовлетворительно для меня, я спрашиваю, есть ли более простой способ получить содержимое архива, распакованного непосредственно в его конечный пункт назначения? Например, эквивалентный вариант --hard-dereference для распаковки вместо архивации?

  • Перемещение файлов между Linux и OpenBSD и сохранение свойств файла
  • tar исключить файлы * .zip
  • tar и его ключевые буквы: это ошибка или функция?
  • Открыть tar-файл, который заканчивается на .b
  • Фильтровать дубликаты имен файлов с помощью tar
  • Untar File.tar.gz из оболочки с вложенным .tar
  • Почему я не могу распаковать файлы .tar.bz2 или .tar.xz?
  • Как перенести папку rootfs?
  • One Solution collect form web for “распаковка tarball с жесткими ссылками на файловую систему, которая не поддерживает жесткие ссылки”

    Установите архив как каталог, например, с помощью AVFS , затем используйте свой любимый инструмент копирования файлов.

     mountavfs cp -a --no-preserve=links ~/.avfs/path/to/t.tar.gz\# target-directory/ 

    или

     mountavfs rsync -a ~/.avfs/path/to/t.tar.gz\#/ target-directory/ 
    Interesting Posts

    Ошибка установки конфигурации CentOS

    Извлечь первое слово после шаблона, которое включает “

    Удалите n-ые кадры gif (удалите кадр каждые n кадров)

    Программное обеспечение для торговли на фондовой бирже Linux?

    file-roller: произошла ошибка при загрузке архива (Zip / 7z)

    Редактор Кейт: как перейти к модифицированным линиям?

    Я получаю «Имя или услугу неизвестно» в Linux Kali при подключении с адаптером Virtualbox Bridged Adapter

    Сценарий оболочки для поиска файлов для идентичных текстовых записей

    Как X11 взаимодействует с ядром / выполняет вход в систему

    Использовать динамически полученное имя хоста с записью конфигурации ssh

    Как искать несколько шаблонов в grep, игнорируя первый шаблон, если он появляется последовательно

    Как определить, какой пользователь был использован для запуска Apache Tomcat в последний раз (или последние несколько раз)

    Замените awk и tr просто awk для преобразования в строчный регистр

    Mplayer2 застрял, когда я нажимаю клавиши XF86Audio

    SSHD-клонирование – что-то особенное, чтобы иметь в виду, по сравнению с HDD?

    Linux и Unix - лучшая ОС в мире.