La norma[35] de compresión bajo los sistemas UNIX® es el formato gzip, desarrollado por el proyecto GNU, y considerado como una de las mejores herramientas de compresión general.
Por lo general se asocia gzip a un utilitario denominado tar. tar es un sobreviviente de los tiempos prehistóricos, cuando los informáticos almacenaban sus datos en cintas magnéticas. Hoy día, los disquetes, los CD-ROM y los DVD han reemplazado a las cintas[36], pero todavía se usa tar para crear archivos. Por ejemplo, se pueden agregar todos los ficheros de un directorio a un solo archivo. Luego, este archivo se puede comprimir fácilmente con gzip.
Esta es la razón por
la cual muchos software libres están disponibles como archivos
tar
, comprimidos con gzip. Por lo
tanto, sus extensiones son .tar.gz
(o
también, su forma abreviada .tgz
)
Para descomprimir este archivo, Usted puede utilizar gzip y tar. Pero la versión GNU de tar (gtar) le permite utilizar gzip “al vuelo”, y descomprimir un archivo de manera transparente (y sin necesitar el espacio extra en el disco)
La utilización de tar sigue este formato:
tar <fichero opciones> <.tar.gz fichero> [ficheros]
La opción
<ficheros>
no es obligatoria. Si se omite,
se procesará todo el archivo. Si Usted quiere extraer el
contenido de un archivo .tar.gz
, no
necesita especificar este argumento.
# tar xvfz guile-1.3.tar.gz -rw-r--r-- 442/1002 10555 1998-10-20 07:31 guile-1.3/Makefile.in -rw-rw-rw- 442/1002 6668 1998-10-20 06:59 guile-1.3/README -rw-rw-rw- 442/1002 2283 1998-02-01 22:05 guile-1.3/AUTHORS -rw-rw-rw- 442/1002 17989 1997-05-27 00:36 guile-1.3/COPYING -rw-rw-rw- 442/1002 28545 1998-10-20 07:05 guile-1.3/ChangeLog -rw-rw-rw- 442/1002 9364 1997-10-25 08:34 guile-1.3/INSTALL -rw-rw-rw- 442/1002 1223 1998-10-20 06:34 guile-1.3/Makefile.am -rw-rw-rw- 442/1002 98432 1998-10-20 07:30 guile-1.3/NEWS -rw-rw-rw- 442/1002 1388 1998-10-20 06:19 guile-1.3/THANKS -rw-rw-rw- 442/1002 1151 1998-08-16 21:45 guile-1.3/TODO ...
Entre las opciones de tar se encuentran las siguientes:
v
permite que tar sea “verboso”. Esto
significa que mostrará en pantalla todos los ficheros que
encuentre en el archivo. Si se omite esta opción, el
procesamiento será silencioso.
f
esta es una opción obligatoria. Sin ella, tar intenta
usar una cinta magnética en vez de un archivo de fichero (es
decir, el dispositivo /dev/rmt0
)
z
permite manipular un archivo comprimido con gzip (con
el nombre de fichero con sufijo .gz
). Si
Usted olvida esta opción, tar producirá un error. A la
inversa, no deberá utilizar esta opción si Usted está frente a
un archivo no comprimido.
tar permite efectuar varias acciones diferentes sobre un archivo (extracción, lectura, creación, adición ...). Una opción permite especificar la acción a usar:
x
:
esta opción le permite extraer los ficheros de un
archivo.
c
:
esta opción le permite crear un archivo, esto implica destruir
su contenido actual. Por ejemplo, la puede usar para hacer una
copia de seguridad de sus ficheros personales.
r
: esta opción permite adicionar
ficheros al final del archivo. No se puede usar con un archivo
que ya está comprimido.
Un formato de compresión
denominado bzip2 ya reemplazó a gzip en el uso
general, aunque algún software todavía se distribuye en formato
gzip, principalmente por razones de compatibilidad con
sistemas más antiguos. Casi todo el software libre ahora se
distribuye en archivos que usan la extensión
.tar.bz2
.
En lo que al comando
tar respecta, bzip2 se usa como gzip. La
única cosa que hay que hacer es reemplazar la opción
z
por la opción j
. Por
ejemplo:
$ tar xvjf pepe.tar.bz2
Otra posibilidad (que parece ser más portable, ¡pero es más larga de teclear!):
$ tar --use-compress-program=bzip2 -xvf pepe.tar.bz2
bzip2 debe estar instalado en el sistema en un
directorio incluido en la variable de entorno
PATH
antes de que ejecute tar.
Ahora que está listo para descomprimir el archivo,
no olvide de hacerlo como administrador (root
). Deberá
hacer cosas que un usuario no privilegiado no puede hacer, e
incluso si puede hacer algunas como tal, es más fácil ser
root
durante toda la operación, incluso cuando esto puede
resultar ser poco seguro[37].
El
primer paso es que Usted se dirija al directorio
/usr/local/src
, y copie el archivo allí. De
esta manera, debería poder encontrar el archivo en caso de perder
el software instalado. Si no tiene mucho espacio en su disco
rígido, haga una copia de seguridad del archivo en el soporte
habitual que Usted usa para esto una vez que instaló el software.
También puede borrar el archivo pero antes de hacerlo, asegúrese
de que lo pueda encontrar en la web cuando lo necesite. También
es una buena costumbre guardar la línea de comandos utilizada
para configurar el software o toda la secuencia de comandos
completa utilizada para generar la versión que funciona, puede
ocurrir que necesite las mismas opciones cuando actualice el
software.
Normalmente, la descompresión de un archivo
tar debería crear un directorio nuevo (puede verificar
esto antes de descomprimir con la opción t
).
Luego, cámbiese a ese directorio. Ya está listo para continuar
con el paso siguiente.
Los sistemas UNIX® (por ejemplo, GNU/Linux y FreeBSD®) suelen ser sistemas seguros. Esto significa que los usuarios no privilegiados no pueden hacer operaciones que puedan poner en peligro al sistema (por ejemplo, formatear el disco rígido) ni alterar los ficheros de los demás usuarios. En la práctica y en particular, esto hace al sistema inmune frente a los virus.
Por otra parte,
root
puede hacer lo que se le antoje, incluso correr un
programa malicioso (como, por ejemplo, un virus o un Troyano). El
disponer del código fuente es una especie de garantía de
seguridad frente a los virus[38]. Es decir,
al tener el código fuente y si Usted está lo suficientemente
entrenado en el lenguaje de programación en el cual se programó
el software, Usted puede ver el código y deducir “qué, cómo
y por qué” el programa hace lo que hace y determinar si el
programa puede llegar a tener, o no, un comportamiento
malicioso.
La idea consiste en
crear un usuario dedicado a la administración (por ejemplo,
free
o admin
)
usando el comando adduser. Dicho usuario debe
poder escribir en los directorios siguientes:
/usr/local/src
,
/usr/local/bin
y
/usr/local/lib
, así como también en todo el
subárbol /usr/man
(puede que también tenga
que copiar ficheros en otros lugares). Recomendamos por esto,
hacer que este usuario sea el propietario de los directorios
necesarios, o crear un grupo para él, y hacer que dicho grupo
pueda escribir en esos directorios.
Una
vez que se tomaron estas precauciones, Usted puede seguir las
instrucciones de la sección Sección 2.4.1, “La forma más fácil” reemplazando al usuario
root
por el recién creado.
[35] En GNU/Linux hoy día el estándar es el formato bzip2, más eficiente sobre los ficheros de texto (aunque necesite más poder computacional y más memoria). Por favor, consulte Sección 2.3, “Bzip2” que trata específicamente con este programa.
[36] Aunque en algunos servidores con mucho volumen de información todavía se siguen usando las cintas magnéticas
[37] Por lo general
sólo deberá ser root
para instalar los archivos
generados. Todos los otros pasos deberían, en una aplicación de
cierta calidad, poder realizarse con un usuario no
privilegiado.
[38] Un proverbio del mundo de BSD dice: “Never trust a software you don't have the sources for” (que significa: Nunca confíe en un software del cual no tenga el código fuente)