하드 드라이브가 죽어서 전체 시스템을 백업해야 했습니다.
.rsync.log
$HOME에 내 사용자나 루트로 삭제할 수 없는 파일이 있습니다 .
LANG=C rm -f /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log
rm: cannot remove '/media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log': Operation not permitted
파일 시스템 검사를 실행했지만 작동하지 않았습니다.
LANG=C getfacl /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log
getfacl: Removing leading '/' from absolute path names
# file: media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log
# owner: alex
# group: alex
user::rw-
group::r--
other::r--
그리고
lsattr /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log
-----a-------e-- /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log
파일 시스템은 ext4입니다.
$HOME에서 백업을 수행하기 전에 이 파일을 삭제해야 합니다. 어떻게 해야 하나요?
답변1
$ lsattr /media/alex/.../.rsync.log
-----a-------e-- /media/alex/.../.rsync.log
있다a
추가 플래그만, 이는 파일 삭제도 방지한다는 점에서 불변 플래그와 다소 유사하게 작동합니다. 루트에서도 작동합니다.
# touch file.txt ; chattr +a file.txt ; lsattr file.txt ; rm file.txt
-----a-------e-- file.txt
rm: cannot remove `file.txt': Operation not permitted
"a" 속성이 설정된 파일은 쓰기 모드로만 열 수 있습니다. 수퍼유저 또는 CAP_LINUX_IMMUTABLE 기능이 있는 프로세스만 이 속성을 설정하거나 지울 수 있습니다.
chattr -a /media/alex/.../.rsync.log
루트가 되면 이를 제거해야 합니다.