问题标签 [squashfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
995 浏览

squashfs - Squashfs check compressed file size

is there any way to check the final size of a specific file after compression in a squashfs filesystem?

I'm looking through mksquashfs/unsquashfs command line options but I can't find anything.

Using the -info option in mksquashfs only prints the size before the compression.

Thanks

0 投票
1 回答
1798 浏览

singularity-container - 奇点提取、编辑和重建图像

我有一个为我制作的奇异容器(在彗星 GPU 节点上运行 tensorflow),但我需要修改 keras 安装以达到我的目的。

我了解.simg文件不可编辑(并且.img不推荐使用可写格式),因此不鼓励转换为.img文件、编辑然后转换回文件的过程:.simg

在我看来,最好的方法可能是提取内容(比如放入沙箱),编辑它们,然后将沙箱重建为.simg图像。

我知道如何进行第二次转换 ( singularity build new-sif sandbox),但我该如何进行第一次转换?

我尝试了以下方法,但命令永远不会完成:

0 投票
1 回答
708 浏览

squashfs - OverlayFS 作为根 FS:我应该将 --move upper/lower/workdir 挂载到新根吗?

我在一个嵌入式系统上工作,该系统从位于 UBIFS 格式的 SPI 闪存上的 SquashFS 映像启动。我添加了 OverlayFS over / (root) 支持,以便我们可以更改所有文件,但在重新启动后重置它们。所有 OverlayFS 魔法都在 initramfs 中执行。在设置所有挂载点时,我mount --move /run和 UBIFS 闪存分区。我想知道我是否应该mount --move将 OverlayFS 的上/下/workdir 也放到新的根目录之前switch_root。没有它似乎确实可以工作,但有时我会自发重启,手动重启时会出现总线错误。

0 投票
1 回答
1960 浏览

docker - 在 docker 中启用 squashfs

我正在尝试在 docker 容器中运行奇异性。但是,我似乎无法弄清楚或理解如何让“squashfs”功能适用于.simg奇点图像。

我已经看到一些讨论线程表明这个命令:

cat /proc/filesystems|grep squashfs

应该 return squashfs,但是当我在我的 docker 容器中执行它时,我只是得到一个空行。我曾尝试查看“安装 squashfs”指南,但它们似乎都涉及修补和升级内核,这有点超出我的深度。

具体来说,我在使用 .simg 时遇到的错误如下:

singularity exec myimage.simg

我也尝试过使用“mount”来安装.simg,但这让我:

mount -o loop,offset=31 myimage.simg /mnt

mount: /mnt: unknown filesystem type 'squashfs'.

我觉得我错过了一些明显的东西。如何将 squashfs 添加到 dockerized 事物中?

0 投票
0 回答
447 浏览

c - 从源代码编译 Squashfs 工具时出错

我正在尝试从源代码(GPL 源)编译修改后的 squashfs 工具。原始包中的安装“自述文件”有注释,它可以在不需要修补内核的情况下构建。(本地)

执行make给出错误:Makefile:2: *** Sqlzma is not defined. Stop.sqlzma 文件 icludesqlzma.h位于另一个文件夹“sqlzma-3.4-457”中。我认为,问题可能与这些外部文件的链接有关,但我不确定。我一般是编程新手。

'squashfs-tools' 文件夹中的Makefile :

“sqlzma-3.4-457”文件夹中的Makefile :

指向squashfssqlzma文件夹的链接。

0 投票
0 回答
30 浏览

git - 在 Git 中跟踪文件时如何使用 Qemu Image?

我在 Windows 中使用 Qemu 映像进行 linux 二进制文件测试。为了持续开发,我使用了 qemu 而不是 Virtualbox。

我需要始终使用相同的 linux 配置进行测试。所以我的形象不应该改变。这样我的 Qemu 图像是 git 中的跟踪文件。

我尝试使用 squash 文件系统 linux 映像,如 slax 或 tinyCore。因为我认为如果我使用 squash 文件系统操作系统,所有更改都保存在 ram 中,所以每次重新启动都会让它像第一次启动一样。

但这并不像我预期的那样。这意味着,即使我只运行映像并在没有任何更改的情况下将其关闭,它也会像修改过的那样进行分类。在我看来,即使它是 squased fs,它也会写一些日志。

每次启动后我都需要对 linux 映像进行零更改。我怎样才能成功呢?请你帮助我好吗?

0 投票
1 回答
147 浏览

regex - 如何使用 mksquashfs -regex?

我想 mksquashfs 一个 chroot,并包含 /cdrom 目录,但排除其中的所有内容。我已经知道如何使用 -wildcards 来做到这一点,但我想看看 -regex 是否有错误。测试用例:

问题是 cdrom2/why 被省略了!在我看来,“/”实际上在那里被忽略了。这是一个 mksquashfs 错误吗?

0 投票
1 回答
77 浏览

linux - 确定来自 squashfs 的额外信息来自何处

我从 IoT 设备中提取了根文件系统,并且能够使用 unsquashfs 仔细阅读它。然后我更改了单个文件中的单个字节,并使用 mksquashfs 再次重新压缩它。当我检查这两个文件(原始文件和我创建的文件)时,binwalk 的输出是相同的,只是大小不同。原始的大小为 1038570 字节,而我创建的大小为 1086112。我不知道额外数据来自哪里。是否有任何工具或方法可以确定差异是什么?

0 投票
1 回答
128 浏览

zip - 压缩和导航大型压缩目录的策略

我管理一个计算机集群。它是一个多用户系统。我有一个充满文件的大目录(大小为 TB)。我想压缩它,以便拥有它的用户可以节省空间并仍然能够从中提取文件。

可能解决方案的挑战:

  1. tar:由于 tar 的随机访问读取能力差,该目录的大小使得解压缩后续 tarball 具有挑战性。我指的是压缩的规范方式,即tar cvzf mytarball.tar.gz mybigdir

  2. squashfs:这似乎是一个很好的解决方案,除了为了挂载它,它需要root 访问权限。我真的不想在每次他们想要访问文件时都参与挂载他们的 squashfs 文件。

  3. 压缩然后 tar:我可以先压缩文件,然后用于tar创建存档。这样做的缺点是我不会通过压缩节省尽可能多的空间,也不会取回任何 inode。

之前已经提出过类似的问题(here ),但在这种情况下解决方案并不合适。

问题:

有没有一种方便的方法来压缩一个大目录,这样它可以快速轻松地导航并且不需要 root 权限?

0 投票
1 回答
294 浏览

squashfs - rauc 无法挂载 .raucb 文件

当我尝试安装 rauc 包时,我得到以下信息:

root@phyboard-regor-am335x-1:/tmp# rauc install phytec-qt5demo-bundle-phyboard-regor-am335x-1-20200506102456.raucb rauc-消息:安装 /tmp/phytec-qt5demo-bundle-phyboard-regor- am335x-1-20200506102456.raucb:安装

rauc 消息:安装 /tmp/phytec-qt5demo-bundle-phyboard-regor-am335x-1-20200506102456.raucb:0% 安装

rauc 消息:安装 /tmp/phytec-qt5demo-bundle-phyboard-regor-am335x-1-20200506102456.raucb:0% 确定插槽状态

rauc 消息:安装 /tmp/phytec-qt5demo-bundle-phyboard-regor-am335x-1-20200506102456.raucb:20% 确定插槽状态已完成。

rauc 消息:安装 /tmp/phytec-qt5demo-bundle-phyboard-regor-am335x-1-20200506102456.raucb:20% 检查捆绑

rauc 消息:安装 /tmp/phytec-qt5demo-bundle-phyboard-regor-am335x-1-20200506102456.raucb:20% 验证签名

rauc 消息:安装 /tmp/phytec-qt5demo-bundle-phyboard-regor-am335x-1-20200506102456.raucb:40% 验证签名完成。

rauc 消息:安装 /tmp/phytec-qt5demo-bundle-phyboard-regor-am335x-1-20200506102456.raucb:40% 检查捆绑包完成。

rauc 消息:安装 /tmp/phytec-qt5demo-bundle-phyboard-regor-am335x-1-20200506102456.raucb:100% 安装失败。

rauc-消息:正在安装 /tmp/phytec-qt5demo-bundle-phyboard-regor-am335x-1-20200506102456.raucb:LastError:挂载包失败:无法运行挂载:子进程退出,代码为 32

安装 /tmp/phytec-qt5demo-bundle-phyboard-regor-am335x-1-20200506102456.raucb 失败

查了一下,发现squashfslinux不识别!!!我应该怎么做才能squashfs被认可?