我将手机(运行带加密功能的 CyanogenMod 11 的三星 Galaxy S4 Mini)中的 MicroSD 卡更换为一张更大的卡。在拉出旧的之前,我将其内容备份到一个 tar 文件中:
/run/user/1000/gvfs/mtp:host=%5Busb%3A001%2C016%5D/SD card$ tar czvf ~/tmp/sgm4/sdcard.tar.gz *
然后更换卡,格式化新卡并尝试恢复我的文件:
/run/user/1000/gvfs/mtp:host=%5Busb%3A001%2C017%5D/SD card$ tar xzvf ~/tmp/sgm4/sdcard.tar.gz
文件已恢复,但对于每个文件,我都收到一条错误消息,例如:
00001.vcf
tar: 00001.vcf: Cannot utime: Operation not supported
Run Code Online (Sandbox Code Playgroud)
告诉我tar
无法恢复文件的原始时间戳。这是通过ls -l
显示当前日期和时间来确认的。
我通常不会担心它,但 Android/data 下有一些文件属于可能对时间戳敏感的应用程序。
是否有任何挂载选项或其他魔法可以允许在挂载的 mtp 文件系统上设置文件的时间戳?
该问题与我使用加密有关吗?
使用lubuntu 15.04。
更新
原来,MicroSD卡本身是使用vfat文件系统格式化的,没有任何加密。我将其从手机中取出,将其插入另一台计算机(Ubuntu 14.04),并且能够解压另一个 tarball,没有任何错误。解压文件的时间戳已正确恢复。
看起来无法设置文件的时间戳是 mtp 特有的。有谁知道如何克服这个问题?
当您在目标目录(本例中为 /tmp )中没有适当的权限时,或者如果您正在提取到非 Linux 文件系统(vfat 或 ntfs),则会出现此错误。
将存档提取或制作到您拥有的位置,例如您的主目录。
归档时间: |
|
查看次数: |
47271 次 |
最近记录: |