我已经使用Android系统分区的TWRP进行了备份。它包含一个我想用自己替换的启动视频。
主要思想是从存档中删除start.mp4,解压缩文件夹,复制该文件夹中的新start.mp4,然后更新存档的目录。但在那之后,存档似乎已经腐败了。
以下是我所做的更详细的描述:
列出原始文件的内容
+----------------------------+ +------------------------------+
| TOYS | | TOY_SERIES |
+-----+----------------------+ +---------+--------------------+
| PK | ID_TOY | +----------+ PK, FK1 | ID_S +--------+
| | | | +------------------------------+ |
| FK1 | ID_S +---------+ | | ... | |
+----------------------------+ | | | |
| | ... | | | | |
| | | | | | |
+-----+----------------------+ +---------+--------------------+ |
|
|
|
|
+------------------------------+ |
| BR_SER_MEAS | |
+---------+--------------------+ |
| PK, FK1 | ID_S +--------+
| | |
| PK, FK2 | ID_M +--------+
| | | |
| PK | ID_SEQ | |
| | | |
+---------+--------------------+ |
|
|
+------------------------------+ |
| MEASURE_STEPS | |
+------------------------------+ |
| PK ID_M +--------+
+------------------------------+
| PARAM_01 |
| ... |
| PARAM_10 |
| |
| |
+------------------------------+
您可以看到原始的start.mp4,其大小约为950 KBy。
删除档案中的旧start.mp4
$ tar -tvf system.ext4.tar
> ...
> -rw-r--r-- root/root 1822 2014-08-22 11:22 /system/media/silence.wav
> -rw-r--r-- root/root 970069 2016-11-29 12:19 /system/media/start.mp4
> drwxr-xr-x root/root 0 2016-11-29 13:58 /system/preload/
> ...
确保文件已删除
$ tar --delete --file=system.ext4.tar /system/media/start.mp4
提取/系统/媒体目录
$ tar -tvf system.ext4.tar
> ...
> -rw-r--r-- root/root 619252 2008-08-01 14:00 /system/media/poweroff_land.mp4
> -rw-r--r-- root/root 1822 2014-08-22 11:22 /system/media/silence.wav
> drwxr-xr-x root/root 0 2016-11-29 13:58 /system/preload/
> ...
将新的start.mp4复制到/ system / media
$ tar -xvf system.ext4.tar /system/media
> tar: Removing leading `/' from member names
> /system/media/
> /system/media/audio/
> ...
更新/ system / media目录
$ cp start.mp4 system/media/
列出更新档案的文件
$ tar --update --verbose --file=system.ext4.tar system/media
> tar: Removing leading `/' from member names
> system/media/start.mp4
正如您所看到的,有一个start.mp4但是与原始存档中的大小相同(新的存档大小约为50 KB),显然发生了错误。
您知道如何更换start.mp4吗?
答案 0 :(得分:0)
我有一个类似的问题并通过指定一个块大小(例如-b 64)来解决它,如https://web.archive.org/web/20171016165801/http://www.digitesters.com/add-file-to-existing-tar-archive/所述
就我而言,我在Mac OSX中创建一个tar文件,然后在Centos Linux上的tar中添加新文件。第一个文件添加正常,但第二个文件出现Skipping to next header
错误。在OSX中创建tar创建-b 64
似乎解决了这个问题。