<HTML> <HEAD> <TITLE>Bzip2 COMO: Utilización conjunta con tar</TITLE> </HEAD> <BODY> <A HREF="Bzip2-Como-3.html">Anterior</A> <A HREF="Bzip2-Como-5.html">Siguiente</A> <A HREF="Bzip2-Como.html#toc4">Indice</A> <HR> <H2><A NAME="s4">4. Utilización conjunta con tar</A></H2> <P>Básicamente, hay dos formas de combinar <CODE>bzip2</CODE> con <CODE>tar</CODE>: </P> <H2><A NAME="ss4.1">4.1 Forma fácil que configurar:</A></H2> <P>Este método no necesita configurar nada. Para desempaquetar un fichero <CODE>.tar.gz</CODE>, digamos algo.tar.bz, en el directorio actual, debemos hacer</P> <P> <BLOCKQUOTE><CODE> <PRE> /directorio/de/bzip2 -cd algo.tar.bz2 | tar xf - </PRE> </CODE></BLOCKQUOTE> </P> <P>Este método funciona, pero puede ser un poco pesado teclearlo todo cada vez que se necesite descomprimir algo. </P> <H2><A NAME="ss4.2">4.2 Forma fácil de usar:</A></H2> <P>Aplique el siguiente parche a gnu tar 1.12, compílelo, instálelo, y se acabó. Asegúrese de que tanto <CODE>tar</CODE> como <CODE>bzip2</CODE> están en su <CODE>$PATH</CODE> con </P> <P> <BLOCKQUOTE><CODE> <PRE> which tar which bzip2 </PRE> </CODE></BLOCKQUOTE> </P> <P>Para utilizarlo, sólo tiene que hacer </P> <P> <BLOCKQUOTE><CODE> <PRE> tar xyf algo.tar.bz2 </PRE> </CODE></BLOCKQUOTE> </P> <P>para descomprimir el fichero.</P> <P>Para hacer un nuevo fichero comprimido hay que hacer algo parecido:</P> <P> <BLOCKQUOTE><CODE> <PRE> tar cyf algo.tar.bz2 fichero1 fichero2 fichero3...directorio1 directorio2... </PRE> </CODE></BLOCKQUOTE> </P> <P>Y aquí está el parche :)</P> <P> <BLOCKQUOTE><CODE> <PRE> *** tar.c.orig Sat Apr 26 05:09:49 1997 --- tar.c Feb 2 00:50:47 1998 *************** *** 16,21 **** --- 16,24 ---- with this program; if not, write to the Free Software Foundation, Inc., 59 Place - Suite 330, Boston, MA 02111-1307, USA. */ + /* Feb 2 98: patched by David Fetter to use bzip2 as a + filter (option -y) */ + #include "system.h" #include <getopt.h> *************** *** 196,201 **** --- 199,206 ---- {"block-number", no_argument, NULL, 'R'}, {"block-size", required_argument, NULL, OBSOLETE_BLOCKING_FACTOR}, {"blocking-factor", required_argument, NULL, 'b'}, + {"bzip2", required_argument, NULL, 'y'}, + {"bunzip2", required_argument, NULL, 'y'}, {"catenate", no_argument, NULL, 'A'}, {"checkpoint", no_argument, &checkpoint_option, 1}, {"compare", no_argument, NULL, 'd'}, *************** *** 372,377 **** --- 377,383 ---- PATTERN at list/extract time, a globbing PATTERN\n\ -o, --old-archive, --portability write a V7 format archive\n\ --posix write a POSIX conformant archive\n\ + -y, --bzip2, --bunzip2 filter the archive through bzip2\n\ -z, --gzip, --ungzip filter the archive through gzip\n\ -Z, --compress, --uncompress filter the archive through compress\n\ --use-compress-program=PROG filter through PROG (must accept -d)\n"), *************** *** 448,454 **** Y per-block gzip compression */ #define OPTION_STRING \ ! "-01234567ABC:F:GK:L:MN:OPRST:UV:WX:Zb:cdf:g:hiklmoprstuvwxz" static void set_subcommand_option (enum subcommand subcommand) --- 454,460 ---- Y per-block gzip compression */ #define OPTION_STRING \ ! "-01234567ABC:F:GK:L:MN:OPRST:UV:WX:Zb:cdf:g:hiklmoprstuvwxyz" static void set_subcommand_option (enum subcommand subcommand) *************** *** 805,810 **** --- 811,820 ---- case 'X': exclude_option = 1; add_exclude_file (optarg); + break; + + case 'y': + set_use_compress_program_option ("bzip2"); break; case 'z': </PRE> </CODE></BLOCKQUOTE> </P> <HR> <A HREF="Bzip2-Como-3.html">Anterior</A> <A HREF="Bzip2-Como-5.html">Siguiente</A> <A HREF="Bzip2-Como.html#toc4">Indice</A> </BODY> </HTML>