Как я могу применить патч-p0 из какого-либо рабочего каталога?

rsync уже обеспечивает сжатие, когда Вы указываете опцию -z. Необходимо постараться не применять эту опцию для уже сжатых файлов или двоичных файлов, поскольку она просто представит дополнительные издержки.

При использовании rsync с ssh протоколом (значение по умолчанию) и Вы только ограничили ресурсы ЦП, и безопасность не является проблемой, можно также попытаться указать -e ssh -c arcfour использовать менее дорогой алгоритм шифрования (RC4). На современных центральных процессорах это не будет иметь никакого большого значения, все же.

Другие интересные аргументы можно хотеть использовать:

  • -vP для хорошего индикатора выполнения и сохраняют частично переданные файлы при прерывании, таким образом, можно возобновиться из частичного файла в следующий раз, когда Вы работаете rsync
  • -a сохранить большинство (но не все!) метаданные файла, такие как полномочия и время изменения
26
11.11.2014, 01:07
2 ответа

Глядя на исходный код патча GNU, такое поведение собирается начиная с версии 2.7. Начиная с патча GNU 2.7.1, только относительные пути не содержат ... принимаются, если только текущий каталог не является корневым.

Чтобы применить патч, содержащий абсолютные пути, вы можете использовать

(cd / && sudo patch -p0) <foo.patch

В последних версиях патча GNU вы можете просто

sudo patch -d/ -p0 <foo.patch
35
27.01.2020, 19:40

По крайней мере, с патчем GNU 2.7.6 можно указать имя файла:

patch /usr/share/apps/plasma/packages/org.kde.pager/contents/ui/main.qml /tmp/fix_kde_icons.patch
2
03.03.2020, 13:42

Теги

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