インストールディスクのISOからDebianバイナリパッケージを抽出する方法は?

インストールディスクのISOからDebianバイナリパッケージを抽出する方法は?

Debian / UbuntuベースのディストリビューションのISOイメージからDebianバイナリパッケージを抽出するには、どのプロセスを使用しますか?

答え1

はい、インポート/抽出が可能です。デップディストリビューション(インストールディスクのISO)から直接インポートされたisoイメージ。これを行うには、次の手順に従ってください。

  1. iso(ライブ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イメージがある場合は、gimpISOイメージから直接インポートしてUbuntuにインストールできます!)

必要な deb を取得するのに役立つ可能性のある重要な注意事項 ( gimpiso の例):-

  • 使用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、xfce、 kdeなどの同じUbuntu派生バージョン)で成功するのに役立ちます。他のバージョンおよび/または派生物の場合、依存関係は次のとおりです。解決しました。

答え2

Ubuntuサーバーのバージョンには、isoに.debパッケージが含まれています。デスクトップバージョンとサーバーバージョンは基本的にインストール方法が異なりますが、私が知っている限り、パッケージは本質的に同じです。

その後、-oループオプションを使用してisoファイルをインストールすると、「pool / main」フォルダに「.deb」パッケージがあります。

UbuntuはDebianから派生したので、Debianでも同じことができます。このパッケージは同じ場所にあります。

関連情報