在使用 备份一些数据(一个 200 GB 的主目录)时rsync,我收到了一个特定文件的 I/0 错误,之后rsync继续“正常”进行备份。问题源文件显示为文件大小为 72 字节。
我取消了 rsync,然后再次运行相同的命令。这次同一个文件显示正在传输数据......大量数据......还有更多数据,还有更多......我检查了目标文件的大小,它高达13 GB!所以我用 Ctrl-c 取消rsync。
再次检查源文件大小时,在 Nautilus 中,它显示60.0 PB500 GB 驱动器上的大小为(Peta 字节!)。
现在,所有这一切的要点是:删除此文件会/可能会导致其他文件中的数据丢失,看到文件系统可以感知它比实际大得多......文件系统是ext4..
我可以使用rsync异常跳过它,但我对删除它会发生什么特别感兴趣。
更新:目标和源都是 ext4
关于它是一个稀疏文件的建议:如果它是一个稀疏文件,为什么它会在一分钟到下一分钟显示不同的大小?该文件当然(?)当时没有使用。它是一个~/.macromedia/Flash_Player/#SharedObjects/someting-or-other.sol文件,其中在该目录中有更多这样的.sol文件......而且它在第一次通过时确实显示了 I/0 错误。
另外,根据man rsync,建议的-S选项是处理稀疏文件有效,不正确的,这样建议,我认为即使我没有使用-S它应该在任何情况下精确复制稀疏文件:它没有,甚至如果它是一个稀疏文件,则 60.0 Peta Bytes 似乎肯定(?)是文件系统中的错误,某处......这是我主要关心的问题:如果文件系统中存在故障,可以删除它文件对其他文件有影响吗?
更具体地说:因为它写入了 13 GB 的数据,而且还在不断攀升!当我取消它时,它是否也可以删除 13 GB - 60 PB 的数据?
我无法格式化损坏的 Sandisk SDHC ULTRA 32Gb 微型卡。所以我在Ubuntu系统中使用了gparted。我删除了分区(/dev/sdf1),重新创建它并将其格式化为 fat32。它仍然保留原来的标签和 24% 的已使用空间。
sudo parted /dev/sdf1 unit s print
Run Code Online (Sandbox Code Playgroud)
型号:未知(未知)
磁盘 /dev/sdf1: 62325760s
扇区大小(逻辑/物理):512B/512B
分区表:msdos
编号 开始 结束 大小 类型 文件系统 标志
sudo fdisk -l -u /dev/sdf
Run Code Online (Sandbox Code Playgroud)
磁盘 /dev/sdf:31.9 GB,31914983424 字节 255 个磁头,63 个扇区/磁道,3880 个柱面,总共 62333952 个扇区
单位 = 1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节/512 字节
I/O 大小(最小/最佳):512 字节/512 字节
磁盘标识符:0x00000000
设备引导开始结束块 ID 系统
/dev/sdf1 * 8192 62333951 31162880 c W95 FAT32 (LBA)
sudo dd if=/dev/zero of=/dev/sdf bs=512 count=1
Run Code Online (Sandbox Code Playgroud)
1+0 条记录
1+0 …
我有一个 btrfs 文件系统,我已经清理了几次并发现了一些错误。如果我检查设备状态,我会看到我有 generation_errs:
$ sudo btrfs device stats /dev/nvme0n1p5
[/dev/nvme0n1p5].write_io_errs 0
[/dev/nvme0n1p5].read_io_errs 0
[/dev/nvme0n1p5].flush_io_errs 0
[/dev/nvme0n1p5].corruption_errs 0
[/dev/nvme0n1p5].generation_errs 3
Run Code Online (Sandbox Code Playgroud)
这些 generation_errs 是什么?有什么值得担心的吗?
FWIW,以下是清理后在内核日志中发现的错误消息:
5/22/16 12:00 AM BTRFS warning (device nvme0n1p5): checksum/header error at logical 343949312 on dev /dev/nvme0n1p5, sector 671776: metadata leaf (level 0) in tree 321435615232
5/22/16 12:00 AM BTRFS warning (device nvme0n1p5): checksum/header error at logical 343949312 on dev /dev/nvme0n1p5, sector 671776: metadata leaf (level 0) in tree 321376649216
5/22/16 12:00 AM BTRFS warning (device nvme0n1p5): checksum/header …Run Code Online (Sandbox Code Playgroud) 这些天我正在研究嵌入式系统。需要在没有正确关闭的情况下关闭电源。我们正在考虑 Aufs 之类的只读文件系统。但问题是应用程序中有一些可更新的数据,并且允许用户更改 IP、日期时间等。因此,系统需要一个额外的 R/W 分区。
我有几个问题需要澄清。
去年我一直在使用 Windows 10、Arch Linux 和 Ubuntu 三重启动,没有任何问题。然而,上周开始发生一些奇怪的事情。首先,让我给出输出fdisk -lu
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xd9fa2484
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 206847 204800 100M 7 HPFS/NTFS/exFAT
/dev/sda2 206848 204802047 204595200 97.6G 7 HPFS/NTFS/exFAT
/dev/sda3 204802048 1023999999 819197952 390.6G 7 HPFS/NTFS/exFAT
/dev/sda4 1024004094 1953523711 …Run Code Online (Sandbox Code Playgroud) 最近注意到我的一个 CentOS NFS 客户端有一个看起来有些损坏的目录:
CentOS 6.3 版(最终版)
[root@LG-B8A-LNX ~]# ls -lathr /
ls: cannot access /zebra: No such file or directory
total 134K
d?????????? ? ? ? ? ? zebra
Run Code Online (Sandbox Code Playgroud)
删除尝试失败:
[root@LG-B8A-LNX ~]# rm -fr /zebra
rm: cannot remove `/zebra': Is a directory
Run Code Online (Sandbox Code Playgroud)
以及查找尝试:
[root@LG-B8A-LNX ~]# stat /zebra
stat: cannot stat `/zebra': No such file or directory
Run Code Online (Sandbox Code Playgroud)
过去,此文件夹被用作 NFS 服务器的挂载点
可以以某种方式删除此目录条目吗?
我正在移动一个文件,mv但操作被中断了。现在我留下了一个无法在外部 NTFS 驱动器上删除的文件。我是从 ext4 移动它的。
rm file.to.delete
rm: cannot remove ‘file.to.delete’: No such file or directory
ls
total 234M
234M file.to.delete
Run Code Online (Sandbox Code Playgroud)
我从 ...
ls -i
Run Code Online (Sandbox Code Playgroud)
然后
find . -inum 12533 -delete
find: cannot delete `file.to.delete': No such file or directory
Run Code Online (Sandbox Code Playgroud)
接下来我应该怎么做才能摆脱这个文件或这个文件在文件系统中的条目?
谢谢
更新:我将外部 NTFS 驱动器连接到我的 Windows 计算机,并且能够删除该文件。我将外部 NTFS 重新连接到我的树莓派,但目前无法安装它。
最终更新:我将外部 NTFS 驱动器重新连接到我的 Windows 计算机并检查了错误。它发现错误,然后自动修复它们。然后我将我的外部 NTFS 驱动器重新连接到我的树莓派,mount -a并且安装没有问题。固定的!:D。
我fsck在只读模式下运行并收到一些如下错误:
Free blocks count wrong (5597728, counted=5231480).
Fix? no
Run Code Online (Sandbox Code Playgroud)
正如这里所述:
免费块检查
空闲块存储在柱面组块映射中。fsck 命令检查所有标记为空闲的块是否未被任何文件声明。当所有块都已计算完毕后,fsck 命令检查空闲块数加上 inode 所声明的块数是否等于文件系统中的块总数。如果块映射有任何问题,fsck 命令会重建它们,并忽略已分配的块
在这种情况下,例如当文件增长时,其他文件的某些块是否可能被覆盖?
我有一张 SanDisk Ultra Plus 64gb MicroSd XC 卡,我用它在树莓派 PI 上运行 ubuntu 服务器。
现在我必须格式化这张卡,但我无法成功。我尝试过很多事情,包括:

到目前为止我可以看出,该卡不处于只读模式+我不使用带有开关的适配器。