我使用什么过程从基于 Debian/Ubuntu 的发行版的 ISO 映像中提取 Debian 二进制包?
答案1
是的,可以获取/提取德布直接来自发行版的 iso 映像(安装盘的 ISO)。请按照以下步骤来完成此操作:-
将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
通过命令获取所需的 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-desktop
Xubuntu 的 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 执行相同的操作。您会在同一个地方找到这些包。