Linuxでcabファイルを展開する方法

スポンサーリンク
このブログではアフィリエイト広告を利用しています。

Microsoftがプログラム配布等で使用しているcabファイルですが、Linuxでも開くことができます。

機会は少ないかもしれませんが、Windowsでファイル分割したものをLinuxで結合したいと思った場合でも対応できます。

スポンサーリンク

Linuxでcabファイルを展開する方法

Linuxでcabファイルを展開するには「cabextract」というパッケージを使用します。パッケージは以下のページからダウンロードすることができます。

cabextract
Support site for Stuart Caie's work

パッケージをインストールすると、コマンドが使用できるようになります。使用方法は簡単で、コマンドの後に展開するcabファイルの名前を指定するだけです。

cabextract [ファイル名]

これでcabファイルが展開されます。

コマンド実行例)

[demo@localhost demo]$ ls -l
合計 83580
-rw-r--r--. 1 demo demo 10485760 10月 9 10:14 demo1.cab
-rw-r--r--. 1 demo demo 10485760 10月 9 10:14 demo2.cab
-rw-r--r--. 1 demo demo 10485760 10月 9 10:15 demo3.cab
-rw-r--r--. 1 demo demo 10485760 10月 9 10:15 demo4.cab
-rw-r--r--. 1 demo demo 10485760 10月 9 10:15 demo5.cab
-rw-r--r--. 1 demo demo 10485760 10月 9 10:15 demo6.cab
-rw-r--r--. 1 demo demo 10485760 10月 9 10:15 demo7.cab
-rw-r--r--. 1 demo demo 10485760 10月 9 10:15 demo8.cab
-rw-r--r--. 1 demo demo  1697290 10月 9 10:15 demo9.cab
[demo@localhost demo]$ cabextract demo1.cab
demo1.cab: extends to demo2.cab (Disk 2)
demo1.cab: extends to demo3.cab (Disk 3)
demo1.cab: extends to demo4.cab (Disk 4)
demo1.cab: extends to demo5.cab (Disk 5)
demo1.cab: extends to demo6.cab (Disk 6)
demo1.cab: extends to demo7.cab (Disk 7)
demo1.cab: extends to demo8.cab (Disk 8)
demo1.cab: extends to demo9.cab (Disk 9)
Extracting cabinet: demo1.cab
  extracting demo

All done, no errors.
[demo@localhost demo]$ ls -l
合計 185980
-rw-rw-r--. 1 demo demo 104857600 10月 9 09:57 demo
-rw-r--r--. 1 demo demo  10485760 10月 9 10:14 demo1.cab
-rw-r--r--. 1 demo demo  10485760 10月 9 10:14 demo2.cab
-rw-r--r--. 1 demo demo  10485760 10月 9 10:15 demo3.cab
-rw-r--r--. 1 demo demo  10485760 10月 9 10:15 demo4.cab
-rw-r--r--. 1 demo demo  10485760 10月 9 10:15 demo5.cab
-rw-r--r--. 1 demo demo  10485760 10月 9 10:15 demo6.cab
-rw-r--r--. 1 demo demo  10485760 10月 9 10:15 demo7.cab
-rw-r--r--. 1 demo demo  10485760 10月 9 10:15 demo8.cab
-rw-r--r--. 1 demo demo   1697290 10月 9 10:15 demo9.cab
[demo@localhost demo]$

出力先を指定する

出力先のディレクトリを指定することもできます。

cabextract -d [出力先ディレクトリ名] [ファイル名]

コマンド実行例)

[demo@localhost demo]$ cabextract -d demo_dir demo1.cab
demo1.cab: extends to demo2.cab (Disk 2)
demo1.cab: extends to demo3.cab (Disk 3)
demo1.cab: extends to demo4.cab (Disk 4)
demo1.cab: extends to demo5.cab (Disk 5)
demo1.cab: extends to demo6.cab (Disk 6)
demo1.cab: extends to demo7.cab (Disk 7)
demo1.cab: extends to demo8.cab (Disk 8)
demo1.cab: extends to demo9.cab (Disk 9)
Extracting cabinet: demo1.cab
  extracting demo_dir/demo

All done, no errors.
[demo@localhost demo]$ ls -l
合計 83580
-rw-r--r--. 1 demo demo 10485760 10月  9 10:14 demo1.cab
-rw-r--r--. 1 demo demo 10485760 10月  9 10:14 demo2.cab
-rw-r--r--. 1 demo demo 10485760 10月  9 10:15 demo3.cab
-rw-r--r--. 1 demo demo 10485760 10月  9 10:15 demo4.cab
-rw-r--r--. 1 demo demo 10485760 10月  9 10:15 demo5.cab
-rw-r--r--. 1 demo demo 10485760 10月  9 10:15 demo6.cab
-rw-r--r--. 1 demo demo 10485760 10月  9 10:15 demo7.cab
-rw-r--r--. 1 demo demo 10485760 10月  9 10:15 demo8.cab
-rw-r--r--. 1 demo demo  1697290 10月  9 10:15 demo9.cab
drwxrwxr-x. 2 demo demo       18 10月  9 11:01 demo_dir
[demo@localhost demo]$ ls -l demo_dir
合計 102400
-rw-rw-r--. 1 demo demo 104857600 10月  9 09:57 demo
[demo@localhost demo]$

展開するファイルを指定する

cabファイルの中に複数のファイルが含まれている時、文字列を指定して一致するファイルだけ展開することができます。

cabextract -F [文字列] [ファイル名]

コマンド例)

[demo@localhost demo]$ cabextract -F test demo.cab
Extracting cabinet: demo.cab
  extracting test

All done, no errors.
[demo@localhost demo]$ ls -l
合計 269556
-rw-r--r--. 1 demo demo 171164990 10月  9 11:13 demo.cab
-rwxrwxr-x. 1 demo demo 104857600 10月  9 09:57 test
[demo@localhost demo]$

コメント