Linux サーバー上に非常に大きな ISO イメージ ファイルがあり、それを開いてファイルの 1 つを抽出またはコピーするとします。あなたならどうしますか?
実際、Linux システムではこの要件を達成する方法がたくさんあります。
たとえば、従来の mount コマンドを使用して、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/
Linux システムに ISO イメージをマウントします
これで、マウント ディレクトリ /mnt/iso に入り、ファイルを表示するか、cp コマンドを使用してファイルを /tmp ディレクトリにコピーできます。
$ cd /mnt/iso $ sudo cp md5sum.txt /tmp/ $ sudo cp -r ubuntu /tmp/
Linux システムの ISO イメージ内のファイルをコピーします
注: -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 システムで ISO イメージからファイルを抽出するには、7zip ツールを使用します
注: Linux の mount コマンドと比較して、7zip は、あらゆる形式のファイルを圧縮および解凍する際に高速かつスマートです。
ISO イメージ ファイルの内容を抽出するには isoinfo コマンドを使用します
isoinfo コマンドは、iso9660 イメージ ファイルの内容をディレクトリ形式で一覧表示するために使用されますが、このプログラムを使用してファイルを抽出することもできます。
前述したように、isoinfo プログラムはディレクトリのリストを表示するため、ISO イメージ ファイルの内容が最初にリストされます。
$ isoinfo -i ubuntu-16.10-server-amd64.iso -l
Linux で ISO ファイルの内容を一覧表示します
これで、次のように ISO イメージ ファイルから単一ファイルを抽出できるようになります:
$ isoinfo -i ubuntu-16.10-server-amd64.iso -x MD5SUM.TXT > MD5SUM.TXT
注: -x は標準出力に解凍するため、リダイレクトを使用する必要があります 指定されたファイルを抽出します。
ISOイメージファイルから個々のファイルを抽出します