ウェブサイト検索

Linux で ISO イメージからファイルを抽出してコピーする 3 つの方法


Linux サーバー上に大きな ISO ファイルがあり、そこから 1 つのファイルにアクセス、抽出、またはコピーしたいとします。どうやってやるのですか? Linux ではそれを行う方法がいくつかあります。

こちらもお読みください: Linux で ISO からブート可能な USB を作成する Bash スクリプト

たとえば、標準のマウント コマンドを使用して、ループ デバイスを使用して ISO イメージを読み取り専用モードでマウントし、そのファイルを別のディレクトリにコピーできます。

Linux で ISO ファイルをマウントまたは抽出する

これを行うには、ISO ファイル (私はubuntu-16.10-server-amd64.iso ISO イメージを使用しました) と、ISO ファイルをマウントまたは抽出するためのマウント ポイント ディレクトリが必要です。

まず、次のようにイメージをマウントするマウント ポイント ディレクトリを作成します。

sudo mkdir /mnt/iso

ディレクトリが作成されたら、次のコマンドを実行してubuntu-16.10-server-amd64.iso ファイルを簡単にマウントし、その内容を確認できます。

sudo mount -o loop ubuntu-16.10-server-amd64.iso /mnt/iso
ls /mnt/iso/

これで、マウントされたディレクトリ (/mnt/iso) 内に移動してファイルにアクセスしたり、cp コマンドを使用してファイルを /tmp ディレクトリにコピーしたりできるようになります。

cd /mnt/iso
sudo cp md5sum.txt /tmp/
sudo cp -r ubuntu /tmp/

: -r オプションは、ディレクトリを再帰的にコピーするために使用されます。必要に応じて、コピー コマンドの進行状況を監視することもできます。

7zip コマンドを使用して ISO コンテンツを抽出する

ISO ファイルをマウントしたくない場合は、7zip をインストールするだけで済みます。これは、TAR、XZ、GZIP、ZIP、BZIP2、等..

sudo apt-get install p7zip-full p7zip-rar [On Debian/Ubuntu systems]
sudo yum install p7zip p7zip-plugins      [On CentOS/RHEL systems]

7zip プログラムがインストールされたら、7z コマンドを使用して ISO ファイルの内容を抽出できます。

7z x ubuntu-16.10-server-amd64.iso

: Linux の mount コマンドと比較すると、7zip ははるかに高速で、あらゆるファイルを圧縮または解凍するのに十分賢いようです。アーカイブ形式。

isoinfo コマンドを使用して ISO コンテンツを抽出する

isoinfo コマンドは、iso9660 イメージのディレクトリの一覧表示に使用されますが、このプログラムを使用してファイルを抽出することもできます。

先ほど述べたように、isoinfo プログラムはディレクトリの一覧表示を実行するため、最初に ISO ファイルの内容を一覧表示します。

isoinfo -i ubuntu-16.10-server-amd64.iso -l

これで、次のように ISO イメージから単一のファイルを抽出できるようになりました。

isoinfo -i ubuntu-16.10-server-amd64.iso -x MD5SUM.TXT > MD5SUM.TXT

: -x オプションで標準出力に抽出するため、リダイレクトが必要です。

方法はたくさんありますが、ISO ファイルからファイルを抽出またはコピーするための便利なコマンドやプログラムをご存知の場合は、コメントセクションを通じて共有してください。