[Bug 2103377] [NEW] rsync problem with local copying and --fake-super
Ken Preslan
2103377 at bugs.launchpad.net
Mon Mar 17 02:49:31 UTC 2025
Public bug reported:
I'm running rsync version 3.2.7-1ubuntu1.2 on an up-to-date installation
of Ubuntu Server 24.04.2.
I use rsync to copy files to a removable disk for backup purposes. As
far as rsync is concerned, the copy is from one local path to another.
I use --remote-option=--fake-super to encode the file metadata in the
destination copy. I'm seeing a problem where the destination data is
put in the wrong place.
The simple steps I found to reproduce this in just one directory of an
ext4 file system are below. Notice a copy of source_dir wasn't put into
dest_dir. It was put in a directory named ''$'\001' to ls and '?' to
find. The directory name is random binary garbage.
<root at noble>ls -la
total 8
drwxr-xr-x 2 root root 4096 Mar 16 21:19 .
drwx------ 13 root root 4096 Mar 16 21:16 ..
<root at noble>mkdir source_dir
<root at noble>echo data > source_dir/testfile
<root at noble>mkdir dest_dir
<root at noble>rsync -a --remote-option=--fake-super source_dir dest_dir/
<root at noble>ls -la
total 20
drwxr-xr-x 3 root root 4096 Mar 16 21:20 ''$'\001'
drwxr-xr-x 5 root root 4096 Mar 16 21:20 .
drwx------ 13 root root 4096 Mar 16 21:16 ..
drwxr-xr-x 2 root root 4096 Mar 16 21:20 dest_dir
drwxr-xr-x 2 root root 4096 Mar 16 21:20 source_dir
<root at noble>find .
.
./dest_dir
./source_dir
./source_dir/testfile
./?
./?/source_dir
./?/source_dir/testfile
If I check our the rsync git repository and compile a upstream version
of rsync 3.2.7 or 3.4.1 (the latest), I don't see this issue. The copy
of source_dir was put into dest_dir as expected.
<root at noble>ls -la
total 8
drwxr-xr-x 2 root root 4096 Mar 16 21:41 .
drwx------ 13 root root 4096 Mar 16 21:41 ..
<root at noble>mkdir source_dir
<root at noble>echo data > source_dir/testfile
<root at noble>mkdir dest_dir
<root at noble>rsync-3.2.7 -a --remote-option=--fake-super source_dir dest_dir/
<root at noble>ls -la
total 16
drwxr-xr-x 4 root root 4096 Mar 16 21:42 .
drwx------ 13 root root 4096 Mar 16 21:41 ..
drwxr-xr-x 3 root root 4096 Mar 16 21:42 dest_dir
drwxr-xr-x 2 root root 4096 Mar 16 21:42 source_dir
<root at noble>find .
.
./dest_dir
./dest_dir/source_dir
./dest_dir/source_dir/testfile
./source_dir
./source_dir/testfile
Other background:
<root at noble>lsb_release -rd
No LSB modules are available.
Description: Ubuntu 24.04.2 LTS
Release: 24.04
<root at noble>apt-cache policy rsync
rsync:
Installed: 3.2.7-1ubuntu1.2
Candidate: 3.2.7-1ubuntu1.2
Version table:
*** 3.2.7-1ubuntu1.2 500
500 http://us.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages
100 /var/lib/dpkg/status
3.2.7-1ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu noble/main amd64 Packages
ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: rsync 3.2.7-1ubuntu1.2
ProcVersionSignature: Ubuntu 6.8.0-55.57-generic 6.8.12
Uname: Linux 6.8.0-55-generic x86_64
ApportVersion: 2.28.1-0ubuntu3.5
Architecture: amd64
CasperMD5CheckResult: pass
Date: Sun Mar 16 21:28:26 2025
InstallationDate: Installed on 2025-03-07 (10 days ago)
InstallationMedia: Ubuntu-Server 24.04.1 LTS "Noble Numbat" - Release amd64 (20240827)
ProcEnviron:
LANG=en_US.UTF-8
PATH=(custom, no user)
SHELL=/bin/bash
TERM=screen
XDG_RUNTIME_DIR=<set>
SourcePackage: rsync
UpgradeStatus: No upgrade log present (probably fresh install)
** Affects: rsync (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug noble
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to rsync in Ubuntu.
https://bugs.launchpad.net/bugs/2103377
Title:
rsync problem with local copying and --fake-super
Status in rsync package in Ubuntu:
New
Bug description:
I'm running rsync version 3.2.7-1ubuntu1.2 on an up-to-date
installation of Ubuntu Server 24.04.2.
I use rsync to copy files to a removable disk for backup purposes. As
far as rsync is concerned, the copy is from one local path to another.
I use --remote-option=--fake-super to encode the file metadata in the
destination copy. I'm seeing a problem where the destination data is
put in the wrong place.
The simple steps I found to reproduce this in just one directory of an
ext4 file system are below. Notice a copy of source_dir wasn't put
into dest_dir. It was put in a directory named ''$'\001' to ls and
'?' to find. The directory name is random binary garbage.
<root at noble>ls -la
total 8
drwxr-xr-x 2 root root 4096 Mar 16 21:19 .
drwx------ 13 root root 4096 Mar 16 21:16 ..
<root at noble>mkdir source_dir
<root at noble>echo data > source_dir/testfile
<root at noble>mkdir dest_dir
<root at noble>rsync -a --remote-option=--fake-super source_dir dest_dir/
<root at noble>ls -la
total 20
drwxr-xr-x 3 root root 4096 Mar 16 21:20 ''$'\001'
drwxr-xr-x 5 root root 4096 Mar 16 21:20 .
drwx------ 13 root root 4096 Mar 16 21:16 ..
drwxr-xr-x 2 root root 4096 Mar 16 21:20 dest_dir
drwxr-xr-x 2 root root 4096 Mar 16 21:20 source_dir
<root at noble>find .
.
./dest_dir
./source_dir
./source_dir/testfile
./?
./?/source_dir
./?/source_dir/testfile
If I check our the rsync git repository and compile a upstream version
of rsync 3.2.7 or 3.4.1 (the latest), I don't see this issue. The
copy of source_dir was put into dest_dir as expected.
<root at noble>ls -la
total 8
drwxr-xr-x 2 root root 4096 Mar 16 21:41 .
drwx------ 13 root root 4096 Mar 16 21:41 ..
<root at noble>mkdir source_dir
<root at noble>echo data > source_dir/testfile
<root at noble>mkdir dest_dir
<root at noble>rsync-3.2.7 -a --remote-option=--fake-super source_dir dest_dir/
<root at noble>ls -la
total 16
drwxr-xr-x 4 root root 4096 Mar 16 21:42 .
drwx------ 13 root root 4096 Mar 16 21:41 ..
drwxr-xr-x 3 root root 4096 Mar 16 21:42 dest_dir
drwxr-xr-x 2 root root 4096 Mar 16 21:42 source_dir
<root at noble>find .
.
./dest_dir
./dest_dir/source_dir
./dest_dir/source_dir/testfile
./source_dir
./source_dir/testfile
Other background:
<root at noble>lsb_release -rd
No LSB modules are available.
Description: Ubuntu 24.04.2 LTS
Release: 24.04
<root at noble>apt-cache policy rsync
rsync:
Installed: 3.2.7-1ubuntu1.2
Candidate: 3.2.7-1ubuntu1.2
Version table:
*** 3.2.7-1ubuntu1.2 500
500 http://us.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages
100 /var/lib/dpkg/status
3.2.7-1ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu noble/main amd64 Packages
ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: rsync 3.2.7-1ubuntu1.2
ProcVersionSignature: Ubuntu 6.8.0-55.57-generic 6.8.12
Uname: Linux 6.8.0-55-generic x86_64
ApportVersion: 2.28.1-0ubuntu3.5
Architecture: amd64
CasperMD5CheckResult: pass
Date: Sun Mar 16 21:28:26 2025
InstallationDate: Installed on 2025-03-07 (10 days ago)
InstallationMedia: Ubuntu-Server 24.04.1 LTS "Noble Numbat" - Release amd64 (20240827)
ProcEnviron:
LANG=en_US.UTF-8
PATH=(custom, no user)
SHELL=/bin/bash
TERM=screen
XDG_RUNTIME_DIR=<set>
SourcePackage: rsync
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rsync/+bug/2103377/+subscriptions
More information about the foundations-bugs
mailing list