rsync --perms - какая разница

make helpв этом каталоге дает краткое описание:

Possible targets:

  acpi                   - ACPI tools
  cgroup                 - cgroup tools
  cpupower               - a tool for all things x86 CPU power
  firewire               - the userspace part of nosy, an IEEE-1394 traffic sniffer
  freefall               - laptop accelerometer program for disk protection
  gpio                   - GPIO tools
  hv                     - tools used when in Hyper-V clients
  iio                    - IIO tools
  kvm_stat               - top-like utility for displaying kvm statistics
  leds                   - LEDs  tools
  lguest                 - a minimal 32-bit x86 hypervisor
  net                    - misc networking tools
  perf                   - Linux performance measurement and analysis tool
  selftests              - various kernel selftests
  spi                    - spi tools
  objtool                - an ELF object analysis tool
  tmon                   - thermal monitoring and tuning tool
  turbostat              - Intel CPU idle stats and freq reporting tool
  usb                    - USB testing tools
  virtio                 - vhost test module
  vm                     - misc vm tools
  x86_energy_perf_policy - Intel energy policy tool

Однако это не все, что доступно. Немного подробнее:

  • accounting/getdelaysотображает различную информацию, относящуюся к планированию задач и процессов, включая переключение контекста (, добровольное и непроизвольное ), учет операций ввода-вывода и учет задержек;
  • cgroup/cgroup_event_listener— простой прослушиватель событий cgroup;
  • firewire/nosy-dumpвзаимодействует с драйвером режима отслеживания для контроллеров TI PCILynx 1394 (Firewire );
  • gpioсодержит несколько инструментов, связанных с контактами ввода-вывода общего назначения (GPIO -, обычно на одноплатных компьютерах -, таких как Raspberry Pi ), включая lsgpio, в котором перечислены доступные микросхемы GPIO. и линии;
  • hvсодержит ряд полезных инструментов для гостей Hyper -V;
  • iioсодержит инструменты, относящиеся к промышленному вводу-выводу -;
  • kvm/kvm_stat/kvm_statвыводит количество событий трассировки модуля ядра KVM, т. е. представление гостевой активности KVM со стороны хоста;
  • laptop/dslm/dslm— простой монитор сна диска;
  • laptop/freefall/freefallпо-видимому, реализует защиту диска на ноутбуках HP и Dell (, определяя падение ноутбука, парковку головок и их отключение после прекращения подачи сигнала тревоги );
  • leds/uledmonв основном представляет собой программу демонстрации светодиодов в пользовательском пространстве;
  • lguestсодержит минимальный 32 -битный гипервизор x86;
  • netсодержит несколько инструментов отладки BPF (, которые вам понадобятся libbfdдля сборкиbpf_jit_disasm);
  • nfsdсодержит сценарий для внедрения ошибок демона NFS;
  • objtoolсодержит инструмент анализа объектов ELF;
  • pcmcia/crc32hash— это пользовательская -реализация алгоритма CRC32 ядра;
  • perfсодержит уже известный вам инструмент perf;
  • power/acpiсодержит ряд инструментов, связанных с ACPI -;
  • power/cpupowerсодержит инструмент cpupower, библиотеку и т. д. для мониторинга и контроля управления питанием ЦП;
  • power/x86/turbostat/turbostatсообщает о топологии процессора, частоте, статистике энергопотребления в режиме ожидания, температуре и мощности на процессорах x86;
  • power/x86/x86_energy_perf_policy/x86_energy_perf_policyотображает и устанавливает политику энергоэффективности x86;
  • spi/spidev_test— инструмент тестирования SPI;
  • testingсодержит ряд инструментов для тестирования ядра;
  • thermal/tmonсодержит комплексный инструмент теплового мониторинга (, полезный, в частности, для определения взаимосвязей между охлаждающими устройствами и тепловым поведением );
  • time/udelay_test.sh— тестовый скрипт udelay();
  • usbсодержит ряд инструментов для тестирования USB, наряду с usb/usbip, который является хорошим клиент-серверным инструментом, позволяющим экспортировать USB-устройства с одного хоста на другой;
  • virtioсодержит тестовый модуль vhost;
  • vm/page-typesотображает подробную информацию о странице из подсистемы виртуальной памяти.

Эти инструменты не являются частью сборки ядра по умолчанию, и их необходимо собирать явно с использованием соответствующей цели или каталога, как указано make help. Многие из них имеют подробную документацию, которую вы можете прочитать, чтобы узнать больше.

-1
06.08.2019, 03:57
1 ответ

Параметр rsync -hпредставляет собой сводку, а не полную официальную документацию.

Я смог найти более подробную информацию, запустив man -P 'less -p --perms$' rsyncна rsync по умолчанию в MacOS. rsync --permsкопирует разрешения источника в разрешения назначения, как вы указали.

Из инструкции:

In summary: to give destination files (both old and new) the source permissions, use --perms. To give new files the destination-default permissions (while leaving existing files unchanged), make sure that the --perms option is off and use --chmod=ugo=rwX (which ensures that all non-masked bits get enabled).

Пользователь может просто не захотеть копировать разрешения исходного файла в целевой файл. Например, при копировании локального файла конфигурации на удаленный сервер у удаленного сервера может быть другой набор разрешений.

Приведенный выше вариант использования поддерживается rsync's --chmod. Другие параметры rsync, такие как --executabilityи --no-perms, предлагают еще больше вариантов использования, в которых мы не можем предположить, что каждый пользователь/вариант использования ожидает, что файлы назначения будут соответствовать источнику.

Разница в том, что --permsпринуждает исходные разрешения к месту назначения, в то время как поведение по умолчанию (нет--perms)зависит от umask или setgid рассматриваемых каталогов и/или процессов.

Чуть дальше та же ручная запись:

When this option is off, permissions are set as follows:

  • Existing files (including updated files) retain their existing permissions, though the ‑‑executability option might change just the execute permission for the file.
  • New files get their "normal" permission bits set to the source file's permissions masked with the receiving end's umask setting, and their special permission bits disabled except in the case where a new directory inherits a setgid bit from its parent directory.
2
28.01.2020, 05:08

Теги

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