Есть ли утилита наподобие rsync, но со скоростью btrfs COW?

The child process created by clone(2) with the CLONE_NEWUSER flag starts out with a complete set of capabilities in the new user namespace. Likewise, a process that creates a new user namespace using unshare(2) or joins an existing user namespace using setns(2) gains a full set of capabilities in that namespace. On the other hand, that process has no capabilities in the parent (in the case of clone(2)) or previous (in the case of unshare(2) and setns(2)) user namespace, even if the new namespace is created or joined by the root user (i.e., a process with user ID 0 in the root namespace).

...

When a non-user-namespace is created, it is owned by the user namespace in which the creating process was a member at the time of the creation of the namespace. Actions on the non-user-namespace require capabilities in the corresponding user namespace.

--http://man7.org/linux/man-pages/man7/user_namespaces.7.html

Вы не можете получить необработанный сетевой доступ к сетевым интерфейсам, которыми вы не владеете!

$ unshare -r
# ping -c1 127.0.0.1
ping: socket: Operation not permitted

Сравните:

$ unshare -rn
# ping -c1 127.0.0.1
connect: Network is unreachable
# ip link set dev lo up    # apparently the `lo` interface is pre-created.
# ping -c1 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.048 ms

--- 127.0.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.048/0.048/0.048/0.000 ms
1
29.01.2020, 09:00
2 ответа

Программа rsync не записывает разницу, поэтому ей приходится сканировать все дерево каталогов.

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

-1
28.04.2021, 23:25

Directory modification times are independent of file modification times. – roaima Jan 29 at 7:41

Из-за моего непонимания времени модификации каталога (, по крайней мере, для ext4 и т. д. )кажется, что такой алгоритм невозможен из-за отсутствия использования файловой системы, которая обеспечивает «файл в подкаталоге имеет было изменено" -время. (Или, в качестве альтернативы, установка fs только для чтения -, если не запущен демон модификации файлов для отслеживания изменений в более позднем rsync... ew.)

Предварительно отвечу на этот вопрос: «Такой алгоритм, скорее всего, непригоден для нормальной файловой системы, потому что mtimes dir не зависят от mtimes файлов; просто используйтеbtrfs send

0
28.04.2021, 23:25

Теги

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