- k и-l опции в rysnc

Когда считано руководство rsync, Я нашел это

    -l, --links                 copy symlinks as symlinks
    -L, --copy-links            transform symlink into referent file/dir
        --copy-unsafe-links     only "unsafe" symlinks are transformed
        --safe-links            ignore symlinks that point outside the tree
        --munge-links           munge symlinks to make them safer
    -k, --copy-dirlinks         transform symlink to dir into referent dir
    -K, --keep-dirlinks         treat symlinked dir on receiver as dir

-l соответствие к -K и -L к '-k'

-k и-K являются всего лишь дублированием-l и-L,

У них просто совместимый назад или есть какие-либо различия?

0
задан 16 January 2019 в 00:22

1 ответ

См. выборку ниже

- l, - ссылки, Когда с символьными ссылками встречаются, воссоздают символьную ссылку на месте назначения.

- k, - копируют-dirlinks Эти причины опции передающая сторона для обработки символьной ссылки на каталог, как будто это был реальный каталог. Это полезно, если бы Вы не хотите, чтобы символьные ссылки на некаталоги были затронуты, поскольку они использовали бы - ссылки копии.

Без этой опции, если передающая сторона заменила каталог символьной ссылкой на каталог, сторона получения удалит что-либо, что находится в способе новой символьной ссылки, включая иерархию каталогов (как долго как - сила или - удаляет, в действительности).

См. также - сохраняют-dirlinks для аналогичной опции для стороны получения.

- копия-dirlinks относится ко всем символьным ссылкам на каталоги в источнике. Если Вы хотите следовать только за несколькими указанными символьными ссылками, прием, который можно использовать, должен передать их как дополнительный источник args с запаздывающей наклонной чертой, использование - относительно заставляет пути подойти право. Например:

  rsync -r --relative src/./ src/./follow-me/ dest/

Это работает, потому что rsync называет lstat (2) на исходном аргументе, как дали, и запаздывающая наклонная черта делает lstat (2), следуют за символьной ссылкой, давая начало каталогу в списке файлов, который переопределяет символьную ссылку, найденную во время сканирования "src/. /".

- L, - ссылки копии, Когда с символьными ссылками встречаются, объект, на который они указывают на (референт), копируется, а не символьная ссылка. В более старых версиях rsync эта опция также имела побочный эффект сообщения стороне получения следовать за символьными ссылками, такими как символьные ссылки на каталоги. В современном rsync, таком как этот, необходимо будет указать - остаются-dirlinks (-K) для получения этого дополнительного поведения. Единственное исключение при отправке файлов в rsync, который слишком стар для понимания-K - в этом случае,-L опция будет все еще иметь побочный эффект-K на том более старом получении rsync.

- K, - сохраняют-dirlinks Эти причины опции стороной получения для обработки символьной ссылки на каталог, как будто это был реальный каталог, но только если это соответствует реальному каталогу от отправителя. Без этой опции символьная ссылка получателя была бы удалена и заменена реальным каталогом.

Например, предположите передачу каталога "нечто", которое содержит файл "файл", но "нечто" является символьной ссылкой на каталог "панель" на получателе. Без - сохраняют-dirlinks, получатель удаляет символьную ссылку "нечто", воссоздает его как каталог и получает файл в новый каталог. С - сохраняют-dirlinks, получатель сохраняет символьную ссылку, и "файл" заканчивается в "панели".

Одно предупреждение: если Вы используете - сохраняют-dirlinks, необходимо доверять всем символьным ссылкам копии! Если для недоверяемого пользователя возможно создать их собственную символьную ссылку на какой-либо каталог, пользователь мог затем (на последующей копии), заменяют символьную ссылку реальным каталогом и влияют на содержание любого каталога ссылки символьной ссылки. Для резервных копий Вы - более обеспеченное использование, что-то как связывание монтируется вместо символьной ссылки для изменения иерархии получения.

См. также - копируют-dirlinks для аналогичной опции для передающей стороны.

Для случая -L и -K:

  • -L: Когда с символьными ссылками встречаются, объект, на который они указывают (референт) копируется, а не символьная ссылка.
  • -K: Эта опция заставляет сторону получения рассматривать символьную ссылку на каталог, как будто это был реальный каталог, но только если это соответствует реальному каталогу от отправителя. Без этой опции символьная ссылка получателя была бы удалена и заменена реальным каталогом.

Для случая -l и -k:

  • -l: Когда с символьными ссылками встречаются, воссоздают символьную ссылку на месте назначения.
  • -k: Эта опция заставляет передающую сторону рассматривать символьную ссылку на каталог, как будто это был реальный каталог. Это полезно, если бы Вы не хотите, чтобы символьные ссылки на некаталоги были затронуты, поскольку они использовали бы - ссылки копии.

См.: https://ss64.com/bash/rsync_options.html

1
ответ дан 26 October 2019 в 13:03

Другие вопросы по тегам:

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