回答:
ファイルローラーなどのGUIツールの多くは、バックグラウンドでisoinfoを使用します。
次のようにISOから単一のファイルを抽出できます。
isoinfo -i image.iso -x /isolinux/initrd.img> initrd.img
リダイレクトは-x
、stdoutへの抽出として必要です。
ISOのフォルダーの内容を一覧表示する場合:
isoinfo -i image.iso -l
出力例:
/のディレクトリ一覧 d --------- 0 0 0 2048 0 1900 [26 02]。 d --------- 0 0 0 2048 0 1900 [26 02] .. d --------- 0 0 0 2048 2010年2月6日[27 02] i386 ...
新しい最良の方法を見つけました:を使用するxorriso
!
ルートアクセス権は必要ありません。私が試した7z
とfile-roller
、それらの両方は、ここでは動作しません。
xorriso
はオープンソースプログラムであるため、デフォルトでインストールされていない場合はソースコードをダウンロードできます。
インストールしていない場合は、次のソースコードをダウンロードしてください:https : //www.gnu.org/software/xorriso/
手順は次のとおりです。
tar zxvf xorriso-1.4.6.tar.gz
cd xorriso-1.4.6
./configure
make
cd xorriso
pwd
出力ディレクトリを環境変数に追加しますPATH
。
次に、それを使用してisoファイルを抽出できます。
xorriso -osirrox on -indev image.iso -extract / extracted_path
あなただけ変更する必要がありますimage.iso
し、extracted_path
それはあなたのシステム上で動作させるために。
参照先:https : //blog.sleeplessbeastie.eu/2014/08/26/how-to-extract-an-iso-image/
FUSEファイルシステムをマウントできる場合、FuseISOはイメージをマウントするためのオプションです。
上記のソリューションのほとんどは、isoコンテンツを抽出しますが、コンテンツが大きい場合は多くのスペースが必要になります。
より良い解決策は、isoイメージを実際にマウントすることです。また、rootアクセスなしでFuseISOを使用できるため(まだubuntuにインストールされていない場合はFuseISOをインストールするよう管理者に依頼する必要がありますsudo apt-get install fuseiso
)
FuseISOをマシンにインストールしたら、次のことができます。
# For user to mount an iso file:
mkdir ~/iso
fuseiso ~/my_iso.iso ~/iso
# For user to unmount an iso file:
fusermount -u ~/iso
7za
(CentOS)では機能しないと述べることが重要です。7za
ISOアーカイブをサポートしていません。サポートされている形式はで確認できます7za i
。