Debian

如何從安裝盤的 ISO 中提取 Debian 二進制包?

  • January 18, 2022

我使用什麼過程從基於 Debian/Ubuntu 的發行版的 ISO 映像中提取 Debian 二進制包?

是的,可以直接從發行版的 iso 映像(安裝盤的 ISO)中獲取/提取deb 。請按照以下步驟完成此操作:-

  1. 將 iso(live cd 版本)掛載為虛擬系統(root /):
  • 掛載iso到/media/cdrom
sudo mkdir /media/cdrom
sudo mount -o loop /path/to/iso /media/cdrom
安裝[`filesystem.squashfs`](http://en.wikipedia.org/wiki/SquashFS)到`/mnt`:
do 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-desktop`從 Xubuntu 的 iso 圖像中獲得整個桌面環境!


另一個例子:Trisquel 7.0 LTS 是 Ubuntu 14.04 LTS 的衍生版本,它是[完全免費](http://www.gnu.org/distros/free-distros.html)的發行版,預裝了一些有用的軟體包,如`gimp`. 如果您有 Trisquel 的 iso 映像,那麼您可以`gimp`直接從 iso 映像獲取並安裝在 Ubuntu 中!


可能有助於如何獲取所需 deb 的重要說明(`gimp`從 iso 獲取的範例):-


* 用於`sudo apt-get install -s gimp | grep Inst | awk '{print $2}' &gt; pkgreq` **列出**所需的包
* 最後跑去`cat pkgreq | xargs sudo dpkg-repack --root=/mnt` **拿**那些deb!




---


**注意:-**這將有助於在相同版本的衍生產品和發行版上成功(如 Trisquel 7.0 和 Ubuntu 14.04,相同版本的 Ubuntu 衍生產品,如 xfce、kde 等),對於不同的版本和/或衍生產品,可能/必須存在依賴問題解決了。

引用自:https://unix.stackexchange.com/questions/206456