![当超出配额且没有 root 权限时如何删除文件并且截断、dd、mv、cp 和 rm 失败?](https://linux22.com/image/1424628/%E5%BD%93%E8%B6%85%E5%87%BA%E9%85%8D%E9%A2%9D%E4%B8%94%E6%B2%A1%E6%9C%89%20root%20%E6%9D%83%E9%99%90%E6%97%B6%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%E5%B9%B6%E4%B8%94%E6%88%AA%E6%96%AD%E3%80%81dd%E3%80%81mv%E3%80%81cp%20%E5%92%8C%20rm%20%E5%A4%B1%E8%B4%A5%EF%BC%9F.png)
我正在一个没有 root 权限的文件系统上工作,以上所有操作都无法让我删除文件,并且出现同样的错误:
$ >file1
$ -bash: file1: Disk quota exceeded
$ dd count=1 if=/dev/random of=file1
$ dd: opening `file1': Disk quota exceeded
$ rm file1
$ rm: cannot remove 'file1': Disk quota exceeded
$ cat /dev/null > file1
$ -bash: file1: Disk quota exceeded
还在大量文件上尝试过这个:
$ mv file1 f
$ mv: cannot move `file1` to `f`: Disk quota exceeded
编辑 现在也尝试过:
$ cp /dev/null file1
$ cp: cannot create regular file 'file1': Disk quota exceeded
无济于事(收到相同的错误消息)
还有许多其他文件也给我一个权限被拒绝的错误,但我认为其中一些是因为我没有 root 权限。无论如何,有很多文件我有写权限,所以我真的只需要一种方法来强制删除这些文件。有什么解决方法吗?
该文件系统的 df -s 输出:
Filesystem Size Used Avail Use% Mounted on
zfs1.local:/volatile 699G 699G 0 100% /nfs/volatile
答案1
就我的情况而言,当配额已满 100% 时,上述方法均无效。幸运的是 /tmp 未满,因此我执行了以下操作:
rsync --remove-source-files -azv file1 /tmp
并解决了这个问题。
答案2
我已经使用命令“wipe”恢复了系统。对一些大文件执行 wipe,然后尝试使用命令“rm”。它会起作用。