Linuxサーバーに大きなISOファイルがあり、そこから1つのファイルにアクセス、抽出、またはコピーしたいとします。どうしますか? Linuxには、いくつかの方法があります。
また読む :LinuxでISOから起動可能なUSBを作成するためのBashスクリプト
たとえば、標準のマウントを使用できます ループデバイスを使用してISOイメージを読み取り専用モードでマウントし、ファイルを別のディレクトリにコピーするコマンド。
LinuxでのISOファイルのマウントまたは抽出
そのためには、ISOファイルが必要です(私は ubuntu-16.10-server-amd64.iso ISOを使用しました image)および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 )内に移動できます。 )ファイルにアクセスするか、ファイルを/tmp
にコピーします cpコマンドを使用したディレクトリ。
$ 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 [ Debian / Ubuntuで システム]$sudo yum install p7zip p7zip-plugins [ CentOS / RHEL システム]
一度7zip プログラムがインストールされているので、 7zを使用できます ISOファイルの内容を抽出するコマンド。
$ 7z x ubuntu-16.10-server-amd64.iso


isoinfoコマンドを使用してISOコンテンツを抽出する
isoinfo コマンドはiso9660イメージのディレクトリリストに使用されますが、このプログラムを使用してファイルを抽出することもできます。
私が言ったようにisoinfo プログラムはディレクトリリストを実行するため、最初にISOファイルのコンテンツをリストします。
$ isoinfo -i ubuntu-16.10-server-amd64.iso -l </ pre>![]()
![]()
これで、次のようにISOイメージから単一のファイルを抽出できます。
$ isoinfo -i ubuntu-16.10-server-amd64.iso -x MD5SUM.TXT> MD5SUM.TXT
注 :リダイレクトは -x
として必要です オプションはstdoutに抽出されます。![]()
![]()
ISOファイルからファイルを抽出またはコピーするための便利なコマンドやプログラムを知っている場合は、コメントセクションで共有してください。