我如何从 ubuntu iso 中提取 deb 文件?

我如何从 ubuntu iso 中提取 deb 文件?

我怎样才能从官方 iso 中提取 ubuntu 12.10 的 deb 文件,我想缩短下载时间,只有一些软件包/pool/main

其余部分似乎都在虚拟 fs 中/casper/

我如何提取 deb 文件?

答案1

Ubuntu 使用的大多数 deb 在生成 ISO 映像之前都安装到 chroot 中,因此您无法直接恢复它们。如果您解压文件系统,您会发现它看起来就像一个根文件系统。例如,这是 的截断视图ls

drwxr-xr-x   2 root root  4096 Oct 12 16:59 bin
drwxr-xr-x   3 root root  4096 Oct 12 16:59 boot
drwxr-xr-x   4 root root  4096 Oct 12 16:56 dev
drwxr-xr-x 134 root root 12288 Oct 12 16:59 etc
drwxr-xr-x   2 root root  4096 Oct  9 08:59 home

...

如果您想要改变 chroot 的话,您可以按如下方式操作:

  1. 挂载 ISO

    sudo mount -o loop quantal-desktop-i386.iso tmpiso
    
  2. 将 squashfs 复制出来

    cp tmpiso/q/casper/filesystem.squashfs /tmp
    
  3. 取消压缩文件系统

    sudo unsquashfs filesystem.squashfs
    
  4. 这会将文件系统解压到 squashfs-root 中。

  5. 进行更改。
  6. 使用 squashfs 重新压缩。
  7. 使用 ISO master 将 filesystem.squashfs 替换为您修改的那个。
  8. 使用 ISO 主文件重建 ISO。

答案2

  • 安装 iso。
  • 复制 squashfs 并将其取消压缩。
  • 在解压的文件夹中,我将从 shell 执行此操作。

    find -name "*.deb" -type f -execdir cp {} ~/Desktop/thefolder_you_choose/ \;

    这将找到所有 .deb 文件并将它们(不包含文件夹结构)全部转储到目标文件夹中。

相关内容