Как использовать 7z для сжатия через канал?

Редактирование OP:

Хорошо. Я нашел ответ на этой странице: http://pptpclient.sourceforge.net/routing.phtml#lan-to-lan-via-adsl

Это, кажется, работает:

route add -net 192.168.0.0 netmask 255.255.0.0 dev ppp0
iptables --insert OUTPUT 1 --source 0.0.0.0/0.0.0.0 --destination 192.168.0.0/16 --jump ACCEPT --out-interface ppp0
iptables --insert INPUT 1 --source 192.168.0.0/16 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT --in-interface ppp0
iptables --insert FORWARD 1 --source 0.0.0.0/0.0.0.0 --destination 192.168.0.0/16 --jump ACCEPT --out-interface ppp0
iptables --insert FORWARD 1 --source 192.168.0.0/16 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT
iptables --table nat --append POSTROUTING --out-interface ppp0 --jump MASQUERADE
iptables --append FORWARD --protocol tcp --tcp-flags SYN,RST SYN --jump TCPMSS --clamp-mss-to-pmtu

16
13.08.2013, 14:57
5 ответов

Есть ли причина, которую Вы хотите использовать 7z а именно, или сделайте Вас, просто хотят лучшее сжатие, чем gzip?

xz утилита использует тот же алгоритм сжатия как 7z (LZMA), и позволяет переданному по каналу сжатию то же как gzip.

tar cvf ... | xz -9 | openssl ...
6
27.01.2020, 19:48
  • 1
    Причиной, в которой я лично нуждался конкретно 7z, является способность разделить к нескольким объемам –  Unirgy 16.12.2015, 12:00
  • 2
    xz не был многопоточным в то время (это еще не может быть), так на многоядерном компьютере, это могло быть намного медленнее, чем 7z –  Xen2050 25.04.2016, 22:59

Это охвачено в странице справочника 7z:

-si    Read data from StdIn (eg: tar cf - directory | 7z a -si directory.tar.7z)
25
27.01.2020, 19:48
  • 1
    , я могу поместить "|" и дальнейший процесс это после 7z? –  gasko peter 19.08.2013, 22:30
  • 2
    Можно использовать -so вывести сжатые данные по stdout вместо файла. –  Wieland 20.08.2013, 00:14

Чтобы быстро создать файл подготовки к удаленному резервному копированию всех моих домашних сценариев. Я использую следующее:

# Scripts backup
ls ~/*.sh | cpio -ov | 7z a -si ~/Documents/SCRIPT_BACKUP_30062017.cpio.7z
# Scripts restore
7z x -so ~/Documents/SCRIPT_BACKUP_30062017.cpio.7z | cpio -iv   

Причина, по которой я не делаю резервную копию своего «домашнего» корня, заключается в том, что я специально синхронизирую и отправляю только некоторые каталоги. Обратите внимание, как cpio будет пропускать и проверять наличие более новых существующих файлов при восстановлении. Это мощно. Ваша работа не будет перезаписана.

бутон@

1
27.01.2020, 19:48

только что заработало, postgres pgdumpallв файл 7zip :используйте set pgpassword=xxxxxперед вводом команды:

pg_dumpall -U postgres | c:\"program files"\7-Zip\7z.exe a -si e:\directory\output.file.sqlc

на его сброс и сжатие ушло всего 4 дня! 50201104790 байт (47 ГБ)

-1
27.01.2020, 19:48

Для протокола, поскольку эта ветка довольно старая.

7 -zip не разрешает потоковую запись формата 7z, требует свободного поиска, так как записывает, среди прочего, заголовок в конце операции. Тем не менее, он позволяет передавать стандартные форматы *nix, такие как bz2, gz, xz. Это также позволяет передавать один вход без ограничений(-siпереключатель ).

Таким образом, можно сжать один файл в формат 7z, но нельзя передать его дальше.

$ cat archive.tar | 7z a -si archive.tar.7z

Другие форматы, такие как bz2, gz, xz, могут быть записаны в stdout(-soswitch ).

$ cat archive.tar | 7z a -tgzip -si -so -an > archive.tar.gz

==

$ 7z a -si -so -tgzip -an < archive.tar > archive.tar.gz

Это, очевидно, позволяет передать его дальше:

$ cat archive.tar | 7z a -tgzip -si -so -an | wc -c

Обратите внимание на переключатель -an, который отключает синтаксический анализ архива _имя . Что она на самом деле делает, бог знает, -эта программа немного волшебна, и вы должны справляться с ее причудами. Пример такого поведения можно найти здесь .

1
19.05.2021, 23:45

Теги

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