小编sмu*_*urf的帖子

在 Android 设备上恢复 tar 存档时出现错误“Cannot utime:不支持操作”

我将手机(运行带加密功能的 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 特有的。有谁知道如何克服这个问题?

android tar

6
推荐指数
1
解决办法
5万
查看次数

将自纪元以来的秒数转换为人类可读的字符串

命令date +%s产生1403568422. 有没有一种简单的方法可以将1403568422UTC 时间戳转换为人类可读的时间戳?

python -c "import datetime;print datetime.datetime.utcfromtimestamp(1403568422).isoformat()"作品种类;我也可以编写一个简短的 C 程序来做同样的事情。有没有更好的办法?

澄清

我不想让 date 以 UTC 格式打印当前时间。我希望日期(或其他实用程序)将自 UTC 以来的给定秒数(例如 1403568422)转换为人类可读的格式。

背景:我在一个文件中有这些时间戳,我想知道事情发生的确切时间。

command-line scripts date

5
推荐指数
1
解决办法
2407
查看次数

标签 统计

android ×1

command-line ×1

date ×1

scripts ×1

tar ×1