那里有很多类似的问题,但似乎没有一个能解决我的问题:每次,罪魁祸首都是合法的权限问题,或者不兼容的文件系统,这些都没有任何意义。
我正在使用 rsync 在 ext4 文件系统上本地传输文件。一个最小的例子是:
cd /tmp
touch blah
mkdir test
rsync -rltDvp blah test
返回错误:
rsync: [receiver] failed to set permissions on "/tmp/test/.blah.Gyvvbw": Function not implemented (38)
并且这些文件具有不同的权限:
-rw-r--r-- 1 ted ted 0 Sep 29 15:49 blah
-rw------- 1 ted ted 0 Sep 29 15:49 test/blah
我以用户身份运行 rsync ted
,文件系统是 ext4,因此它应该可以很好地支持权限。这是来自的相应行df -Th
:
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/c--3px--vg-root ext4 936G 395G 494G 45% /
我在 Debian Sid、内核 5.10.0-6-amd64 上运行 rsync 3.2.3 协议版本 31。
答案1
OP 写道,
apt-get update && apt-get upgrade
,显然已升级rsync
(至版本 3.2.3-8),解决了该问题。
该错误可能是由lchmod
对fchmodat
GNU C 库的更改。