ルートアクセスなしでLinuxでISOを抽出する方法


22

サーバー上に大きなISOファイルがあり、ルートアクセス権なしでそのファイルにアクセスする必要があります。したがって、単純にマウントすることはできません。ルートアクセスなしでLInuxでISOを抽出できるようにするにはどうすればよいですか?

回答:


23

7zipがインストールされている場合、これは非常に簡単です。

7z x Your.iso -oWhere/You/Want/It/Extracted/To

iso全体を抽出します。


3
OPの質問には「linux」タグがあるので、これは7za(CentOS)では機能しないと述べることが重要です。7zaISOアーカイブをサポートしていません。サポートされている形式はで確認できます7za i
チョンゴシ

参考7zまでに、メディアから直接抽出するには十分に賢いようです:7z x /dev/cdrom。マウントすると、ファイルが0バイトになるという非常に愚かな問題があります。したがって、抽出は回避策でした。
アコスタディノフ

17

ファイルローラーなどの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
...

isoreadを使用してすべてのファイルを抽出するには、次のスクリプトを試してください:github.com/goblinhack/isoread
Neil McGill

@NeilMcGillはここでは機能しません。エラーがたくさん。
MewX

Rock Ridge拡張を含むISOでは、末尾に「; 1」が追加された大文字のファイル名が必要です。この形式でファイルをリストするには、-Rlを使用します。
lzap

6

新しい最良の方法を見つけました:を使用するxorriso

ルートアクセス権は必要ありません。私が試した7zfile-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/


4

GUIにアクセスできる場合は、isoを右クリックして[アーカイブマネージャーで開く...]を選択するか、単に実行します。

file-roller -e /path/to/extract/to /path/to/iso

1

持っている7-zipか、unrarインストールされている場合は、isoを抽出するために使用できます。


構文はunrar何ですか?これはWinrar専用だと思います
-golimar


1

上記のソリューションのほとんどは、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

0

マウントする必要はありません。ISOは、.zipなどの他のストレージファイルとまったく同じです。ユーザーとしてコンパイルできるはずのトリックを実行するiso固有のツールがたくさんありますが、最も簡単な方法はそうすることです:

file-roller -h filename.iso
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.