复制大写名称文件错误

复制大写名称文件错误

环境:Debian 11和10 我尝试将Debian中的整个文件夹“/lib/modules/5.12.10”复制到USB。

但我发现有8个文件会混淆系统,它们是:

  1. xt_dscp.ko xt_DSCP.ko
  2. xt_hl.ko xt_HL.ko
  3. xt_rateest.ko xt_RATEEST.ko
  4. xt_tcpmss.ko xt_TCPMSS.ko

无论您先将哪个文件复制到 USB,系统都会认为第二个文件已经存在。

我已经尝试过这些方法:

  1. Debian 到 USB: cp -r 文件夹A 文件夹B
  2. Debian 到 USB: rsync -av --no-g --no-o 文件夹A 文件夹B
  3. 在 Debian 上压缩文件夹 A 并将其解压缩到 USB。
  4. 在 Ubuntu live 中,将 Debian 分区上的文件夹 A 复制到 USB: cp -r 文件夹 A 文件夹 B

我怎样才能解决这个问题?

答案1

我猜测您的 USB 连接存储使用不区分大小写的文件系统,例如 FAT32。在此类文件系统上,除了采用某种类型的转换之外,无法存储名称大小写冲突的文件。

对于您的情况,更好的方法是将所有文件存档在 tarball 或其他存档中,例如

tar cpJf /path/to/usb/modules-5.12.10.tar.xz /lib/modules-5.12.10

您将无法看到 USB 设备本身上的各个文件,但您可以在必要时提取它们。

相关内容