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]$
コメント