我必须备份我的整个系统,因为我的硬盘快要死了。
在 $HOME 中有一个文件.rsync.log
,我无法以我的用户或 root 身份删除它。
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
Run Code Online (Sandbox Code Playgroud)
我运行了文件系统检查,但没有用。
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--
Run Code Online (Sandbox Code Playgroud)
和
lsattr /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log
-----a-------e-- /media/alex/3c68c336-bf8d-46f8-bc04-58d3e160f2b1/alex/.rsync.log
Run Code Online (Sandbox Code Playgroud)
文件系统是 ext4。
在从 $HOME 进行备份之前,我需要删除此文件。我怎么能这样做?
ilk*_*chu 16
$ lsattr /media/alex/.../.rsync.log
-----a-------e-- /media/alex/.../.rsync.log
Run Code Online (Sandbox Code Playgroud)
在a
存在追加唯一标志,它不工作有点像,它也可以防止删除该文件的不可变的标志。也适用于 root:
# 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
Run Code Online (Sandbox Code Playgroud)
设置了“a”属性的文件只能以追加模式打开以进行写入。只有超级用户或拥有 CAP_LINUX_IMMUTABLE 能力的进程才能设置或清除此属性。
chattr -a /media/alex/.../.rsync.log
作为 root 应该摆脱它。
归档时间: |
|
查看次数: |
490 次 |
最近记录: |