如何使 squash 文件系统可读写
How to make squash file system read-write
我的 RTL8196EU Realtek 开发板具有只读压缩文件系统。如何让这个文件系统读写。
我试过挂载命令
mount -o remount,rw /
但这并没有解决问题。
帮我做一个读写squash fs
你不能。 squashfs 本质上是只读的。
如果您想上传新文件,您需要创建并安装一个单独的读写文件系统。如果您想修改现有文件,您需要创建并(小心!!)上传替换文件系统映像。
Squashfs 是只读的。因为整个文件系统在写入存储介质之前是经过压缩和压缩的。因此,对任何文件进行任何更改,都必须将其压缩并再次重写到整个分区 - 如果重复进行,这是一种极大的浪费。如果整个文件系统无法放入内存,您将需要一个单独的存储区域来存储 compression/decompression 期间的中间文件 - 占用更多不必要的存储空间 space.
正如其他人所提到的,您不能将 squashfs 文件系统挂载为读写。然而,仍有一种方法可以修改内容。 [un|mk]squashfs
工具需要 squashfs
或 squashfs-tools
包。
以 root 身份,将 filesystem.squashfs
复制到某个空目录,例如:
$ mkdir /tmp/foo
$ cp /[path]/[filesystem.squashfs] /tmp/foo
$ cd /tmp/foo
解压 squashfs 文件:
$ unsquashfs [filesystem.squashfs]
进入squashfs-root
目录修改成你喜欢的然后重新创建filesystem.squashfs
:
$ cd /tmp/foo
# Do your thing here
$ mksquashfs squashfs-root [filesystem.squashfs] -comp xz
复制新创建的 filesystem.squashfs
覆盖现有的。
$ cp /tmp/foo/[filesystem.squashfs] /[path]/
我的 RTL8196EU Realtek 开发板具有只读压缩文件系统。如何让这个文件系统读写。
我试过挂载命令
mount -o remount,rw /
但这并没有解决问题。
帮我做一个读写squash fs
你不能。 squashfs 本质上是只读的。
如果您想上传新文件,您需要创建并安装一个单独的读写文件系统。如果您想修改现有文件,您需要创建并(小心!!)上传替换文件系统映像。
Squashfs 是只读的。因为整个文件系统在写入存储介质之前是经过压缩和压缩的。因此,对任何文件进行任何更改,都必须将其压缩并再次重写到整个分区 - 如果重复进行,这是一种极大的浪费。如果整个文件系统无法放入内存,您将需要一个单独的存储区域来存储 compression/decompression 期间的中间文件 - 占用更多不必要的存储空间 space.
正如其他人所提到的,您不能将 squashfs 文件系统挂载为读写。然而,仍有一种方法可以修改内容。 [un|mk]squashfs
工具需要 squashfs
或 squashfs-tools
包。
以 root 身份,将 filesystem.squashfs
复制到某个空目录,例如:
$ mkdir /tmp/foo
$ cp /[path]/[filesystem.squashfs] /tmp/foo
$ cd /tmp/foo
解压 squashfs 文件:
$ unsquashfs [filesystem.squashfs]
进入squashfs-root
目录修改成你喜欢的然后重新创建filesystem.squashfs
:
$ cd /tmp/foo
# Do your thing here
$ mksquashfs squashfs-root [filesystem.squashfs] -comp xz
复制新创建的 filesystem.squashfs
覆盖现有的。
$ cp /tmp/foo/[filesystem.squashfs] /[path]/