1

Я хочу скопировать образ локального диска на другой компьютер в локальной сети. Это большой каталог (около 15 ГБ), и для ускорения я использую этот маленький трюк:

cd /Volumes/myserver
tar -cvzf image-dir.gz  /Users/francis/image-dir/

Для распаковки я могу использовать:

cd /
tar -xvzf /Volumes/myserver/image-dir.gz

Идея заключается в улучшении производительности путем отправки только сжатых данных по сети. Однако неясно, выполняет ли tar сжатие до или после отправки данных по сети. Кто-нибудь знает?

Альтернативные решения также приветствуются.

2 ответа2

2

Насколько это эффективно, зависит от того, где выполняются ваши команды и где находятся данные.

Предполагая, что:

  1. /Volumes/myserver - это сетевой ресурс,
  2. /Users/francis/image-dir находится на локальном диске клиента, и
  3. обе команды создания и извлечения выполняются на клиенте,

Я думаю, что вы правы - никакие несжатые данные не пересекают сеть.

  • В случае создания вы читаете несжатые данные с локального диска, сжимаете их и записываете сжатые данные на сетевой диск. Сетевая передача сжата.

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

0

Я видел, как друзья передают вывод tar через netcat но я не понимаю синтаксис. Справочные страницы и быстрый поиск в сети должны помочь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .