我该如何删除这个目录?我删除了它,fsck
但发现了一些垃圾,我查看了这些文件,但没有什么重要的东西。所以我尝试删除的内容,/lost+found
除了这个奇怪的目录,其他都消失了。我以为把它放到/tmp
(我可以把那个目录移到卷上)会在下次重启时删除它,但重启和再次重启后它仍然存在fsck
。
由于问题似乎比较低级,仅使用所有权和权限是不够的,因此我让您能够自己重现该问题。尽情享受吧!
- 这是安全的,您将能够卸载映像以摆脱机器上的这些目录;
- 这不是 iso-image,这是
dd if=/dev/sda1 of=/files/broken.iso
;
我制作了一个 15MB 的存档,其中包含约 1.2GB 的图像。您可以使用以下命令下载并使用它:
cd /tmp
wget https://dl.dropboxusercontent.com/u/22701362/broken.tar.xz
tar xvf broken.tar.xz
mkdir test
sudo mount broken.iso test
cd test
将会有两个目录(在创建该图像期间,我的磁盘上似乎有两个这样的目录):
/tmp/test> tree
.
├── 1
│ └── plexus-component-annotations-1.5.5.jar.sha1 [error opening dir]
└── 2
└── #1589030 [error opening dir]
4 directories, 0 files
祝您删除这两个目录顺利:
/tmp/test> sudo rm -rf *
rm: cannot remove '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
rm: cannot remove '2/#1589030': Operation not permitted
/tmp/test> sudo chown -R root:root *
chown: changing ownership of '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
chown: cannot read directory '2/#1589030': Permission denied
/tmp/test> sudo chmod -R 777 *
chmod: changing permissions of '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
chmod: changing permissions of '2/#1589030': Operation not permitted
chmod: cannot read directory '2/#1589030': Permission denied
答案1
一种可能性是 ext 文件系统中的 immutable 标志。查看lsattr
命令的输出。如果存在i
,可以使用以下命令将其删除chattr -i filename
具有“i”属性的文件无法修改:无法删除或重命名,无法创建指向此文件的链接,也无法向此文件写入任何数据。只有超级用户或拥有 CAP_LINUX_IMMUTABLE 功能的进程才能设置或清除此属性。
在这种情况下,还发生了其他事情
这似乎有效,
> lsattr 1
-----a---------- 1/plexus-component-annotations-1.5.5.jar.sha1
> rmdir 1/plexus-component-annotations-1.5.5.jar.sha1
rmdir: failed to remove '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
> chattr -a 1/plexus-component-annotations-1.5.5.jar.sha1
> rmdir 1/plexus-component-annotations-1.5.5.jar.sha1
> lsattr 2
---D-ad--j--T--- 2/#1589030
> chattr -D -a -d -j -T 2/\#1589030
> rmdir 2/\#1589030
答案2
尝试成为拥有它的用户来删除它
sudo -u 6666 -g 19312 rm -rf ./#1589030