4. Utiliser bzip2 avec tar

Contenu de cette section

Sont listés ci-dessous trois méthodes d'utilisation de bzip2 avec tar, soit:

4.1 Le plus facile à mettre en place

Cette méthode ne nécessite pas de configurer quoi que ce soit. Pour décompresser une archive foo.tar.bz2 en bzip2 dans le répertoire courant, tapez

/chemin/vers/bzip2 -cd foo.tar.bz2 | tar xf -

Ceci fonctionne, mais peut être ennuyeux à taper souvent.

4.2 Facile à mettre en oeuvre, relativement simple à utiliser, pas de nécessité d'avoir les privilèges de super-utilisateur

Merci à Leonard Jean-Marc pour ce truc.

Dans votre .bashrc (ou .tcshrc, ou .cshrc) vous pouvez mettre une ligne comme celle-ci:

alias btar='tar --use-compress-program /usr/local/bin/bzip2 '

4.3 Aussi simple à utiliser, mais nécessite les privilèges de super-utilisateur

Appliquez la correction suivande au gnu tar 1.12 comme suit:

cd tar-1.12/src; patch < /chemin/vers/tar.diff
compilez le, et installez le, et tout sera impeccable. Vérifiez que tar et bzip2 soient tous 2 dans votre $PATH en exécutant "which tar" et "which bzip2". Pour utiliser le nouveau tar, faîtes juste
 tar xyf foo.tar.bz2
pour décompresser le fichier.

Pour créer une nouvelle archive, le fonctionnement est similaire:

 tar cyf foo.tar.bz2 fichier1 fichier2 fichier3...repertoire1 repertoire2...

Voici la correction:

*** tar.c       Thu Jun 11 00:09:23 1998
--- tar.c.new   Thu Jun 11 00:14:24 1998
***************
*** 196,201 ****
--- 196,203 ----
    {"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, &amp;checkpoint_option, 1},
    {"compare", no_argument, NULL, 'd'},
***************
*** 372,377 ****
--- 374,380 ----
                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)
--- 451,457 ----
     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 ****
--- 808,817 ----
        case 'X':
        exclude_option = 1;
        add_exclude_file (optarg);
+       break;
+ 
+       case 'y':
+       set_use_compress_program_option ("bzip2");
        break;
  
        case 'z':


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre