Как получить tar к hardlink идентичному содержанию на лету во время создания архива?

Я не думаю, что Вы можете. xterm не должен быть установлен везде и действительно вероятно, не по умолчанию. Особенно, когда настольная среда используется, который обеспечивает ее собственный терминал.

Я думаю, что Ваш лучший выбор состоит в том, чтобы, вероятно, проверить на существование нескольких различных терминалов (скажите, xdg-terminal, x-terminal-emulator, gnome-terminal, konsole, xterm). И возможно работа для получения xdg-терминального на самом деле добавленный к стандартам FreeDesktop.org.

Затем Вы доберетесь, чтобы найти, что различные терминалы имеют различные пути к командам выполнения и иногда даже различные версии того же терминала..., например, см. Ошибку Debian № 648271.

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

4
10.05.2015, 10:52
1 ответ

На данный момент это невозможно с помощью GNU tar, но вещи существуют :

  • https://github.com/stfp/tar-dedup: исправленная GNU tar с экспериментальной командой --dedup-filter
  • http://zbackup. org/, который ест и выплёвывает потоки, отформатированные tar, и выводит

Обратите внимание, что жесткая привязка и вывод не имеют одинаковой семантики, нужен другой тип узла tar для представления "дублирующих данных", чтобы процесс извлечения архивов правильно воссоздавал дублирующие (и, таким образом, несомненно, живые) файлы; это создало бы несовместимые tar-архивы с большинством стандартных инструментов (GNU tar, pax и т.д.), что было бы жирным движением.

Позвольте мне настаивать: если бы вы смогли ассимилировать дубликаты с жестко связанными файлами, у вас возникла бы проблема при извлечении архивов: * действительно ли это жестко привязанные файлы, как в Git repo ? Тогда они должны быть действительно воссозданы как жесткосвязанные файлы, иначе восстановленный Git repo не будет работать ? * или это действительно идентичные файлы, и если бы они были восстановлены как жесткие связки, то в восстановленном архиве, вероятно, произошла бы серьёзная утечка данных (представьте, что вы ассимилировали идентичные файлы /etc/passwd во время архивирования, восстановите их как один файл с несколькими жёсткими связками: одна модификация в одной ВМ становится видимой в другой!)

3
27.01.2020, 20:57

Теги

Похожие вопросы