サーバーに大きなISOファイルがあり、ルートアクセスなしでそのファイルにアクセスする必要があります。したがって、単純にマウントすることはできません。ルートアクセスなしでLInuxでISOを抽出できるようにするにはどうすればよいですか?
7Zipがインストールされている場合、これは非常に簡単です。
7z x Your.iso -oWhere/You/Want/It/Extracted/To
iso全体を抽出します。
ファイルローラーのような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
!
Rootアクセス権は必要ありません。 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/
GUIアクセスがある場合は、isoを右クリックし、[アーカイブマネージャで開く...]を選択するか、次のコマンドを実行します。
file-roller -e /path/to/extract/to /path/to/iso
あなたが持っている場合 7-Zip
またはunrar
がインストールされており、isoの抽出に使用できます。
Fuseファイルシステムをマウントできる場合、 FuseISO はイメージをマウントするためのオプションです。
上記のソリューションのほとんどは、isoコンテンツを抽出しますが、コンテンツが大きい場合、多くのスペースが必要になります。
より良い解決策は、isoイメージの実際のマウントを実行することです。ルートアクセスなしで可能である FuseISO のおかげです(ただし、FuseISOをまだインストールしていない場合は、管理者にインストールを依頼する必要があります)インストール、ubuntu 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
マウントする必要はありません。 ISOは、.Zipのような他のストレージファイルと同じです。ユーザーとしてコンパイルできるトリックを実行するためのiso固有のツールはたくさんありますが、最も簡単な方法は次のようにすることです。
file-roller -h filename.iso