невозможно удалить символические ссылки rsync-копии / bin и / dev

1

Я случайно сделал rsync копию моего корневого каталога, "/", используя опцию -a, следующим образом:

user@mycomputer:~$ rsync -a / /backup-dir
user@mycomputer:~$ ls -l /backup-dir/
total 10102784
drwxrwxrwx 1 user nogroup         0 Feb  3 18:18 bin
drwxrwxrwx 1 user nogroup         0 Feb  3 18:21 dev

Я не могу удалить / backup-dir / bin и / backup-dir / dev или какие-либо отдельные файлы из-за того, что я подозреваю проблему с невозможностью удалить символические ссылки в этих каталогах. (/ backup-dir / bin показан ниже, то же самое для / backup-dir / dev).

user@mycomputer:~$ sudo rm -rf /backup-dir/bin
rm: cannot remove ‘/backup-dir/bin’: Directory not empty
user@mycomputer:~$ ls -l /backup-dir/bin
total 16384
lr-xr-xr-x 1 user root 22 Feb  3 16:11 bzcmp -> bzdiff
lr-xr-xr-x 1 user root 22 Feb  3 16:11 bzegrep -> bzgrep
lr-xr-xr-x 1 user root 22 Feb  3 16:11 bzfgrep -> bzgrep
lr-xr-xr-x 1 user root 22 Feb  3 16:11 bzless -> bzmore
lr-xr-xr-x 1 user root 26 Feb  3 16:11 dnsdomainname -> hostname
lr-xr-xr-x 1 user root 26 Feb  3 16:11 domainname -> hostname
lr-xr-xr-x 1 user root 26 Feb  3 16:11 lessfile -> lesspipe
lr-xr-xr-x 1 user root 18 Feb  3 16:11 lsmod -> kmod
lr-xr-xr-x 1 user root 26 Feb  3 16:11 nisdomainname -> hostname
lr-xr-xr-x 1 user root 22 Feb  3 16:11 open -> openvt
lr-xr-xr-x 1 user root 18 Feb  3 16:11 rbash -> bash
lr-xr-xr-x 1 user root 18 Feb  3 16:11 rnano -> nano
lr-xr-xr-x 1 user root 18 Feb  3 16:11 sh -> dash
lr-xr-xr-x 1 user root 18 Feb  3 16:11 sh.distrib -> dash
lr-xr-xr-x 1 user root 24 Feb  3 16:11 static-sh -> busybox
lr-xr-xr-x 1 user root 26 Feb  3 16:11 ypdomainname -> hostname
user@mycomputer:~$ sudo rm /backup-dir/bin/bzcmp
user@mycomputer:~$ ls -l /backup-dir/bin
total 16384
lr-xr-xr-x 1 user root 22 Feb  3 16:11 bzcmp -> bzdiff
lr-xr-xr-x 1 user root 22 Feb  3 16:11 bzegrep -> bzgrep
lr-xr-xr-x 1 user root 22 Feb  3 16:11 bzfgrep -> bzgrep
lr-xr-xr-x 1 user root 22 Feb  3 16:11 bzless -> bzmore
lr-xr-xr-x 1 user root 26 Feb  3 16:11 dnsdomainname -> hostname
lr-xr-xr-x 1 user root 26 Feb  3 16:11 domainname -> hostname
lr-xr-xr-x 1 user root 26 Feb  3 16:11 lessfile -> lesspipe
lr-xr-xr-x 1 user root 18 Feb  3 16:11 lsmod -> kmod
lr-xr-xr-x 1 user root 26 Feb  3 16:11 nisdomainname -> hostname
lr-xr-xr-x 1 user root 22 Feb  3 16:11 open -> openvt
lr-xr-xr-x 1 user root 18 Feb  3 16:11 rbash -> bash
lr-xr-xr-x 1 user root 18 Feb  3 16:11 rnano -> nano
lr-xr-xr-x 1 user root 18 Feb  3 16:11 sh -> dash
lr-xr-xr-x 1 user root 18 Feb  3 16:11 sh.distrib -> dash
lr-xr-xr-x 1 user root 24 Feb  3 16:11 static-sh -> busybox
lr-xr-xr-x 1 user root 26 Feb  3 16:11 ypdomainname -> hostname

Мне также не удалось изменить разрешения chmod в / backup-dir / bin, если это имеет значение.

ОБНОВИТЬ: Это ведет меня в правильном направлении: https://unix.stackexchange.com/a/33594

user@mycomputer:~$ sudo strace rm -f /backup-dir/bin/bzcmp
... (long message, which includes the following)...
unlinkat(AT_FDCWD, "bin/bzcmp", 0)      = 0

Попытки unlink файлы неуспешны. Ссылка выше предлагает удалить по иноду. Тем не менее, я хочу сохранить inode для исходных файлов, расположенных в / bin. Я хочу удалить только символические ссылки, чтобы удалить / backup-dir / bin / и / backup-dir / dev /.

Предложения по удалению / backup-dir / bin и / backup-dir / dev приветствуются.

bpg
источник
Rsync создал его, может быть, Rsync тоже может его удалить: mkdir empty; rsync -a --delete empty/. /backup-dir/bin/. и выполнить от имени того же пользователя, который создал его.
PBI

Ответы:

0

Если ничего не работает (странно), я предлагаю вам использовать снова rsync

mkdir empty_dir
sudo rsync -a --delete empty_dir/    /backup-dir/bin/

Источник:

Hastur
источник
+1 за ссылки. Неудачно, однако. Для / backup-dir / bin /, так же как и для OP, символические ссылки по-прежнему сохраняются, их невозможно удалить из-за не пустой директории. Для / backup-dir / dev /, cannot delete non-empty directory: snd/by-path cannot delete non-empty directory: <others> <-- emphasis mine
bpg