WinRARのLinux版。
公式サイト
http://www.rarlab.com/
インストール
インストールするには、公式サイトからファイルをダウンロードして展開するだけ。
コマンドライン版を試してみる。
$ wget http://www.rarlab.com/rar/rarlinux-5.0.1.tar.gz
展開して中身を確認
$ tar zxf rarlinux-5.0.1.tar.gz $ cd rar $ ls acknow.txt default.sfx* license.txt makefile order.htm rar* rar.txt rar_static* rarfiles.lst readme.txt unrar* whatsnew.txt
license.txt にライセンスについて記載がある。
40日間は評価期間、以降はライセンスを購入して下さいというのは、Win版と同じと思われる。
rar/unrarコマンドを/usr/local/bin 以下などにコピーして利用する。
とりあえずヘルプを見ようとコマンドを実行してみるとエラー発生
./rar: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
ライブラリが足りない模様。
「libstdc++-devel」をyumでインストールすれば良いものの、32bit/64bitがある。
libstdc++-devel.i686 : Header files and libraries for C++ development libstdc++-devel.x86_64 : Header files and libraries for C++ development
rarで必要とされているのは32bitのようなので、64bitOSの場合は明示的にアーキテクチャを指定する。
# yum install libstdc++-devel.i686 ←「.i686」を省略すると x86_64 のパッケージが対象となる
ヘルプを確認
$ ./rar --help RAR 5.01 Copyright (c) 1993-2013 Alexander Roshal 1 Dec 2013 Trial version Type RAR -? for help Usage: rar <command> -<switch 1> -<switch N> <archive> <files...> <@listfiles...> <path_to_extract\> <Commands> a Add files to archive c Add archive comment ch Change archive parameters cw Write archive comment to file d Delete files from archive e Extract files without archived paths f Freshen files in archive i[par]=<str> Find string in archives k Lock archive l[t[a],b] List archive contents [technical[all], bare] m[f] Move to archive [files only] p Print file to stdout r Repair archive rc Reconstruct missing volumes rn Rename archived files rr[N] Add data recovery record rv[N] Create recovery volumes s[name|-] Convert archive to or from SFX t Test archive files u Update files in archive v[t[a],b] Verbosely list archive contents [technical[all],bare] x Extract files with full path <Switches> - Stop switches scanning @[+] Disable [enable] file lists ad Append archive name to destination path ag[format] Generate archive name using the current date ai Ignore file attributes ap<path> Set path inside archive as Synchronize archive contents c- Disable comments show cfg- Disable read configuration cl Convert names to lower case cu Convert names to upper case df Delete files after archiving dh Open shared files ds Disable name sort for solid archive dw Wipe files after archiving e[+]<attr> Set file exclude and include attributes ed Do not add empty directories en Do not put 'end of archive' block ep Exclude paths from names ep1 Exclude base directory from names ep3 Expand paths to full including the drive letter f Freshen files hp[password] Encrypt both file data and headers ht[b|c] Select hash type [BLAKE2,CRC32] for file checksum id[c,d,p,q] Disable messages ierr Send all messages to stderr ilog[name] Log errors to file (registered versions only) inul Disable all messages isnd Enable sound k Lock archive kb Keep broken extracted files log[f][=name] Write names to log file m<0..5> Set compression level (0-store...3-default...5-maximal) ma[4|5] Specify a version of archiving format mc<par> Set advanced compression parameters md<n>[k,m,g] Dictionary size in KB, MB or GB ms[ext;ext] Specify file types to store mt<threads> Set the number of threads n<file> Additionally filter included files n@ Read additional filter masks from stdin n@<list> Read additional filter masks from list file o[+|-] Set the overwrite mode oh Save hard links as the link instead of the file oi[0-4][:min] Save identical files as references ol Save symbolic links as the link instead of the file or Rename files automatically ow Save or restore file owner and group p[password] Set password p- Do not query password qo[-|+] Add quick open information [none|force] r Recurse subdirectories r- Disable recursion r0 Recurse subdirectories for wildcard names only rr[N] Add data recovery record rv[N] Create recovery volumes s[<N>,v[-],e] Create solid archive s- Disable solid archiving sc<chr>[obj] Specify the character set sfx[name] Create SFX archive si[name] Read data from standard input (stdin) sl<size> Process files with size less than specified sm<size> Process files with size more than specified t Test files after archiving ta<date> Process files modified after <date> in YYYYMMDDHHMMSS format tb<date> Process files modified before <date> in YYYYMMDDHHMMSS format tk Keep original archive time tl Set archive time to latest file tn<time> Process files newer than <time> to<time> Process files older than <time> ts<m,c,a>[N] Save or restore file time (modification, creation, access) u Update files v<size>[k,b] Create volumes with size=<size>*1000 [*1024, *1] ver[n] File version control vn Use the old style volume naming scheme vp Pause before each volume w<path> Assign work directory x<file> Exclude specified file x@ Read file names to exclude from stdin x@<list> Exclude files listed in specified list file y Assume Yes on all queries z[file] Read archive comment from file
圧縮
適当なファイルを作成して圧縮してみる
$ ./rar a -rr2p -ep1 -phoge test.rar ./aaa ./bbb RAR 5.01 Copyright (c) 1993-2013 Alexander Roshal 1 Dec 2013 Trial version Type RAR -? for help Evaluation copy. Please register. Creating archive test.rar Adding ./aaa OK Adding ./bbb/ccc OK Adding ./bbb OK Adding data recovery record Done
上記では、ファイルaaaとディレクトリbbbをtest.rarに圧縮している。
2%のリカバリレコードを付加し、展開時にパスワード hoge を要求する。
圧縮時に絶対パスで圧縮しないオプションを付加。
(test.rar と同じディレクトリに aaaと bbb が展開される)
展開
展開せず中身を確認(ファイル名のみ)
$ ./unrar lb test.rar aaa bbb/ccc bbb
展開せず中身を確認(ファイル名とパーミッション等)
$ ./unrar lt test.rar UNRAR 5.01 freeware Copyright (c) 1993-2013 Alexander Roshal Archive: test.rar Details: RAR 4, recovery record Name: aaa Type: File Size: 1670493 Packed size: 35632 Ratio: 2% mtime: 2014-04-15 22:21,000 Attributes: -rw-rw-r-- CRC32: F086EE35 Host OS: Unix Compression: RAR 3.0(v29) -m3 -md=2M Flags: encrypted Name: bbb/ccc Type: File Size: 242156 Packed size: 4352 Ratio: 1% mtime: 2014-04-15 22:21,000 Attributes: -rw-rw-r-- CRC32: 734C538A Host OS: Unix Compression: RAR 3.0(v29) -m3 -md=2M Flags: encrypted Name: bbb Type: Directory mtime: 2014-04-15 22:13,000 Attributes: drwxrwxr-x CRC32: 00000000 Host OS: Unix Compression: RAR 3.0(v29) -m0 -md=0K
展開する(パスワードを要求される)
$ ./unrar x test.rar UNRAR 5.01 freeware Copyright (c) 1993-2013 Alexander Roshal Extracting from test.rar Enter password (will not be echoed) for aaa: Extracting aaa OK bbb/ccc - use current password ? [Y]es, [N]o, [A]ll A Creating bbb OK Extracting bbb/ccc OK All OK
展開したものを確認
$ ls
aaa bbb/ test.rar