如何从安装盘的 ISO 中提取 Debian 二进制包?

如何从安装盘的 ISO 中提取 Debian 二进制包?

我使用什么过程从基于 Debian/Ubuntu 的发行版的 ISO 映像中提取 Debian 二进制包?

答案1

是的,可以获取/提取德布直接来自发行版的 iso 映像(安装盘的 ISO)。请按照以下步骤来完成此操作:-

  1. 将iso(live cd版本)挂载为虚拟系统(root /):

    • 挂载 iso 到/media/cdrom

      sudo mkdir /media/cdrom
      sudo mount -o loop /path/to/iso /media/cdrom
      
    • filesystem.squashfs/mnt

      sudo mount -o loop /media/cdrom/casper/filesystem.squashfs /mnt
      

    现在,来自 iso 映像的虚拟系统已安装(只读)并植根于/mnt

  2. 通过命令获取所需的 deb dpkg-repack:-

    假设我想foo从最近安装的系统获取包然后运行:

    dpkg-repack --root=/mnt foo
    

    其中--root=/mnt说系统植根于/mnt

    --root=dir
              Take package from filesystem rooted on <dir>. This is useful if, for example, you have another computer
              nfs mounted on /mnt, then you can use --root=/mnt to reassemble packages from that computer.
    

使用示例:-

假设我正在运行 Ubuntu 14.04 LTS 并且我有 Xubuntu、Kubuntu 等的 iso 映像,那么我可以直接从 iso 获取 xfce 或 kde 应用程序(预先安装在相应的衍生版本中)。我还可以像xubuntu-desktopXubuntu 的 iso 映像一样获得整个桌面环境!

另一个例子:Trisquel 7.0 LTS 是 Ubuntu 14.04 LTS 的衍生版本,它是完全免费发行版预装了一些有用的软件包,例如gimp.如果您有 Trisquel 的 iso 映像,那么您可以gimp直接从 iso 映像获取并可以在 Ubuntu 中安装!

重要说明可能有助于如何获取所需的 deb(gimp从 iso 获取的示例):-

  • 使用sudo apt-get install -s gimp | grep Inst | awk '{print $2}' > pkgreq 列出所需的包
  • 最后运行cat pkgreq | xargs sudo dpkg-repack --root=/mnt 要得到那些债务!

笔记:-这将有助于在相同版本的衍生品和发行版上成功(例如 Trisquel 7.0 和 Ubuntu 14.04,相同版本的 Ubuntu 衍生品,例如 xfce、kde 等),对于不同版本和/或衍生品,可能/必须必须解决依赖性问题。

答案2

Ubuntu 服务器版本在 iso 中包含 .deb 软件包。桌面版和服务器版在安装方法上基本不同,但据我所知,软件包本质上是相同的,所以另一个选择是:下载相应Ubuntu版本的服务器版的iso文件。

然后,只需安装 iso 文件(使用 -o 循环选项),您将在“pool/main”文件夹中找到“.deb”包。

由于 Ubuntu 源自 Debian,因此您可以对 Debian 执行相同的操作。您会在同一个地方找到这些包。

相关内容