相关疑难解决方法(0)

将 zip 文件挂载为只读文件系统

我正在寻找一种将 ZIP 存档作为文件系统挂载的方法,以便我可以透明地访问存档中的文件。我只需要读取权限——ZIP 不会被修改。RAM 消耗很重要,因为这适用于(资源受限的)嵌入式系统。有哪些可用选项?

linux filesystems embedded

29
推荐指数
2
解决办法
2万
查看次数

压缩的硬盘驱动器图像非常大

我刚刚使用这个命令制作了一个新安装的双启动(Ubuntu 和 Windows)的图像(我已经使用了一段时间来制作较小的图像):

dd if=/dev/sda | gzip > /mnt/drive.img.gz
Run Code Online (Sandbox Code Playgroud)

在这个驱动器上,使用了 500G 中少于 60G 的数据。不过那个图像文件现在是 409G 大。

那个怎么样?gzip 不应该设法压缩所有这些零吗?正如我所说,这是一个全新安装的系统。不能这么乱。

现在我没想到文件是 60G,但 400G 对我来说似乎非常大。

compression disk-image

20
推荐指数
2
解决办法
3268
查看次数

dd,设备克隆到较小的驱动器,设备上没有剩余空间

我看过许多与使用 dd、cat 和 clonezilla 来促进分区和设备克隆有关的问题、答案和指南。与其继续这些讨论,我希望dd在这篇文章中针对行为提出非常有针对性的问题。

我正在使用 Ubuntu 18.04 LTS live,从 USB 启动。我有一个带有 Windows7 (/dev/sda) 的 500gb 硬盘。我已经调整了分区的大小,使得未分配的空间略多于 420GB。我的目标是将引导表和分区备份到 120gb SSD (/dev/sdb)。SSD 没有分区并显示 110gb 未分配。

sudo dd if=/dev/sda of=/dev/sdb命中失败并传达“设备上没有剩余空间”。使用 gparted 抽查分区,我看到 /dev/sdb 包含相同的分区、标签、大小和未使用。唯一明显的区别是未分配的空间。

我能够从 SSD 启动 Windows,但还有一些与dd行为相关的问题。

  • 是否dd尝试复制未分配的设备内容?
  • dd有操作的顺序?(类似于分区 1->99,然后是其他驱动器块)
  • 到目前为止,我是否幸运地立即使用了这个 Windows 驱动器?我是否过于偏执,认为驱动器缺少内容?

就其价值而言,我确实计划在可预见的未来保留硬盘。

ubuntu

7
推荐指数
1
解决办法
3800
查看次数

如何从 rar 或 tgz 转换为 squashfs 而无需解压到临时文件夹?

我喜欢使用 squashfs 进行压缩,因为将它们安装为循环设备来访问内部文件很简单。

我有很多 rar、tgz 和 zip 文件,我想将它们转换为 squashfs。

这个答案中,我看到在将磁盘映像压缩到squashfs时可以使用伪文件以避免必须使用整个磁盘大小的临时文件。

mkdir empty-dir
mksquashfs empty-dir squash.img -p 'sda_backup.img f 444 root root dd if=/dev/sda bs=4M'
Run Code Online (Sandbox Code Playgroud)

我想使用伪文件以相同的方式(即时)从 rar、tgz 或 zip 转换为 squashfs,因此我不必首先将整个存档提取到磁盘,然后在单独的操作中压缩到 squashfs 。

其中一些档案包含数千个单独的文件,其中一些文件的文件名中包含空格或其他特殊字符。

我查看了README,我认为我需要使用该-pf <pseudo-file>选项,但我不确定如何动态创建伪文件(并且也不存在带空格的文件名问题)。我想我需要使用进程替换来从源存档创建文件列表。

理想情况下,我希望有一个命令能够转换任何 rar、tgz 或 zip,而不必为每个存档单独创建伪文件,但如果有人可以告诉我如何使用其中一种存档格式来完成此操作,那么希望我能为其他人解决这个问题。

感谢大家。

tar zip compression rar squashfs

4
推荐指数
1
解决办法
2270
查看次数

标签 统计

compression ×2

disk-image ×1

embedded ×1

filesystems ×1

linux ×1

rar ×1

squashfs ×1

tar ×1

ubuntu ×1

zip ×1