Introduction
L’analyse de journaux d’activité volumineux archivés au format .bz2 représente un défi courant sous Linux : extraire l’archive sur le disque avant lecture gaspille un temps précieux et sature inutilement l’espace de stockage. L’utilitaire bzless résout élégamment ce problème en offrant une navigation paginée directe au sein des flux compressés, sans nécessiter d’étape préalable d’extraction. Ce tutoriel détaille la prise en main de bzless, ses options d’indexation, la recherche textuelle ainsi que ses synergies avec d’autres outils de la suite bzip2 en production.
1. Vérification des prérequis bzip2 et génération d’une archive de test
Avant d’exploiter la commande bzless, assurons-nous que l’utilitaire est bien présent sur le système hôte, ou installons le paquet bzip2 via le gestionnaire APT si nécessaire.

Afin d’alimenter notre cas pratique, initialisons un jeu de données simulant des traces applicatives à l’aide de l’instruction echo pour générer le fichier app_server.log.

Compressons ensuite notre journal en créant l’archive app_server.log.bz2. L’utilisation du paramètre -k avec bzip2 -k app_server.log garantit la préservation du fichier source non compressé sur le disque.

Un simple appel à ls -lh app_server.log.bz2 permet de valider la création de l’archive et d’observer le gain d’espace réalisé.

2. Consultation interactive des flux compressés via bzless
L’exécution de bzless app_server.log.bz2 ouvre immédiatement le contenu de l’archive à l’écran, s’affranchissant totalement d’une phase de décompression manuelle préalable.
Reposant sur le téléscripteur moderne less, l’outil permet de faire défiler le texte avec fluidité à l’aide de la barre d’espace ou des touches directionnelles. Il suffit d’appuyer sur la touche q pour clore la session et revenir au terminal.

3. Numérotation des lignes et filtrage par motif de recherche
Pour faciliter le diagnostic d’incidents, la commande bzless -N app_server.log.bz2 insère un repère numérique en début de chaque ligne.
Ce préfixe fourni par l’indicateur -N s’avère précieux lors du dépouillement de volumineux fichiers de logs pour situer l’apparition exacte d’un événement critique.
Directement depuis l’interface de visualisation, l’administrateur peut initier une recherche de motif en saisissant /terme (par exemple /ERROR). La navigation vers les occurrences suivantes ou précédentes s’effectue ensuite intuitivement avec les touches n et N.

4. Panorama pratique : articulation entre bzless, bzgrep et bzcat
Lorsque l’objectif se limite à cibler des alertes spécifiques, bzgrep "ERROR" app_server.log.bz2 isole à la volée les lignes pertinentes sans déballer l’archive complète.
Cette approche évite le chargement superflu de mégaoctets de données lorsqu’une simple vérification de présence d’anomalies suffit.

De son côté, la commande bzcat app_server.log.bz2 | head -n 2 décompresse le flux textuel vers la sortie standard, permettant au pipeline (|) de n’en retenir que les deux premières lignes.
Contrairement à l’interactivité plein écran propre à bzless, bzcat émet un flux continu idéalement adapté aux pipelines Unix et aux scripts d’automatisation associant head, grep ou encore awk.

Vous disposez désormais des réflexes essentiels pour auditer rapidement des archives .bz2 sur Ubuntu sans encombrer vos partitions.
Intégrez bzless à vos habitudes d’administration pour inspecter instantanément vos historiques compressés avec un maximum d’efficacité.