我怎样才能从官方 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 的话,您可以按如下方式操作:
挂载 ISO
sudo mount -o loop quantal-desktop-i386.iso tmpiso
将 squashfs 复制出来
cp tmpiso/q/casper/filesystem.squashfs /tmp
取消压缩文件系统
sudo unsquashfs filesystem.squashfs
这会将文件系统解压到 squashfs-root 中。
- 进行更改。
- 使用 squashfs 重新压缩。
- 使用 ISO master 将 filesystem.squashfs 替换为您修改的那个。
- 使用 ISO 主文件重建 ISO。
答案2
- 安装 iso。
- 复制 squashfs 并将其取消压缩。
在解压的文件夹中,我将从 shell 执行此操作。
find -name "*.deb" -type f -execdir cp {} ~/Desktop/thefolder_you_choose/ \;
这将找到所有 .deb 文件并将它们(不包含文件夹结构)全部转储到目标文件夹中。