RAR (Roshal ARchive) es un formato de archivo propietario, con un algoritmo de compresión sin pérdida utilizado para la compresión de datos y archivación, desarrollado por el ingeniero de software ruso, Eugene Roshal. En GNU/Linux es posible extraer archivos comprimidos RAR utilizando la herramienta unrar.



El formato RAR es más lento que el ZIP, pero posee una mayor tasa de compresión. Otra característica de RAR es que posee una mejor redundancia de datos que ZIP. Además, este formato permite lo que se conoce como compresión sólida que permite comprimir varios ficheros juntos, de forma que un mismo diccionario se aplica a toda la información, con lo que el nivel de compresión es mayor.

La herramienta unrar permite ver, extraer y verificar archivos RAR y viene en el paquete del mismo nombre. Para CentOS el paquete unrar se incluye en el repositorio rpmforge.

Ejemplos de uso:

Listar el contenido de un archivo RAR:

$ unrar l example.rar

UNRAR 3.92 freeware      Copyright (c) 1993-2010 Alexander Roshal

Archive example.rar

 Name             Size   Packed Ratio  Date   Time     Attr      CRC   Meth Ver
-------------------------------------------------------------------------------
 example             0        0   0% 28-03-07 10:53  .D.....   00000000 m0  2.0
 BackPhoto.hx     2402      815  33% 16-03-07 02:21  .....A.   6072BB12 m3c 2.9
 compile.hxml       52       52 100% 27-03-07 22:26  .....A.   28F0F374 m0c 2.9
 DS_Note.ttf    107200    21930  20% 04-06-00 20:20  .....A.   BB5F8A15 m3c 2.9
 Gallery.hx       1709      690  40% 28-03-07 10:52  .....A.   7E6584F0 m3c 2.9
 images              0        0   0% 28-03-07 10:50  .D.....   00000000 m0  2.0
 01.jpg         173541   160597  92% 22-06-05 21:36  .....A.   F1EA192C m3c 2.9
 02.jpg           8373     8361  99% 28-03-07 10:48  .....A.   610577D7 m3c 2.9
 03.jpg          17796    16775  94% 28-03-07 10:48  .....A.   5BB13439 m3c 2.9
 04.jpg          11419    11412  99% 28-03-07 10:48  .....A.   AD634D50 m3c 2.9
 05.jpg          15956    15951  99% 28-03-07 10:49  .....A.   C0A00FCE m3c 2.9
 library.xml       674      403  59% 27-03-07 22:25  .....A.   B5687D06 m3c 2.9
 Main.hx           154      130  84% 27-03-07 22:26  .....A.   BA13818D m3c 2.9
 Photo.hx         3414     1070  31% 16-03-07 03:45  .....A.   30306AC2 m3c 2.9
-------------------------------------------------------------------------------
   14           342690   238186  69%

Imprimir en pantalla el contenido de un archivo contenido en el RAR, por ejemplo mostrar el contenido del archivo example/Main.hx contenido dentro del RAR example.rar:

$ unrar p example.rar example/Main.hx

UNRAR 3.92 freeware      Copyright (c) 1993-2010 Alexander Roshal


Extracting from example.rar

------ Printing example/Main.hx

  99%

class Main {

    static function main():Void {

        var gal = new Gallery(flash.Lib.current);
        gal.draw();

    }
}
All OK

Extraer el archivo RAR en el directorio actual:

$ unrar e example.rar 

UNRAR 3.92 freeware      Copyright (c) 1993-2010 Alexander Roshal


Extracting from example.rar

Extracting  BackPhoto.hx                                              OK 
Extracting  compile.hxml                                              OK 
Extracting  DS_Note.ttf                                               OK 
Extracting  Gallery.hx                                                OK 
Extracting  01.jpg                                                    OK
Extracting  02.jpg                                                    OK
Extracting  03.jpg                                                    OK
Extracting  04.jpg                                                    OK
Extracting  05.jpg                                                    OK
Extracting  library.xml                                               OK
Extracting  Main.hx                                                   OK
Extracting  Photo.hx                                                  OK
All OK

De esta forma (utilizando el comando e) se extraen todos los archivos en el directorio actual, sin respetar la estructura de directorios dentro del RAR:

$ ll
total 604
-rw-rw-r-- 1 pepe pepe 173541 Jun 22  2005 01.jpg
-rw-rw-r-- 1 pepe pepe   8373 Mar 28  2007 02.jpg
-rw-rw-r-- 1 pepe pepe  17796 Mar 28  2007 03.jpg
-rw-rw-r-- 1 pepe pepe  11419 Mar 28  2007 04.jpg
-rw-rw-r-- 1 pepe pepe  15956 Mar 28  2007 05.jpg
-rw-rw-r-- 1 pepe pepe   2402 Mar 16  2007 BackPhoto.hx
-rw-rw-r-- 1 pepe pepe     52 Mar 27  2007 compile.hxml
-rw-rw-r-- 1 pepe pepe 107200 Jun  4  2000 DS_Note.ttf
-rwxrwxrwx 1 pepe pepe 238974 Oct 26 12:56 example.rar
-rw-rw-r-- 1 pepe pepe   1709 Mar 28  2007 Gallery.hx
-rw-rw-r-- 1 pepe pepe    674 Mar 27  2007 library.xml
-rw-rw-r-- 1 pepe pepe    154 Mar 27  2007 Main.hx
-rw-rw-r-- 1 pepe pepe   3414 Mar 16  2007 Photo.hx

Para extraer el RAR respetando la estructura de directorios se debe utilizar el comando x:

$ unrar x example.rar

UNRAR 3.92 freeware      Copyright (c) 1993-2010 Alexander Roshal


Extracting from example.rar

Creating    example                                                   OK
Extracting  example/BackPhoto.hx                                      OK
Extracting  example/compile.hxml                                      OK
Extracting  example/DS_Note.ttf                                       OK
Extracting  example/Gallery.hx                                        OK
Creating    example/images                                            OK
Extracting  example/images/01.jpg                                     OK
Extracting  example/images/02.jpg                                     OK
Extracting  example/images/03.jpg                                     OK
Extracting  example/images/04.jpg                                     OK
Extracting  example/images/05.jpg                                     OK
Extracting  example/library.xml                                       OK
Extracting  example/Main.hx                                           OK
Extracting  example/Photo.hx                                          OK
All OK

El resultado es el siguiente:

$ ll
total 244
drwxrwxr-x 3 pepe pepe   4096 Oct 26 13:12 example
-rwxrwxrwx 1 pepe pepe 238974 Oct 26 12:56 example.rar
$ ll example
total 136
-rw-rw-r-- 1 pepe pepe   2402 Mar 16  2007 BackPhoto.hx
-rw-rw-r-- 1 pepe pepe     52 Mar 27  2007 compile.hxml
-rw-rw-r-- 1 pepe pepe 107200 Jun  4  2000 DS_Note.ttf
-rw-rw-r-- 1 pepe pepe   1709 Mar 28  2007 Gallery.hx
drwxrwxr-x 2 pepe pepe   4096 Oct 26 13:12 images
-rw-rw-r-- 1 pepe pepe    674 Mar 27  2007 library.xml
-rw-rw-r-- 1 pepe pepe    154 Mar 27  2007 Main.hx
-rw-rw-r-- 1 pepe pepe   3414 Mar 16  2007 Photo.hx


Tal vez pueda interesarte


Compartí este artículo